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#.
Advertisement
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.
Do you agree?
Have your say on this article