Game Development
Combat StarZone
Before I try to teach anyone how to program, I always begin with an actual project designed to fit both a goal and my own passion for creation. Ever since Star Trek TNG, I've loved space. This has carried on into my game programming. I've learned to code Asteroids, Space Invaders, and this game is another long those lines. The game I used to play that has inspired Combat StarZone is Starship Command an old game on the BBC Master. For those of you who never played it, or for those of you who do remember it here's a nostalgic video of that game.
The difference between ripping off a game, and being in inspired by a game, is very simple. You have to write a game as you'd like to play one, or do some market research and find out what your customers want. Directly ripping off every single aspect of a game from it's general gameplay, style and theme isn't acceptable no matter how much you love it.
So whenever I start out on a nostalgic inspired game I'm very careful to create something unique, to introduce plenty of my own ideas, from story concept, to in game systems.
This bore Combat StarZone, the basic principle is the same, you fly around space and shoot stuff. But hey, you can say that about almost everything, 90% of games are running around something shooting stuff. The biggest aspect of Starship Command I wanted to capture was the sense of size. I didn't want to put up artificial barriers that slap the player in the face. Hitting the edge of a playable zone and having to turn back always slams me out of the fantasy. This is reflected in my choice of game that I played growing up. Starship command, Elite, Elite Frontier, and many others. They all give you an amazing sense of freedom.
At the same time I wanted to introduce some kind of physics into my game. I'm not talking bouncing balls, but just enough to inspire imagination. For example, what happens when you fly at the speed of light and try to shoot a laser in front of you? Simply put the laser will travel and the same speed as you. In this game as you speed up, you can catch up with your own laser fire. I've set the maximum ship speed to around 0.75 of C, and the lasers I took a little liberty with by setting them to 0.85 of C. But hey it's a sci-fi game not a sci-fact game. It's just enough to inspire imagination while maintaining the effect I wanted.
What else makes up a starship? Power generation is the first thing that comes to mind, all ships will have a finite amount of power. I am a star trek fan so I've mixed a little of that in there, generators produce a steady output of power, and batteries store the surplus. The ships weapons, shields and engines all running at the same time exceed the amount of power generated, so they draw on the main battery reserve. The longer you run at full power the faster your battery will fail, having said that if you fly less fast, shoot less often and don't get your shields pounded then your generators will recharge your shield batteries and main batteries pretty quick. However if you use them moderately, then you're recharge will be that much slower.
This is what starships commanders do, the manage their hardware, they make the decisions. Should I expend a ton of energy constantly engaging? Rack up the points and die? Or employ a hit and run system that's a bit slow, but safer, or should I mix the two, go in for a prolonged engagement, run myself to the wall and run ahead of them suffering a slower recharge rate? It's all about giving the player real time decisions to make.