Our Development Environment

By now, you have probably seen many interviews in the gaming press that laud the environment Xbox development kits provide for building games: many studios such as id software now use it as their primary development environment for their next generation projects.

Microsoft brings a lot to the table in the area of software engineering.  The standard development environment at Microsoft has evolved since Visual Studio was started, to the point where it is relatively easy to retarget the environment to another platform.  The Xbox development environment resembles the Windows environment pretty closely.  We start with Visual Studio and add custom things such as our own compiler, build tools, debugger plugins, etc.  A lot of our separate content tools also provide integration into Visual Studio as well as other build systems to provide our developers with the flexibility they need to make games.  In fact, this has been so critical to our success, the XNA initiative is ramping up to make developers' lives even easier.

The software on the development kits we have internally and that we give to our partners is a little different from the software you have on your console at home.  It has a lot of code to help with debugging many components of the system.  We also have the ability to use an Xbox-specific version of the kernel debugger you find on Windows.

Webuild the Xbox system software the same way much other software is built at Microsoft.  A new version of the system software is built every day, which keeps turnaround time on bugs and issues down.  We update the development environment we give to our development partners every month (the so-called Xbox Development Kit, or XDK).  Finally, we update the software consumers' consoles have every once in a while, which is mostly determined by upcoming features, fixes to user issues, etc.

Unfortunately, a lot of the details of our software environment are under NDA, since things like XNA are a huge advantage for Microsoft.  Post your questions in the comments and I'll see if I can answer them.