Maybe it’s that I have a natural curiosity, or maybe it’s that I have a voracious appetite for knowledge. Actually, it may just be that I’m a computer science major and this behind the scenes look at Xbox LIVE achievements on the Xbox Engineering Blog has just enough technical talk and insight on supporting the entire notion of achievements that I can’t help but be intrigued.
In this particular post, Vince Curley, an Xbox LIVE and platform architect (the first developer ever to work on the achievement system, actually), tells all about how developers get achievements into their games and how your system and the Xbox servers maintain your gamer profile.
In the 360 game development kit (GDK), there’s a tool called the Xbox LIVE Authoring and Submission Tool, or what they call the XLAST. This tool takes the pertinent game information and writes it to an XML file, which then has to go through another tool that verifies the XMl structure and game rules like the minimum and maximum number of achievements in games (five to fifty in retail games, if you were wondering) and Gamerscore awards and the like.
Here’s where it gets wonderfully technical in that if the XML file passes through the checks successfully, a C++ header file and a SPA (statistics, presence, and achievements) file that gets included in the linking stage of the code compilation process. Here’s a neat little diagram that sums it up pretty well:
Awesome, right? Vince is even kind enough to include what some achievement code looks like, so head over to the Xbox Engineering Blog to read the full post. The ending also has a nice little treat with a link to the Xbox toast noise. Hello new SMS tone!