"Space Shooter Alpha" - Artist Statement

Granted, the name of this game is fairly unimaginative, but it works for the moment while it's in the alpha stage of development. If you're not familiar with the term "alpha", it's the software that's developed before reaching the beta stage. Typically, beta-software is tested by people outside of the organization, while alpha software is internal to the organization. So, given that, why am I sticking it on the website?

Well, first it is a prototype. This is my first heavy attempt at user interaction with games in flash. So, as you can imagine, the next evolution of this game will turn out to be much better in terms of code, graphics, and gameplay. As for not sticking a "beta" tag on it, there are two reasons. One, it was a prototype as I was trying out some new techniques. Two, with this whole "Web 2.0" movement, the "beta" tag is getting slapped on anything and everything as a mark of "coolness". This game isn't there yet.

So, what is there? As you can see, there's a ship you play as, which shoots bursts of lasers. Getting this to work reasonably well was actually quite tricky. You don't want a single, steady stream of laser-fire; otherwise it wouldn't be a challenge. So limiting the stream took some creative thinking.

The other nice feature is the ability to have more than one life before the game ends. You're given 3 to start with, so you can die a total of 4 times. I had some fun making the re-spawn effect of the player's ship, which fades in and flickers. During this time, the ship is invulnerable so the player can get their barrings and get the ship resituated where they want it on the screen.

The other feature you usually find in standard top or side-scrolling shooters is the ability to pick up power-ups. In this version of the game, there are 3 distinct power-ups. The red square power-up increases the burst-rate of fire of the lasers by one blast (up to a certain point). It also awards the player 50 points for picking it up.

The yellow square power-up activates the missile weapon. If you watch the ship the first time it gets picked up, you'll notice the missile launcher appear on the ship. I'm rather pleased with the way I was able to do that. It was much better than sticking on another piece to the ship haphazardly and also shows the player that they "unlocked" something. Like the laser power-up, the missile power-up increases the burst-rate of fire (after activation) and awards 50 points.

The white circular power-up gives and extra life to the player if they died at least once already, and if not, awards the player an extra 5000 points for staying alive.

All of these power-ups appear according to probabilities. When enemies are destroyed, power-ups appear 70% of the time. Of that, the laser power-up appears 60% of the time, the missile power-up 30%, and the life power-up 10%.

The next thing I worked on after all that core functionality was the intro screen. While it only took a few minutes, I'd have to say it probably the effect looks the best out of everything else in the game.

After finished that, I realized that with only have the one enemy ship (and not a very creative one at that since I only intended it as a placeholder), there needed to be a bit more of a challenge to warrant the increasingly powerful weapons. While I would've liked to implement health bars, that would've been too time consuming and the current code isn't modular enough to set that up easily (but, I may do that for the next iteration of the game). Anyway, my quick solution was to add an additional enemy ever 2000 points. The code behind the simple concept was actually a bit trickier to come up with than I originally thought. But, it was only a small challenge and as you can see, it works fine.

The funny thing about this feature is that when I first tested it, the screen got dumped on with about 200 enemies, which increased with every frame. It was rather amusing to see a wall of enemy ships come out like that. Anyway once I got rid of the modulo operator for determining when to add a new ship (and made an allowance for when the score was 0), everything worked fine.

As you can see, in terms of functionality, this game works pretty well for an experiment. It took me roughly 3 full days total to finish it, and I can certainly say I learned a lot about interactive flash games and object collisions.

~ Adam Deutschmann, June 2007