I’ve been meaning to write a post about XNA for quite a while now. I mean, “XNA Game Studio Express”, ably managed by ex-C#-PM Joe. I was waiting until I did something useful with it, but that apparently is going to be a while…
I’ve never written games professionally, but I’ve written a few hobby games or demos in my time. A lunar lander written in Apple II BASIC (with a custom controller box hooked to the paddle port…). A multi-user networked version of SpaceWar! that ran on VMS workstations. A gravity-based collision demos that has run on OS2, VMS, and various flavors of Windows.
But I’ve never gotten into DirectX, because of the learning curve.
XNA has changed that. While you still need to learn the way DirectX deals with things – a way that is very, very different from the way GDI and GDI+ view the world – the basic game framework is there, and it’s fairly easy to get a 2D-based game up and running. 3D is going to require you to learn about textures, quads, shaders, and a bit more stuff, but it’s still fairly straightforward.
XNA itself is free for download. Unfortunately, though, it’s built on C# Express, which means if you already have VS installed on your system, you need a separate install. Luckily, it’s not the size of VS.
Perhaps the coolest part of XNA is that you can build a game, download it to your Xbox 360, and run it. I expect that is going to change the gaming landscape in some interesting ways, since nobody has allowed that on a mainline console (there are some small console gaming systems where you can write your own games…)