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.


 


Comments (13)

  1. Nick says:

    Is C# (as we know and love it on the Windows platform) a language choice when developing Xbox 360 titles? If not, are there any plans to add support for it? I’m not asking if full retail games can be programmed in C#; as it stands, the managed version of DirectX isn’t quite on that level yet so I wouldn’t expect managed libraries for the Xbox 360 to be beyond that level (yet). I am asking, however, if C# can be used for Xbox Live Arcade titles.

    It would seem that C# support and managed libraries would fit very well into the XNA vision. With C# and MDX being two tools that can greatly simplify and speed up development, it seems like a match made in heaven. Also, the cross-platform compatibility would be a dream come true for developers working on titles PC-side first to get authorization to sell the game via XBLA.

    I think there are a LOT of indie developers out here who definitely want to hear a "yes" or "no" from Microsoft on C# support and managed library support for the Xbox 360.

    Thanks for reading,

    Nick

  2. Lex says:

    Interesting I was going to ask the exact same question… in fact I left some product feedback to that end a while back.

    A build of MDX for 360, some isolated storage and maybe a indie section of Live Arcade would be amazing. Look at the success of NewGrounds etc… these sort of disposable sketchware games (disposable, quick fad based) have been the preserve of Flash sites for a long time – it’d be great to see this work on the 360 (much like the public sdk that Sony put out for the PS1 but with more realistic goals).

    Some little applications based on Live services would be fantastic too. But realistically could a limited MDX plugin targetting the 360 be released? Perhaps as addon to c# Express? Or Studio proper?

    I’d even suffer the pain of burning a disc between builds to try it out. Though my thought was that like the developer program Xbox.com has; Live Arcade could have a website where you’re indie game/app builds could be uploaded (perhaps on a release build) then a dev disc on you 360 would allow you to run it from your servers thus giving you more control and less avenues for the system to be abused.

    Going back to the original article tho’ what is the majority of development on the XDK going on to now? New features, better examples/framework code, performance?

    Here’s a tip; some devs seem to be having problems with Live lobbies (*cough*COD2/Outfit*cough*) and team/clan support (*cough*EVERYONE*cough*) so maybe you should add few unbranded examples to your XDK 😉

    Sorry to go on so long, cheers,

    Lex

  3. InsaneBastard says:

    Nice to see a post. 🙂 We have missed any action in your blog 😉

    Could you desribe as far as you can, without violating your NDA of course, or use too many buzzwords ;-), what kind of advantages XNA gives the developers?

    How does it help to streamline the developing process?

  4. Sinistar says:

    There is some unrest with the release of GR:AW regarding the likelihood that the PC release of the game will pale graphically in comparison to the 360 release.

    In your experience with developers, is this discrepancy in visual quality a function of differences between the 360 and PC platforms at some inherent code level?  Or are there other barriers (finances, timelines) that result in different experiences on the PC?

  5. Brent says:

    Always fun to see a post like this, but still too vague. How about a day-in-the-life type post? Work through the evolution of adding a feature and how you choose what to add to the XDK?

  6. digiguru says:

    Thanks for the post, most interesting.

  7. David says:

    Good to see some more ppl asking about C# support on the Xbox360.

    I went to a XNA presentation at TechEd in Australia, and I asked the same question.

    I got a generic "Microsoft is currently looking into it and will take direction from developers, blah blah"

  8. Joe says:

    We’re in the midst of negotiations with a publisher to do a couple Live Arcade titles.  Assuming we land a deal, and the publisher gets them OK’d by MS as I know they have to, what do we then do to get an NDA signed with MS and get the dev setup we need to build our titles? (conversions from PC actually)

  9. Anonymous says:

    .NET CF on the Xbox 360… As blogged by Mike Zintel…

    http://blogs.msdn.com/mikezintel/archive/2006/03/14/550958.aspx

  10. Xbox Team says:

    Sorry for the hiatus – lots going on in Xbox-land, what with GDC going on and all our projects are moving…

  11. mulhall says:

    Hi,

    Any idea where to start with developing an additional service for Live users?

    Cheers!

  12. Brandon says:

    Is there anyways to obtain a licensed original Xbox development Kit? What are the requirements to obtain one?