This weekend, I participated in Ludum Dare, a game programming competition where you make a game in 48 hours. Here’s the final result:
And the source, including all images and music: https://github.com/kchodorow/ld27. Incidentally, it worked out to 48 commits over 48 hours.
If you’re registered, please try it and rate my game.
All in all, this was so much fun. I thought it was really cool how much I could make in 48 hours (I can basically implement Candy Crush in two days!). I found it surprising how much art even a really simple game took (I ended up on “New Document #87” in Inkscape by Sunday… I at least started 87 pieces of art!). There were some “this is held together with spit and glue” moments (particularly Sunday afternoon) but I don’t think there are any game-stopping bugs.
Things that worked:
- Named constants for everything, with good names. Taking the extra couple seconds to create a constant for everything kept saving my ass.
- Making so much crap global. At first I wanted to carefully pass around just what I needed but then I just gave up and made almost everything global.
- My level class. I ended up being able to crank out a nice variety of levels in a few minutes.
- Using music from http://www.nosoapradio.us/ was a huge time saver. I just plopped in an awesome free MP3 and bam, atmosphere.
- If you win Dirty Rotten Seconds, the little duelist floats off into the sunset. It’s subtle and most people probably won’t notice, but the effect made me happy.
Things I would do differently:
- Spend some time the first night working on a deployment script. I ended up with something that sort of worked, but deploying was always nerve-wracking and I ended up with all sorts of unnecessary junk uploaded.
- Not make a game with people in it unless I’m using someone else’s assets. I hate making art assets for people, and I kind of committed myself to making 12 of them for this game. I was dreading taking care of it all Saturday.
- Start out by adding lines every 100px on the screen. It would take 20 minutes, tops, and would have saved me endless frustration over where things were being placed/aligned.
- I need to work on my animation skills. I’m not sure what free tools are good for 2D animation, but Inkscape isn’t it.
Overall, I wish I had had the time to make it more of a strategy game and less of a twitch game. Also, making levels turned out to be so easy I wish my theme had allowed 50 levels or so.
The competition ended at 9pm last night, so afterwards Andrew and I were trying out other people’s games. Some people came up with some really neat stuff. Some of my favorites so far:
And now I have 1500 new games to try out! Pretty amazing.
On the downside, I feel like I didn’t get much of a weekend. I had a lot of fun, but I’m starting the week with my brain and hands all tired.
Still, it was an awesome experience and I’ll definitely be participating the next Ludum Dare!