My first ludum dare, my first post mortem. What an amazing experience this was! I had an absolute blast and can’t wait to do this again, though it might be a while before I’ll be able to find the free time. Also wanted to say that I love all your feedback. Thanks for trying my game and leaving comments.
http://www.ludumdare.com/compo/ludum-dare-19/?action=preview&uid=2925
What went right:
I made a game! – About 10 work hours in, I realized that if it wasn’t for the competition, this was precisely the moment when I’d normally stop on a hobby project and leave it unfinished forever. I am so glad for the external pressure. Thanks, Grandmaster Ludum Dare!
20×20 and the 1 screen game – I am a programmer, no arguing it. This means I’m not an artist. Limiting my assets to teeny pixels really helped keep those limitations from being the focal point of the game. Not to mention I saved sooooo much time by not having to deal with mechanics like paging, scrolling and camera.
Design Up Front – I’d decided that I was going to spend two hours designing on paper before I wrote any code. This was tremendous. I managed to go through several crappy designs
No Level Design – I’m a huge fan of Lost Garden. If you’ve never read it, it’s one of the best design blogs I know of. Anyway, I’ve really been convinced to push for ‘evergreen design’, that is, design that can be played forever, not driven by ‘once through’ content. Besides, I’m not a very good level designer. It was really hard to shut off all the possibilities of level based games from my design thinking, but in the end it was worth it.
Polish Last – I tried really hard to keep myself on task and spend my effort on mechanical completeness more than anything else. Probably 75% of my polish came in the last hour of the competition. I’m pretty sure that if I’d tried to polish each mechanic and feature I’d have never finished at all.
Making lists – Each night I would make lists of all the features I needed to implement next. This really helped me keep priorities focused and not to go down the rabbit hole on anything.
Lucky Tuning – I am so lucky my game is playable. The tuning was all guesswork and I didn’t even get to play it more than 2 minutes before submitting. It’s actually not bad!
Skip Audio – Yes it’s nice, but a playable game seems nicer.
What went wrong:
Time – I had planned to only work about 20 hours in this competition. I have a family and also my sister and brother-in-law were in from out of town, so I was expecting fairly limited constraints. That being said, I had even less time than that. By the end of the first day, my game wasn’t even mechanically complete and I was feeling pretty low. The last day I slept in accidentally and only managed to get 3 hours in between everything that was going on
Last Minute Purpose– Even with my design up front, I still had no idea what the purpose of the game was until the last hour. Discover the green planets is what I came up with. Funny that I didn’t think of a goal related to discovering until the end. I tend to get a bit ‘mechanics focused’ as a designer. This was very risky.
Shops are so complicated – I went through three iterations on the architecture for my in-game store before finally getting it right. It was terrifying and took up at least a third of the total competition. The end result was the ability to arbitrarily upgrade statistics on the player object, but it took way too much time to get there.
Chopping Block – Some things didn’t happen. Pink planets are completely pointless, which is so frustrating because they are huge and at the fringe of the galaxy and you just want them to be awesome. Lots of stuff just didn’t make it.
Lack of feedback – Every time I watch someone play my game I cringe a little. They understand the game, but there’s just not enough feedback to keep them from making silly mistakes or getting stuck unnecessarily. The vast majority of the feedback that’s there went in during the last 20 minutes of the competition.
Need more Engine – This was my first time ever working with HTML5 and canvas. I spent about 3 days building up some really basic example code for drawing things, handling input and preloading images. Wow I really wish I had spent more time building up a library for this. Particularly for UI elements like text controls, popup windows, etc. I sunk so much time making quick hacky versions of what was essentially library code that could have been spent on the game instead. Next time I’ll be more prepared.
What’s Next:
There’s so much more I could do to make this game awesome. Here are some of my plans:
Better UI – More than anything else, the game just needs better feedback. Tell you when you’re running out of fuel or armor more clearly, show tooltips on all the things in the world, give you enemy stats before you get in a fight, tell you the resources a planet has to offer, better rollover highlighting. Infinite time can go here.
The Money Game – Credits should only drop from enemy ships and never from planets, changing the money game dramatically and giving you more reasons to hunt down enemies and fight.
Resource Distribution – Create variations of the green planets that drop different resources instead of all planets dropping all resources. I want you to have to hunt for the resource you want to get the upgrade you’re targeting
Tuning – The resource tuning is probably a bit high, especially around the edges of the galaxy
Audio – Learn how to do audio in HTML5 and add audio to the game.