Well, my first Ludum Dare is finally over. The dust has settled and I finally have regained sanity from sleeping a combined ten hours over two nights. My game, Lost? (spelled with punctuation to differentiate it from the popular television series of the same name), is pretty much a combination of Knytt Stories and Metroid (leaning significantly towards the Knytt Stories side). I’ve learned quite a lot about rapid development here, so I’ll outline it as the fallout has settled.
Let’s talk about what went right, first. While I barely planned out the game (I spent literally five minutes brainstorming the features and part of the game map), it turned out pretty well in the end. Pretty much all of the pieces fell into place in the last five hours pretty nice, and all of the bugs were ironed out within one hour of the competition ending. Every single goal of the game was met to some extent, so I now proclaim my first Ludum Dare a resounding success!
Well, if someone says that their LD entry has gone without problems, they are lying. Developing a game in 48 hours from scratch is not something that is easy. One thing I would have liked to change is the ladder physics. I modeled them off of Mega Man 2, thinking it would be an good example as I have never actually implemented a ladder in a platform game before. Not only did it messy up my beautiful platform code by adding conditional statements everywhere, many people disliked the slow speed of moving up and down ladders, and not being able to jump up while climbing. I would have changed it during the last hour of the competition, but I was unsure how I could make climbing ladders easier but keep them as a challenging game mechanic.
Probably the biggest problem I had with the development was the music. Music is a very important element in the game, but I almost didn’t have it. First my tracker just failed to start up. I had to spend an hour trying to get it to work and trying to find alternatives, but I got it working eventually and made the music all on Sunday. The second problem with it is the tracker I used only saves in very outdated formats. So outdated, in fact, that the module files it saves are pretty much incompatible with modern computers, and the only format that works is Scream Tracker 3 files. Now, only one wrapper exists that can run the required DLLs to play the files, and the wrapper is really, I mean really annoying to work with. It is a pain to stop songs, see which songs are running, and much more. I had to jump through hoops to get it to work out, and I did some things I wouldn’t normally do. For example, when it all came down to the last hour and I had trouble getting the sound to stop after beating the game, I pretty much gave up, so whenever the game ends, the DLL is unloaded, the entire game restarts, and then the DLL is reloaded.
Lastly, I would have loved to have more time with areas and just simply planned the map out better. The game only has four areas when I originally planned to have at least five. The water area was removed as I didn’t have enough time to expand the already overcomplicated physics code to handle the changes in movement whilst submerged. Another unintended consequence of my lack of planning was that it was impossible to leave the fire area as the jump to the left of the save point was to large. So I added the lower exit, which increased the size of my game by a few screens. So I guess that was a good thing.