Wednesday, March 18, 2009

Greetings!

Greetings!

This blog will chronicle my adventures in writing an ambitious game in Microsoft's XNA game development platform using C#. I am not new to programming, I've been doing it for two decades now, nor am I new to game programming or 3D engines. Though I haven't used DirectX regularly I fondly remember getting my DirectX 3 Beta CD and more recently I wrote a 3D screen-saver using DirectX 9 and the Open Dynamics physics engine in C++.

So, while C# and XNA are new to me, I'm not anticipating any large challenges in learning the basic technologies involved. I'm sure there will be plenty of challenges involving everything else.

The game idea involves a top down view into a 3D world where you steer a ship over rough (height mapped) terrain avoiding getting destroyed, and maybe shooting things. I haven't decided if the player will get guns yet. “Real” physics will be used to have objects interact in the game world. There are other details, but that's enough to get started with.

So, where to start? I fairly painlessly installed C# Express and the XNA Game Studio which was nice. The C# startup tabs news window always tells me “The current news channel might not be a valid RSS feed...” with instructions on how to change it. But the Options item the instructions refer to doesn't exist. I think another daily dose of Microsoft news is something I can struggle on without.

There are a number of samples, tutorials and Game Templates designed to get you started and well on your way to a functioning game. I poked around and downloaded, installed a number of samples to see what was possible and how complex it seemed. Everything looks pretty good, an interesting blend of power and simplicity. Always a dangerous mix. We'll see how this hold up once I start digging around under the hood.

I decided cut my teeth on the simplest tutorial, the “Your First Game: Microsoft XNA Game Studio in 2D” one in the XNA documentation. Pretty simple, went pretty smoothly. I've now created a game project, added an asset (a JPEG of Dr. Orpheus from “The Venture Bros.”) loaded the asset and have it bouncing around on the screen. Pretty much everything to need to create a simple game (well, besides input... and sound).

On to something more complex. I've determined that the Spacewar game template (I guess they're calling them Starter Kits now?) has what I need in it. While it bills itself as 2D the Evolved mode actually renders in a 3D top down mode which is exactly what I'm looking for. However there are a number of things I don't like about it (the code is kind of a mess actually), so rather than starting my game on top of the Spacewar code-base I'm going to start my own projects and copy over the bits of Spacewar I like.

Next up: Into the code!

1 comment:

  1. Woo woo you did it now I am looking forward to code part ..

    ReplyDelete