Ludum Dare is great, a challenge to make a game in 48 hours from nothing. Every year more people join in, resulting in thousands of entries by the end of the weekend. This is the second time I’ve participated.
Running into time wasting problems is pretty dangerous when you only have two days. Preparing before you start is key. While there is some value to learning new software under pressure, it’s better using tools you already know. C#, Blender & Unity in my case. Prepare your environment before the weekend starts, too. I set up Chronolapse for making a timelapse and OBS for livestreaming. Avoid surprises once you start Ludum Dare because of software that doesn’t work.
Saturday – Stuck
With a theme of “connecting worlds”, I set out to make a twin-stick shooter. Monsters attacking you through portals from another world, while you jump through portals to different floors for momentary escape. after wasting a few hours, I wasn’t feeling it.
Keeping the pesky rival tribe out of your village didn’t feel as responsive as I wanted.
I spent most of Saturday thinking about what to do, developing every idea as fast as I could. Luckily I had some motivation from people watching my livestream, something I wasn’t used to. Having an audience watching your every move is both daunting and motivating.
By Saturday night I was able to find a pleasing style. While working, I would check George Broussard‘s stream from time to time, who was working on DINO BOLT, which is super fun. It helps your sanity to talk with others who are going through the same crazy weekend as you. The “Share on Twitter” button was something I learned from watching George, which I’m including in all my mobile games now.
Sunday – Build It
On Sunday morning I started to pin down the gameplay. I kept polishing the environment but it wasn’t until evening that I had a clear goal in my mind of what the gameplay should be. Two islands attacking each other, with an AI giant on the other side protecting its own village. I wrote all of the fundamental gameplay code during the final hours.
The gates turned out really well, launching creatures to the other side as they step through.
The key asset in game development is “tricks”. This is true for most crafts, but I do feel an intrinsic nature of “cheating” in game development wherever you can. A good example is the giant, which I was rigging and animating on Saturday afternoon. This made me pretty nervous, knowing from past competitions how time-consuming animating can be. After running into problems with skinning the bone weight, I animated all monsters through code. Rocking them back and forth on a sine wave works well. Knowing these little math tricks can save you much time.
Most code written during the last six hours was pretty horrifying. Despite that, the game appears to be glitch free. You need to go into Ludum Dare assuming your code is throw away, anyway.
Monday – Ship It!
With differing timezones, the deadline ends up being a bit different for everyone. For me, it was at 3 AM on Monday morning. I had the gameplay working well enough with 2 hours to spare. Thanks to the Unity 4.6.0 open beta, I spent the last 2 hours setting up a menu system with game instructions.
It’s easy to forget how much time the final build of a game takes. Screenshots, descriptions and coming up with a title. The deadline creeping up, I found the game crashed on Mac, too. Everything always goes to chaos in the final hours, I got lucky and found a solution fast.
I sank 32~ actual hours of work into development and I’m pleased with the result. Some 1000 lines of code, a character model, one handful of environment props and a few sounds generated with BFXR. Some of the gameplay mechanics, such as rhythmic movement, aren’t what I hoped for. After a lot of tweaking, it still doesn’t feel right. I’m thinking about turning it into a full game, though. When that happens I’ll look for better gameplay mechanics.
If you’re interested in game development, make one! If you’re having difficulty finishing one, Ludum Dare is perfect.