Cross posted from my main blog at http://www.caseydunham.net
This past weekend I took part in my first Ludum Dare competition, Ludum Dare #15. Ludum Dare is a community driven contest where a single developer has to create a complete game within 48 hours. I have watched the prior competitions, but have never really had the time with family and school, so I was a bit surprised to find that last weekend was fairly open. So on Friday afternoon I decided I would take part.
Each Ludum Dare has an associated theme that the game must be created around that is decided on by community vote. The theme is only revealed at the start of the competition and for LD #15, the theme was “Caverns”. I immediately had a few ideas but nothing that seemed too out of the ordinary. Upon deciding to enter the contest, I also made up my mind that regardless of what the theme was, my goal was to complete a game, no matter how simple, within that 48 hour deadline. I did complete a simple game, but as usual with these types of competitions, didn’t quite turn out as I had hoped. This is an effort by me to talk about some of the things that I feel went right in the development of Coffee Caverns and what could have been done better.
Probably one of the best choices was to use what I was already familiar with, C++ and SDL in a Windows environment. I know that some people like to experiment with new technologies during these competitions, but I decided to not risk it, my goal was to complete a game. Along these same lines I also decided that whatever I did would be small. I have started and never finished numerous game projects in the past much like every other aspiring game developer and I also know that one of the things that separates aspiring game developers from game developers is that game developers finish things. I had a decent idea of the scope of what I would be able to finish and decided to stick with it.
I didn’t start coding or designing anything until the Saturday morning after the competition started. I checked to see what the theme was going to be and than went to sleep. In the morning I ate breakfast and started a bit of mind mapping while having some coffee. I started thinking about caverns and I kept coming back to danger and falling, falling objects like rocks, and than somewhere in the mind map coffee came up so I ended up mixing coffee with falling rocks. Awesome, sounds a bit weird let’s go with it. It came naturally that this would be an arcade style game and once I decided on it I stuck with it. The total design of the game was probably about an hour and that was with sketching a bit of a development plan as well.
I also liked that I was able to get a couple of sound effects in thanks to the wonderful program Sfxr. I am glad that I got the title screen in without too much trouble as well. It only took a little bit of trouble and was I think worth it. Although next time, I am going to check for a specific key press to transition as opposed to any key, it made taking screen shots of it a bit tricky.
I think that my biggest mistake was not getting the prototype up and playable as fast as I wanted to. My intention originally was to use primitives for prototyping and later put in the graphics. By the time I had the framework ready I needed a break from coding and decided that I would play around with Paint.NET a bit to see what I could come up with. I should also mention that other than SDL, I was using no prior written code, writing everything from scratch. In no time I had created a couple of graphics that I thought would work, so I figured I would just drop them in. It wasn’t a huge time waster since I was going to do it anyways and in some ways did work out in the end.
Easily the worst part about the game and what I would argue is the game, is the game play itself. The game is no where near as balanced as I would have liked it to have been, the scoring is very simple, and there is very little feedback to the player. I spent most of Sunday doing game play testing and bug fixing. I had the majority of the code written by Saturday night and it was a good thing too as I had a few things come up Sunday that might have kept me from finishing otherwise.
The little things that I didn’t fix that were pointed out to me in comments on my Ludum Dare blog are in retrospect what could have made the game better. The player sprite being about a pixel off during the animation would have taken me all of about three seconds to fix. I also never got the score out of the title bar like it should have been. This would have been another easy fix that would have added to the polish of the game.
The other thing that people complained a lot about was my use of an installer. I had mixed feelings about it but I know and understand the irritation I am sure it caused others as I started reviewing a few of the other entries. At a certain point I was annoyed that I had to unzip things and will next time not bother with the setup and provide a straight running executable.
Overall the whole competition was very rewarding and I learned quite a bit as well and would recommend everyone who is interested in game development to take part in these competitions as often as they can. I am definitely going to!