Ludum Dare is a game creation competition which runs every 4 months and challeges designers, programmers and artists to create a working game in just 48 hours. See their webpage for more information.
Over the last few years I have created games for the competition when I could fit it around other commitments.
Hype - Ludum Dare #27 — 26 August 2013
I completed my second Ludum Dare game in August 2013.
Hype is a 2d platforming game where you have to reach a goal on each level. The physics are handled using the Box2D physics engine, so I tried using that to control the motion of the character, which proved interesting. I’m going to claim that the odd controls are a feature, but I guess its just something you have to get used to.
I made the game in Java using the LibGDX platform which is really good. The way UI components are used is a bit odd until you work it out, unfortunately its not really something you just stumble upon. Other than that I can’t complain too much.
I was hoping to get the game running online, either using GWT and html5 or just using a Java applet but unfortunately neither were possible. A recent(ish) update in Java broke the LWJGL applet code and the libGDX html5 wrappers don’t include any Box2D stuff. Sucks.
The code for the game is available on Github.
Adrift - Ludum Dare #22 — 20 December 2011
In December 2011 I made a small game for the 22nd Ludum Dare competition.
This was the first time I had made a whole game, from an empty project through to a complete product with menus, settings and most importantly gameplay. The whole experience was great fun and I got a number of incredible comments from other participants.
The game I chose to make was a top down maze/exploration game. Starting out in an abandonned space ship you find your way around before things start shooting at you. It was a fun introduction to the ideas behind programming games. I am sure there are many problems with the code and numerous things that I would do entirely different if I were to do it again.
Currently the game source is available on Github.
The day after the competition I wrote the following post-mortem on the experience:
The not so good:
I was coding in Java using the LibGDX framework, which worked really well. Unfortunately there are parts of libGDX with little documentation, so I was frequently ducking into the source to try and work out how to get it to do what I wanted.
I had plans for a much more elaborate game with more graphics, more levels etc but as is the case with this, ran out of time. I think I spent too much time on the menus and other screens whereas the game should probably have come first.
Why can I never get up when my alarm goes off?
Sound effects were much easier to add than I had expected. Setting and remembering volume was a bit fiddly though, and making the sound I wanted in sfxr was time consuming although quite good fun.
I actually finished a game! Usually I get caught up in trying to optimise everything as I go along, but for this I was forced to just get on with making the game. This does of course mean performance is hit slightly. I was only getting about 20 to 30 FPS on my old laptop, but more modern machines should cope better.
I stole a second monitor from my sister after about 12 hours. Wow did it make everything easier. But now I have to give it back.
libGDX meant I could get a dekstop and applet version of my game made easily at the same time. I also have an Android version, but I have no idea how/if the controls work, what the performance is like, or what it looks like. I also have no way of testing it, so decided not to release the .apk file. (I did have it running in android-x86 in a virtual machine, but that was really slow).
Now to sort out my sleep patterns and retrain my fingers not to press Ctrl+s all the time.