January 12, 2008

Commentary: M.E.H.

M.E.H. is my the last game that I made in high school. It's available for download from TJGames.org.

The initials, I should note, don't stand for anything. Or, more accurately, they stand for something different every time you open up the game.

The game is a top-down shoot-em-up. Players choose a set of enemies, who are worth a certain bounty, and then destroy them. The resulting money can be used to upgrade the ship.

I had a number of goals when I made M.E.H., and now that I'm old and wise I think that it's high time I reflect on these. The primary reason I made M.E.H. was to continue practicing programming in Java. I certainly got better and learned a lot, but I can also state fairly conclusively that the programming is extremely sloppy. I promised some friends that I'd have it done by a certain date, so I ended up experiencing my first "crunch time", which lasted for two days. I hope that nobody ever sees the menu code that I made during that time. It's hideous.

But I also wanted to accomplish specific things from the design front as well. I've always loved customization in games, as in the Armored Core series. I wanted people to be able to upgrade along any one of several parallel paths. So for instance, I offered hulls that were slow and powerful as well as hulls that were fast and light as well as hulls that were balanced, and there were two levels (cheap and expensive) of each. I did the same with weapons and generators (whose energy was necessary to power both movement and shooting). The item choice became the game's strength; customizing the ship in different ways was most of the fun for me.

The enemies I created were also varied. There were four types: the weak, dumb, common enemies that would stop in place to shoot you, the fast and agile enemies that would swoop down upon you and then run away, the powerful but weak enemies that would snipe from a distance, and the large and slow enemies that fired a constant spread of shots. I was immensely satisfied with how the AI turned out, especially on the agile enemies. They behaved just like I wanted them to.

Unfortunately, all of this didn't make the game fun. It's pretty good for an amateur attempt, but not objectively good. The problem came with player control. Moving fast was the best way to evade enemy shots, and so the best tactic was to continuously charge forward, occasionally turning. Aiming and energy conservation were a bit too hard, and I found these tough to balance. The best strategy was to get the fastest hull and the spread weapon and just spam all over the map. It was fun to play with the customizations for a short while, but the gameplay wasn't there to back it up.

Perhaps with a bit more perspective and time, I could have fixed the balance issues (the charged shot weapon, for instance, was never a good choice) and made gameplay a bit more strategic or skill-based. Instead, I pushed it out the door.

For a high school game, I'm satisfied with how M.E.H. turned out, but it's not something I plan to hold up as evidence of my skill.

No comments: