gecko's site

Curiosity - Post Mortem

About time I got around to writing a post mortem for my entry, here goes!

Screenshot of a platform game. A little black critter with a neutral face is grappling up to the ceiling inside a minty green 'garden' room. The scene is made of abstract shapes with flat colours, and a white 'vignette' effect around the edges of the screen gives it a sort of heavenly feeling.

Curiosity is a little ambient exploration game written in the ooc programming language. You can play the game here (comments here) if you're interested.

The Idea

In the UK, Ludum Dare starts and ends at 3AM. I decided to stay up into the early hours of Saturday, and fell asleep with minimalism floating around in my head. I think I had a dream about a game idea, but unfortunately I couldn't remember it.

I thought about a game that starts of super minimalistic, and gets progressively more detailed and lush as the player progresses. Of course, this was silly and vague. In such a short space of time just having a finished project is a challenge, but I hope the game resembles my intentions a little.

I admit I didn't really like the theme at first - any game made in 48 hours is going to be minimal, so minimalism seemed to be a wildcard. I changed my mind once I got started.


My graphics software hasn't changed since the last time I entered. Even though I'm 5 major versions behind now, and running it 2 operating systems ahead of what it was developed for, Fireworks is still my general purpose graphics editor of choice. Having .png as the native project format is really handy, along with the variety of non-destructive image processing options.

I'd heard good things about Ogmo Editor, and watched a tutorial on using it in FlashPunk. Considering this was my first time using it in a project, it worked amazingly! When designing the world, I tried to make sure there was more than one way to solve each challenge (though not everyone who played the game noticed this). Some people said the game reminds them of the Knytt series, which is very cool to hear! Nifflas was certainly a source of inspiration for me.

A few people found the game too difficult, but I don't think there were any major flaws in my level design this time. My old entry for LD21 had lots of blind jumps, no checkpoints, and you could fall off the world by going left. I've definitely improved in that respect! Personally I thought the difficulty level was fine, especially after playing some other awesome yet insanely hard entries.


My choice of language, ooc, served me incredibly well! It's a modern object-oriented language that compiles into C99, and therefore works on any platform with pthreads and a C compiler. I picked it up in the last few months, created quite a lot of bindings to existing C libraries, and have been working on a FlashPunk inspired game engine called Vamos using SDL 2.0's hardware accelerated rendering API, which I used to create this entry.

The majority of development issues were all tackled before the compo started, so I had a pretty smooth ride on my own framework. The day before, I bound a small XML library (MiniXML) to ooc, so I was able to parse Ogmo Editor's level data. On the first day I remembered I still hadn't implemented depth-sorted rendering, and that ate up a little bit of time, but was quite painless.

The main problem was that my game engine didn't have sound effects. I'd been trying to write my own audio mixer before the compo (without relying on SDL_mixer), but it had huge latency and I couldn't figure out how to avoid sounds being synchronized to the buffer size. The music playback (which uses stb-vorbis for decoding) was working fine, and I found a hacky solution last-minute to create smooth crossfades between tracks. That hopefully compensated for the lack of sfx.


This has always been a strong point for me. I wanted to include just as much musical content as last time, which meant I had to make 4 tracks! In my last entry, my soundtrack was ruined for some people by streaming/stuttering issues. That wasn't a problem this time, because I was making a desktop game.

I'm primarily a Renoise user now (though SunVox is still awesome, and I highly recommend it if you're looking for a free music program). I've got a nice collection of free VSTs and samples and had fun creating some ambient songs and soundscapes. It gave me a nice break from the intense coding! :)


I'm really happy with how this turned out! I've since made some Linux binaries, and it also runs nicely on OSX (though I don't have a mac to test or package it). I'd love to develop Vamos further and make some more ooc games in the future.

I'd also like to thank everyone for their encouraging feedback so far. Thanks guys, and well done on all your finished projects!