Developing Applications for the XBOX

What are your options?

So you want to develop games for the XBOX? Well, the official, sanctioned method is to apply to Microsoft for an XBOX Development Kit (XDK). However, be warned, it seems that they are quite picky as to who they would like developing games for their XBOX. In addition to costing several thousands of dollars, you also need to justify how many copies you expect to sell, and eventually when you are finished, Microsoft has to sign it with their private key so that it will run on unmodified retail XBOXs.

So, what are your alternatives? As far as I know, there is no way to develop an XBOX application that will run on an unmodded XBOX. If you are content to require a modded XBOX, you have a couple of options:

What exactly is OpenXDK?

OpenXDK is a development kit that can be used to build XBOX applications. Unfortunately, because the Microsoft dashboard will only launch signed applications, it means that OpenXDK applications can only be run on modified XBOXs. Such is life!

The current incantation is a port of the original OpenXDK that can be compiled using the GNU tools (gcc, ld, make, etc). There is no way that it could exist without the awesome work of Caustik's original MS-compilable OpenXDK, and in fact, much of the current codebase is almost directly copied from the original OpenXDK source hierarchy. Originally, I planned to port OpenXDK and have it being able to be compiled using either the MS or GNU toolchains. However, it became obvious that there were too many differences between the way the two worked. In particular, one thing I wanted to do, was provide a much richer libc replacement and I wanted to use the newlib library to do so. The newlib library was designed to act as a portable, feature-rich libc replacement for embedded environments. To my mind, the XBOX is a merely very feature-rich embedded environment, so newlib seemed like an excellent candidate. However, this pretty much ruled out keeping the MS and GNU kits in the same source hierarchy. If you want to compile using Microsoft VC++ or .NET, you will have to use the original OpenXDK (which appears to have stalled), or look elsewhere. Sorry!

These pages are intended as a bit of a chronicle of my endeavours in getting the ported OpenXDK off the ground. It describes some of my decisions, what I learnt, and what I have planned. It does assume that you are a reasonably technical person and have a bit of clue as to executables, DLLs, libraries, etc.


Back to Home Page