Microsoft has kick-started hobbyist game development with its free XNA Game Studio Express. XNA is a .Net Framework class library focused on game development. It is a wrapper for DirectX – the multimedia API which is implemented on both Windows and the Xbox 360.
Using XNA, you can target both Windows and the Xbox 360 easily, although deploying to an Xbox is tricky. There is also a high-end XNA Studio product aimed at game development studios, but Express enables the rest of us to play as well. Despite the multilanguage support in .Net, the only supported language for XNA is C#.
Given that .Net applications tend to be slower than their native code equivalents, XNA may seem a strange choice for game development. On the other hand, .Net applications do compile to native code at runtime, so excellent performance should be possible. The trade-off is that XNA is great for productivity. It also gives you a legal and supported way to try out your code on the Xbox 360 console; something previously impossible for hobbyist developers.
Garage Games, which makes the Torque Game Engine and other tools for game developers, is porting many of its libraries to XNA. It also claims to have ported its successful Xbox Live Arcade title, Marble Blast Ultra, to XNA without ill effect, demonstrating that performance is at least good enough.
Modern game development is often compared with making a movie, with all the expense and complexity that suggests. Clearly something like Half-Life or Grand Theft Auto is beyond the grasp of any individual, let alone a part-timer. Fortunately, the mood of the industry is changing.
The most successful aspect of the Xbox 360’s chequered launch has not been the big-budget titles, but low-budget, highly playable offerings on the Xbox Live Arcade. Some of these are puzzle games that are not particularly complex to code.
Another sign of the times is that Nintendo’s family-friendly DS handheld has been more successful than Sony’s more powerful Playstation Portable. Creative, fun ideas count for more than the ultimate in pixel-pushing power, so there is no reason to hold back from having a go.
It is easy to target Windows with XNA, but how do you run your game on an Xbox 360? This is impossible with the beta release, since Microsoft says it will not risk beta code on its console.
In the final release, you will be able to sign up for a Game Studio Express subscription at what Microsoft describes as a “nominal cost”. Then you can create projects that target the Xbox 360 and download them to a network-attached console for testing. This requires an Xbox 360 with a hard drive. You will be able to use remote debugging in the same way as for Windows Mobile devices.
Sharing binary executables with other Xbox 360 owners is prohibited. To share your game you have to distribute the source code to other XNA Game Studio Express users. That is far from ideal, especially if you want to make money from your game, but the situation may change in future. The other option is to upgrade to XNA Game Studio Professional, to be released next year, which will allow you to submit titles to Microsoft to be certified for commercial release.
XNA Game Studio Express is the easiest DirectX framework yet, but it is not a drag-and-drop visual game development tool. It is code-oriented, and you are going to need graphical and mathematical skills to make the most of it.
Given the target market, some will find that disappointing, but there is nothing to stop third parties such as Garage Games from providing tools that use the underlying framework.
All GamesTags: Visual Programming, XNA
