So... I programmed a game in less than 72 hours. It's totally playable and, dare I say... decent. I was recruited for this Ludum Dare by the one and only UndergroundPixel at almost the last possible minute and we quickly got to work. The theme was evolution and our idea was simple: You are a monster that drops bombs that kill other monsters that you then eat to evolve. I honestly expected that we would come up with something more complex and slim it down as we ran out of time, but we genuinely delieverd on our original idea. Probably a result of starting with something so simple.
The first thing I set out to do was create some really solid 8-direction controls with basic acceleration, deceleration, and smoothing. Some people might disagree with this decision in an attempt to retain the "retro" feel of the game, but I wanted it to feel more deliberate and not just a thrown together binary system. I spent probably the first couple hours getting it just right, though that is more a result of my very basic programming skills.
After that I quickly adapted some of the movement code for the first enemy AI. I spent a TON of time getting the little orange guy just right. We wanted him to have a certain amount of random motion, but at the same time we wanted him to pursue you if you got too close. To acheive this I gave him a small radius in which he is more "attracted" to you. Otherwise he moves with trajectories of varying degree, reorienting himself in your general direction after hitting walls. The key was making him somewhat unpredictable so that even in later levels he might pose a challege among large numbers of enemies.
When I was finally happy with the little orange guy I started iterating on him to create big red and the croc man. With big red I made him much more aggressive and accurate. To counter act that difficulty increase I made him stop every few seconds and get "angry", stomping up and down... a chance to prepare yourself for his next charge. With croc man I just turned that following behavior up as close to 11 as I could while still making him defeatable.
To mix up those enemies a bit I threw in some more standard fare. Some random 4-directional movers and random vector movers (purple slug and pink slug). The bouncing ghost was going to have a more fluid bouncing motion, but I kind of ran out of time with him and he just became a 4-direction mover with periodic pauses. Oh well.
After all the movement was done I played around with the spawning rates to get a decent difficulty curve, but all of that ended up being tied directly to your "evolution" level. The spawn rates go up if you are doing well (evolving) and go down if you are doing poorly (devolving). The challenge then is to work your way up to the highest evolution level (50 meat) in the shortest time possible. I really like the way this turned out because you can never really lose, you only get set back from your end goal. I think the best time I ever managed was about 145 seconds.
The animations for the evolutions caused me some considerable headache later in the process, but I eventually got things straightened out. I topped things off with the bomb mechanic which I knew would be simple to do from my experience doing the remote bombs in Protobotic (which will hopefully be out soon). After that it was just minor graphical polish (the moving crowd, start and end screens, and enemy animations) and we were at the finish line. There was one bug at the last minute that made you unable to restart the game after completing one round, but we pushed through it and made the deadline without stressing too much.
There have been some great suggestions after posting the game including having ranged enemies, powerups, and leaderboards; but the truth is that we purposely avoided those things from the beginning so as not to get bogged down. We acheived our goals and now we might actually take some time to flesh out some of those suggestions.