Friday, September 01, 2006

XNA: A new start for C# and gaming?

So today Microsoft released a beta of their new XNA framework and development environmnet for developing games. Basically XNA is a C#-only, and essentially what was managed DirectX but just tarted up a bit, and importantly for some, will allow for decent homebrew development on the Xbox360.

I had a look at the game compeonent video on the XNA MSDN blog and I must say, I'm pretty interested in how this is going to turn out - the game components is a pretty logical way to do things considering the whole OO thing for .NET. Check out the 15 minute video - its pretty convincing stuff from a simple point of view. Unfortuneately, there aren't really any components available yet - I thought the ones in the video were kinda like "generic" ones included but they aren't which is pretty disappointing. But I am pretty sure this is going to really take off.

Easy-Peasy Game Engines?

Just thinking about it a bit, using the game components its going to be really easy to more or less "throw together" a game engine. Based on what I've seen so far it seems like this sort of thing will be pretty easy. Consider if you have these components to play with:
  • A component to load in and manage your meshes
  • A component to load in and manage your BSP maps or maybe some terrain (it wont matter to anything else which you chose because its all abstracted away)
  • A component to deal with input and player views (first/third person etc - again abstracted away so it wont matter)
  • A component to do the physics for it all without you even doing anything.
Suddenly you have the basis for an entire game engine right there in a really tightly integrated OO manner. All you'd need to do is stick in your game logic and sounds, gui etc and you are well on your way to having your game working.

At the moment there dont seem to be many components available, but I am sure that will change rapidly. Its pretty exciting in a way, and I'm not even into games that much!

I really liked the way .NET really "organised" everything with the class library and did away with so much boiler plate code - it looks like Microsoft have done the same thing with DirectX now. There seems to be a real stigma with performance for managed stuff, but I guess we'll see in time how fast or slow this really is.

No comments: