Asteroids as Survival Horror?

A while ago, when I was taking a Design Patterns course at NetObjectives, the instructor (my friend and former co-worker Rod Claar) told me about a student of his who was writing a simple asteroids game as a way to learn OO concepts. Apparently, this student was an experienced and talented programmer who had done good work in procedural languages for years, and just needed a toy project to wrap his head around polymorphism, design patterns, and other OO concepts.

That seemed like such a good idea, I decided to do it myself. While I was already familiar with OO basics, I was learning more about patterns, and I wanted a chance to use some of the new langauge features in C# 2.0 (generics mostly) as well as Managed DirectX (which I wound up only using for keyboard input, the graphics are all GDI+.

I like to say that I re-imagined asteroids as a survival horror game, but that's a bit of an overstatement. I really just added a simple "fog of war" in that you can only see the asteroids that are close to you. It does change the dynamic of the game, though because now you actually have to go out and look for the asteroids instead of just sitting in the middle and spinning around, which is how I always played the original.

The other change that I made was leaving out the flying saucer. In researching the original (which included tracking down and playing an original arcade model) I found that the flying saucer was an afterthought, just a mechanism to keep people from hogging the machine all day with one quarter. That's why the flying saucer not only shoots at you, it shoots at the last remaining asteroid, to force you to progress into more dangerous territory. Now that the forces are different, and nobody is paying by the quarter (or at all, for that matter), the flying saucer is irrelevant.

If you're interested in downloading and playing it, you can grab the installer here. It requires both DirectX the .NET famework 2.0 to be installed.

Back to main web site