For many years I’ve wanted to make a game set in the 80’s that literally had Atari fighting against it’s competitors for world domination. Ever since I tried to program my first game in STOS on the Atari ST, the idea of a shooter of this type was firmly embedded in my mind. However, it was not until last year that I had the opportunity to try to make one. I’m not sure why I waited so long. There certainly have been other times when I could have started a game of this type. However it simply never happened. However, last year Mochimedia asked me to write a series of tutorials on how to make a simple Flash game, and I decided it would be a perfect chance to try out the “Atari ” idea. I devised a game named Home Computer Wars: Alpha Mission. In the game you would play a trusty Atari 800 computer. You would battle the likes of TI99, Apple II, Commodore 64 and the IBM PC through 4 years split into 2 levels each (plus a bonus level) and 4 bosses. I hoped this would be both a great tutorial plus a funny and fun game based on Atari’s history. I was wrong. As you will soon find out, the idea was a failure on many levels.
1. Complicated Code Structure
When I decided to make this game as part of a tutorial, it also meant that I wanted to code to be as clean as possible. I’ve always felt that many tutorials on making games are created with “quick” code that leaves out much of the needed structure to make a complete game. My idea was to rectify this situation by making both efficient, and well structured code. This was a my first mistake. In the time and space allotted for a tutorial, I simply could not pull this off. I became much more concerned about the structure of the code than about the game being efficient. It was much easier to explain object oriented design than it was to explain complicated code structure for making efficient games (i.e. Bitmap collision detection). This is not to say that I did not add efficiencies to the code, just that I left out many things that would have made the game better for the sake of getting the tutorials completed.
However, this idea turned on me very early. The object oriented code was not very easy for many first-time F;ash coders to follow. I managed to lose the audience for the tutorials almost out of the gate by relying too much on state machines, design patterns, etc. instead of focusing on the game mechanics. In the end I managed to make some great code for myself, but completely failed in creating an accessible set of tutorials.
2. Holding Back Features
Since I was making the code for a tutorial, I was worried about giving away too many of my ideas and class objects. At the time I was writing the second and third tutorials, I noticed tat many of the games on Mochiads were simple re-skins of engines that already existed on the internet. In some cases the “developers” has not even changes the graphics. They just put their own name on game and re-published it. Because of this, I stripped out some early features because they included code I did not want to give away. Those features included particle explosions, inertia and floating physics for the player’s ship, and a unique bezier curve algorithm for the enemy flight paths. I replaced those things with mundane animated explosions, simple movement, and hard-coded movement patterns. As it turned out, those original features would have added greatly to the final game. I decided instead, to make a sequel that would include these features.
3. Old Technology
Since I’m better at coding in AS2, and I’m more confident talking about it, I chose AS2 for the tutorials. However, this game would have benefited from the speed increases of AS3. The code structure is not far from what would be required for an AS3 game, but I kept it at AS2 to make the lessons easier to understand and easier for me to write confidently. Since I’ve already acknowledged that the lessons were still too complicated, I should have just gone with AS3 to gain benefits for the game, even if it would have taken longer to develop.
4. Not enough Game Balancing
This is a big one. The game is not balanced in a way to make it flow from beginning to end. There are two problems that I needed to address before launch that I left in the final game. The first has to do with the bosses. Since I created a generalized “Enemy” class that included bosses, the bosses adhered to the same rules as other enemies. To simplify the code, when the player died I removed all enemies from the screen to restart the level. When that happened, all the enemies health was restored. This doesn’t work for the bosses, which should retain their damage when the player is restored to the screens. This hurts the game on later levels because it becomes nearly impossible to kill the final bosses. Related to this, I made it so you get an extra ship at every 10,000 points. This works at lower levels, but not higher ones where the points are multiplied and extra ships pile-on. A simple progressive bonus-score would have fixed this where the first extra in 10,000, the next is 11,000 and so on. There are other balance issues as well, but these are the major ones that stand-out.
5. Wrong Idea
I have to admit, at this point, that the “home computer wars” idea was fairly lame for a shooting game. I came up with the idea almost 20 years ago, and I’m not sure that it would have held-water than either. I was too stubborn about my own idea to see that maybe I should have thought of something else.
6. Wrong Audience
I’m not sure what audience I was aiming this game at, but whatever it was, it missed it. I suppose I believed that Atari fans from sites like AtariAge.com and AtariMania.com would find it interesting. However, all of my emails to those sites announcing the game elicited no response. In hind sight, the reason is obvious. People who frequent those sites want to play actual Atari games. They like emulation and new home brew games. They are not interested in a new Flash game that, in some ways, might be seen as making fun of their hobby (even though I was not doing that)..
At the same time, the lions share of the audience for viral Flash games is much too young to even remember Atari. How could I expect them to understand the nuances of the game that basically had old computers shooting at each other? Most of the comments that the game received were along those lines. Either players did not understand it, or they took the game at face value and said it played slowly and was not a great shooter.
7. I.P. Issues
When I tried to get the game out virally, there was a lot of resistance from portals to even displaying it. Some of that was obviously because the game was not “amazing”, but some portals would not feature it because the enemies and player were taken from photos of machines cut from brochures. I had avoided using company logos on purpose, but I did not realize that using these old photos, even though they were originally intended for promotion purposes, would pose a problem. This worried some portals into inaction. In reality, the use of those things probably falls under “fair use”, mostly because they were used to create “parody”, but I was not going to push it. The game itself was not good enough to warrant the effort.
8. Launched Timing
Finally, many of the above problems could have been eliminated if I had just taken my time to finish the game properly. Instead, I based my launch date on the Mochiads contest they were running last March. I raced to finish to have the game included, but in the end it was simply not the right fit for that either. The contest was judged by Gaia Online which is simply not the right audience for the game (see above). I should have saved the game for some sort of “Retro” or “Humor” contest.
Final Tally
In the final tally, the came was accepted by only 10 or so portals on mostly foreign shores. While I love that people in South America, Asia and Europe understand the humor in game where you fight as Atari against the competition better than people in my home country, this did not help that much. The games was only played 16,000 times, which is about 1/50th of nearly all of our other viral games.
In the end, there were some positives that came out of Home Computer Wars Alpha Mission. First of, I have a decent code structure to base further games upon. Even if I don’t make another shooter or the promised sequel using this engine, I can salvage the basic state machine, code organization, and Mochi integration features to use in any new AS2 based game I make in the future. However, the best positive, by far, is that I now have cycled this idea out of my system. I made it, it was not a huge success , but I can now move on to my next idea.
Final Game:
Here is the final game in all it’s cut-down glory.
/games/homewars/homewars_alphamisson.swf
Related links:
Home Computers Wars : Tutorial #1