screenshotTitle

The title screen for my Ludum Dare entry

Recently I participated in a 2-3 day game jam known as Ludum Dare. It was the first time I’ve ever entered a game jam, and I really enjoyed it, despite the stress of having such a small window of time to finish a game, and despite the fact that I wasn’t able to finish all the basic features I had planned for. The game I created is called Bald-Faced SPACE TRUCKERS and It’s a simple game about transporting cargo from space station to space station to earn a space wage, while avoiding heavy space traffic, and dodging space asteroids. What can I say, I liek space!

So what the heck IS a game jam anyway? Well basically, a game jam is an event where indie game developers of all kinds (even people who are just beginning to learn to code) are challenged with creating a simple video game in a very short period of time, usually within a certain “theme”. The theme for this Ludum Dare was “Connected Worlds”. Ludum Dare is one of the oldest (over 10 years running!) of these types of events, and the main Ludum Dare event lasts 48 hours. The next Ludum Dare will be taking place on December 5th-8th 2014. You can find out more at the Ludum Dare Website.

The experience of creating a game in just 3 days (I entered the 72 hour event) was simultaneously frightening and yet highly enjoyable. I spent the first hour or so planning out my game, and then I began creating it in GameMaker: Studio. Tools like GameMaker, Unity, Construct 2, and others are often called “Rapid Prototyping Tools” and that’s exactly what they are great for: Rapidly getting a game prototype together without having to write a new game engine from scratch. I haven’t been using GameMaker for that long, but I’ve been doing game programming as a hobby since I started High School, and I have released several mods for other games over the years, including Axebane’s Hunters Mod for Oblivion, and Mystic Mods for Minecraft, so I did have some experience to draw from.

After the first 6 hours, I barely had anything to show:  The player could move around the screen, there were two “speed settings”, the beginnings of a title screen, and some randomly generated asteroids flying across the screen. I got a good night’s sleep, and dove back into my code the next day to continue my progress. Before long, I had a working damage system, a basic text-based UI (user interface) and the player could actually be destroyed if they took too much damage. At that point, the game looked something like this:

The humble beginnings of an indie game

The humble beginnings of an indie game

I kept pounding away on my keyboard throughout the second day, trying desperately to get the “core gameplay” complete. I should have done that first, but I found myself spending too much time working on the pixel art for the game during the first day. I kept thinking I had plenty of time to get the basics done, but I still worked as quickly as I could, posting updates every so often to my twitter page. I had originally planned to have some kind of “space police” and contraband cargo for them to confiscate if you got caught. I also planned for random “pirate ambush” events where the player would have to deploy attack drones to fight back, since the player ship is just a cargo ship without offensive weapons.

As the second day came to an end, however, I started to realize that most of the features I thought I would be able to complete in 72 hours were just not going to make it into the game. Instead, I had to focus on getting the main gameplay working: Allow the player to choose a cargo transport job, undock from the station, fly to the next station, and get paid for delivery. Lather, rinse, repeat. Creating the docking mechanics took longer than I anticipated, and at one point during the second day, a very nasty bug showed up that had me pretty stressed out until I found it and squashed it.

I got a full-nights sleep the second day (important if you want to be able to think clearly enough to code) and continued working hard the next morning. I pretty much only took breaks for food and showering. During that third day I was able to get the docking mechanics working, with a set of randomized cargo transport jobs available, plus a repair and refuel option. I also got the “game over” conditions coded, complete with a few different end-game screens depending on how the player was destroyed. By now, the game was beginning to take shape, but I was quickly running out of time:

Docking mechanics begin to take shape.

Docking mechanics begin to take shape.

In a desperate rush to finish, I also used the “player explodes” code for running out of fuel. I had originally planned to allow the player to make some kind of “distress call” when they ran out of fuel, but when you only have 72 hours to program a game, you have to find ways to cut corners. While I was at it…   I also made the player explode when they ran out of money, haha! It obviously makes no sense, but clearly my game does not take itself too seriously, so why not? The end-game screen for running out of money went something like:  “You ran out of cash, and for some reason that caused your ship to explode! I guess one of your crew members must have booby-trapped your iWallet when you weren’t looking.”

I worked up until the last possible minute, then compiled my game to an EXE, uploaded it, and posted my results on the Ludum Dare page. I knew the game wasn’t really that amazing, and it was missing several of the main features I had planned on creating, had no music and only a couple sound effects, but it was done! I had successfully created a game from scratch in only 72 hours! What an amazing feeling, and I learned a LOT from the experience.

So how did the game do? Well I received mostly positive feedback, and once voting was finished, my game was ranked #340 overall. (out of about 2,000 entries) It would’ve been awesome to make it into the top 100, but for my very first game jam, I think #340 isn’t too shabby. Especially when you consider the fact that most of the 72 hour entries were from small teams of indie developers, instead of a single person like my game.

Ludum Dare was a wonderful learning experience for me, and even though the competition was just for fun (there are no prizes) the deadline kept me VERY motivated throughout the event, and I was able to prove to myself that I can create my own indie game, not just mods for other games. I enjoyed the event so much, in fact, that I have decided to continue development of Bald-Faced SPACE TRUCKERS and release it as a commercial game eventually! Development will probably take at least 4 months, and if you wish to keep up with the latest news about my game, please follow me on twitter.

Thank you for reading, and happy gaming!