Ludum Dare is a fantastic challenge: make a game from scratch in 48 hours. Every year more people join, resulting in thousands of entries by the end of the weekend. This was my second time participating.
Running into time-consuming problems is dangerous when you only have two days, preparing your workspace before you start is important, and best to use tools you already know. For me, C# programming, Blender for 3D modeling, and Unity to bring it all together. I set up Chronolapse to capture a timelapse and OBS for livestreaming on Twitch.
With the theme “Connecting Worlds” I set out to make a small twin-stick shooter. Monsters would attack through portals from other worlds that you can jump through. After a few hours, I wasn’t feeling it.
I spent most of Saturday exploring ideas and building quick prototypes. Luckily, people watching my livestream (something I wasn’t used to) kept me motivated. Having an audience watch your every move is daunting but very energizing. I get why why streaming is so popular these days.
By Saturday night I’d found a visual style I liked. I checked George Broussard’s stream from time to time, which was super fun. The “Share on Twitter” button was a trick I picked up from George; I include it in all my mobile games now.
Herding your little monsters into the portal, towards the rival village.
On Sunday morning I started to pin down the gameplay. I kept polishing the environment, but it wasn’t until the evening that the core loop clicked: two islands attacking each other, with a giant monster defending its village. I wrote most of the fundamental gameplay code during the final hours.
Keeping the rival tribe out of your village didn’t feel as responsive as I wanted.
Being a game developer is knowing all the quick & dirty tricks. Take the giant monster for example: I started rigging and animating the big guy, but I became nervous knowing how time‑consuming animation can be, especially after my last game jam. After wrestling with different animation rigs and bone weights, I simply started animating all the monsters by code (rocking them back and forth on a sine wave). Those little math tricks save a ton of time, and the monsters never looked better.
Most of the code from the last six hours is pretty horrifying. Despite that, the game appears to be glitch‑free. You go into Ludum Dare assuming your code is throwaway, so it doesn’t really matter.
The portals turned out really well, flinging monsters to the other side as they step through.
Because of time zones, the deadline lands a bit differently for everyone. For me, it was 3 AM on Monday. With two hours to spare and gameplay working well enough, I used Unity 4.6’s new UI system to set up a quick menu with basic game instructions.
It’s easy to forget how long it takes to submit the final build of a game: adding screenshots, writing descriptions, even coming up with a title. As the deadline crept up, I discovered the Mac build was crashing. The final hours are always chaos, but I got lucky and found a quick fix.
I sank about 32 hours into development but I’m pleased with the result: around 1,000 lines of code, different character models, environment props, sounds generated with BFXR. Some of the mechanics, such as the rhythmic movement of the monsters, aren’t what I hoped for; after plenty of tweaking, they still don’t feel right. Oh well, what’cha gonna do.
If you’re interested in game development, just try to make a game. If you’re having trouble finishing one, Ludum Dare is perfect.
You can download the game or watch the timelapse instead.