“Ludum Dare is a regular community driven game development competition. The goal is, given a theme and 48 hours, to develop a game from scratch. Ludum Dare aims to encourage game design experimentation, and provide a platform to develop and practice rapid game prototyping.”
I’ve taken part on quite a few occasions now – including the very first one, almost a decade ago now… Here’s a list of those where I submitted something at least playable, if not reasonably complete…
In the early days, Ludum Dare was very much a coding contest. Until recently, I’d always used C++, with either OpenGL or DirectX, third-party libs for things like physics/audio/XML where appropriate, and usually a bit of pre-written ‘base code’ to handle the basics (D3D initialisation, texture loading, font rendering, keyboard/mouse input, sound playback).
But the event has changed a lot over the past few years – it’s much bigger now (several hundred entries, rather than to 50 or so in the early days), and unfortunately (for me), it’s become more of a game design and pixel art contest. And if you want anyone to play your game, it has to be web-based. So I’ve tried Unity, and more recently Flash/Stage3D.
But I don’t do pixel art. I’d had enough of that back in the Amiga days. And I’ll never make a ‘pretentious art game’, which unfortunately is what people seem to be looking for in Ludum Dare entries these days…
But anyway, making a game in 48hrs is still a lot of fun, and here’s some that I’ve made over the years:
LD48 #22 – Theme: ‘Alone’ (My 12th LD48 game)
My Game: Incomplete Shooty Thing
Play in browser! (Flash 11)
Technically, this was a failure – it wasn’t very finished at all, and was only entered in the LD Jam, not the main 48hr competition. But to me, it was quite a success – as it was the first time that I’d made a game with Flash – and this one used Flash and Stage3D!
(I’d spent a few days working on a Flash/Stage3D framework prior to the event – so I was somewhat prepared, and familiar enough with it. But I’d never actually tried making an actual game in Flash, let alone Flash+Stage3D!)
LD48 #21 – Theme: ‘Escape’ (My 11th LD48 game)
My Game: The Great Volcano Escape
When I saw the theme, one of my first thoughts was ‘The Great Escape’ – and escaping from something/somewhere on a motorbike. Of course, some of the younder LD entrants didn’t get the reference, and I got the usual ‘didn’t make use of the theme’ comments…
But whatever, the game went fairly well. Unoriginal, but fairly good fun to make and play. It used my C++/D3D framework, with Chipmunk for physics, and procedurally-generated levels build out of bits of sine waves. 48hrs wasn’t really enough to do it justice – I wanted to add a lot more to it, really, and tune the controls/physics a bit more.
Spent far too long trying to draw the motorbike/rider!
LD48 #20 – Theme: ‘ It’s Dangerous to go Alone! Take this!’ (My 10th LD48 game)
My Game: The Legend of Super Grapple
Play in browser! (Unity)
Meh, silly theme! I’d decided to have a go with Unity, and decided to make a tile-based platformer – 2D gameplay, 3D graphics. Spent a bit too much time messing with Blender->Unity export and scale issues. The end result wasn’t too bad though – the controls are very rough, but the grapple mechanic that I developed for this went on to become one of the main features of Little Acorns
LD48 #18 – Theme: ‘Enemies as Weapons’ (My 9th LD48 game)
My Game: Unarmed and Dangerous
So I went for something a bit different this time, I attempted to make an isometric game. Although I still used D3D for rendering, everything was rendering in 2D. I got quite bogged down in an attempt to do completely generic isometric depth-sorting (including up/down movement) – until I eventually discovered there are cases where it’s simply impossible to sort 3 boxes into a correct draw order, as they all overlap each other… So I simplified things rather a lot. And despite a fair bit of time spent/wasted on the sorting thing, I managed a reasonable puzzle-ish game. I also spent some time drawing some actual 2D graphics (rather than the usual simple textures) with my Wacom tablet. Something that I need to practice more often…
LD48 #17 – Theme: ‘Islands’ (My 8th LD48 game)
My Game: They Came From The Ocean
I was a bit directionless early in the development of this one… eventually started making a really simple heightmap landscape engine, and a random terrain generator to make island maps. Then decided to turn it into some sort of first-person-shooter, and with no way of loading 3D models (and my weak art skills), I thought I’d try to do something similar to the bosses in ‘Space Harrier’, and that became the smokey creatures… The gameplay is a bit rubbish, just surviving tougher and tougher waves of them, with a single weapon… But for 48hrs, I was fairly happy with it.
LD48 #16 – Theme: ‘Cavern’ (My 7th LD48 game)
My Game: Lava Caverns of Doom
This one was fun. Take a 3D tile map, add a physics engine, throw in some basic platformer mechanics, a helping of random physics objects, and a very rough in-game editor. Somehow find time to mess with lighting and some simple shadows. I certainly worked solidly on this, more coding and less sleep than some of the others, but the end result was worth it. Not the best in terms of gameplay, but maybe a new technical best for me in an LD48?
LD48 #13 – Theme: ‘Roads’ (My 6th LD48 game)
My Game: 0xF0 [pronounced ‘eff – zero’!]
This one went incredibly well! A 3D LD48 entry that worked!
The game mostly ‘just worked’ – once I had a simple-but-effective procedural track generator, combined with a physics engine (Tokamak), there really wasn’t much to do other than camera code (arkward) and timing – which left me with a fair bit of polish time.
I was well prepared too, with fairly tried+tested base code (although I did find silly bugs in my vector class…). The whole ‘base code/custom libs’ issue still seems a bit controversial – But when I do an LD48, I really don’t want to be writing yet another texture loader / windows message loop / font renderer. I felt that maybe I’d pushed the limit a little this time (shader and render-to-texture support) – but I still started with way less functionality than numerous open-source libararies that are permitted….
LD48 #11 – Theme: ‘Minimalist’ (My 5th LD48 game)
My Game: (Unnamed Entry)
My LD48 blob made a return in a platform/puzzly thing with physics (Chipmunk-powered). As well as the colour scheme, the control system was minimal – only left and right (no jumping)
Wasn’t much fun to play, unfortunately – too easy to get stuck, and controls weren’t too responsive (too much inertia on the player). A lot (too much) of the development time was spent on an in-game editor used to build the levels (but not accessible in the final game, as it was very rough and not at all user-friendly!), and integrating Chipmunk
The levels were very simple tilemaps, but massively prettified by raycasting shadows from numerous lightsources. Unfortunately, I was too busy messing with the lights and shadows to add decent gameplay – it’s a very basic ‘kill all enemies’ platform-shooter, and the controls suck…
LD48 # 4 – Theme: ‘Infection’ (My 3rd LD48 game)
My Game: Infexion
Maybe my most complete/polished entry, I think – and definitely my worst use (erm, almost complete ignorance of) the theme… It’s a Thrust clone, with some quite nice pre-rendered sprites and excessive particle effects. Had some basic ‘2D lighting’, an idea which was improved upon for my next LD48 entry.
LD48#3 – Theme: ‘Preparation’ (My 2nd LD48 game)
My Game: Glooop
Erm, probably my weakest LD48 entry (other than those I abandoned before the end). A puzzle game without much puzzle to it… Place the tiles to control the flow of the very large number of particles… Way too easy, clunky UI, overambitious attempt at doing a 3D game in 48hrs…
LD48#1 – Theme: ‘Guardian’ (My 1st LD48 game)
My Game: The Flame Game
Ludum Dare #1… where it all began, and still one of the more fun to play of all my LD48 entries. It’s an odd platformy thing that you control by rotating the level – all blocks your blob touch get coated in green slime, which drips downwards to put out the fires that are slowly spreading through the level… Pretty lame use of the theme – ‘the blob is protecting the level from the fire – but covering it in green gunk…