About LukeRissacher


Ludum Dare 23

LukeRissacher's Trophies

LukeRissacher's Archive

Microbial Post-Mortem

Posted by
Wednesday, May 2nd, 2012 6:03 pm

OK, been meaning to write this for a while – a post-mortem for my game Microbial.

This was my first Ludum Dare – my first game jam also, and the first time I ever released a finished game for people to play :). Really enjoyed it – and enjoyed hearing people’s feedback and experiences playing the game. I was hoping it’d re-energize my game development enthusiasm which was waning a bit, and it totally succeeded at that.

I have been working on a “bigger” indie game project for a while, after a couple prototype games I decided to kill off, so have some game programming experience under my belt (and debatably some art experience). Plus a career’s worth of business web application programming (lots of forms and lists :) ).


What worked:

Exploratory development approach: I was really inspired by Jon Blow and Marc Ten Bosch’s talk Designing to Reveal the Nature of the Universe, where they outline a process of starting with an idea (a game mechanic, a detail, a desired result) and exploring it’s space of possibilities completely – then present the best of what you discover to the player. I tried to take that approach with this game. A lot of people have commented on the great learning curve / progression, and surprisingly it didn’t take any deliberate effort on my part – I developed the levels pretty much in the order they appeared in the game – when one mechanic or game object felt “tapped out” in terms of what kind of unique puzzles and level types I could make, I’d try introducing a new mechanic. So really, the learning curve the player is experiencing is the same learning curve I as the designer was going through during the making of it (or maybe the same state of mind in the cases of level 27-30 :) )

The 80/20 principle: With a 48 hour teeny timeframe I tried to stick to this mindset, also known as the Pareto principle – that in many areas of life, 80% of the effects come from 20% of the causes. E.g. 20% of the stocks produce 80% of the gains – 20% of your clients provide 80% of your business. I tried to focus on the 20% of to-dos that would make the most difference to the game.

Blender as a level editor, with hot reloading: I love me some Blender. I have an ultra bare-bones script that exports just the world transform matrices and names of the objects in a Blender scene into a simple XML file that my game engine can parse while it’s running. Upshot is, I can use all of Blender’s fancy tools for moving, rotating, copying, deleting, hiding, snapping to a grid etc. (way more than I could implement in some fancy level editor of my own) and hit a key to export the XML file, which I can then hot-reload in a running copy of the game. So, like, instant level iterations. Woohoo.

Engine I know well, with some prep beforehand: I adapted the game engine from my larger game, which was helpful – it’s not as fancy as something like Unity or GameMaker, but it took away a lot of the chores of managing game objects and components, playing sounds, handling input cleanly, doing basic 3D rendering, etc. So I could focus on gameplay programming and content creation when the contest started.

Using real recorded sounds: Got a lot of compliments on the soundscape of this game – most of it was me doing weird things with my iPhone. E.g. the bubbling noises were from a bowl of water and a straw with some post-processing in Audacity and FL Studio for added ominousness (I tried putting the iPhone in a sandwich baggie and submerging it underwater, but all I got was plastic bag noise :) ). It was all very quick and dirty, I’m happy it came out sounding as good as it did.

Ye Olde Triple-A Sound Studio

Ye Olde Triple-A Sound Studio

Having to do it in 48 hours: I can tend to geek out too much on perfecting my game engines, polishing little features, etc. and take forever to get things done – so having a fierce deadline was good to keep my dawdling under control :).

Using 3D: Ironically I’m a little unknowledgable and shaky on 2D programming, having dived headfirst early on into the hardcore 3D stuff. So I stuck with what I was comfortable with on this entry. I think the 3D rendering it might have set the game apart visually a little bit from the majority of entries, even though it’s mechanically a very 2D game.

What didn’t work:

Crashes / problems on some systems: I got a mix of positive comments from those who could play and frustrated comments from people who couldn’t play the thing early on. I tested things out on a wimpy laptop and it ran OK, so figured I was good to go, but there were some weird GPU and other incompatibilities on certain systems. Anyway after being scared that I’d disqualify myself, I eventually made post-compo fixes and workarounds in a separate 2nd version (e.g. in Poland the default .NET floating-point parser will choke on “12.5” – it’s expecting a comma thanks to it’s helpful worldly awareness :) ). Big thanks to the folks that helped me debug.

XNA excluding mac / linux folks: XNA is by far what I have the most experience in, so for this compo it was the only real choice I had, but I know it bummed out some people. Don’t want to get too far into this debate as it’s covered elsewhere – but I might give MonoGame a try next time, which allegedly brings XNA to Mac and other platforms (though it’s 3D support is apparently not that great).

Random break from wall of blog text

HDR rendering / shadows busted in Reach: XNA 4 has two “graphics profiles” – Reach for crappy computers, and HiDef for beefier DirectX 10+ computers. My engine was written for HiDef and the Xbox 360 mainly, but I wanted a lot of people to be able to play this, so I had to hack together a Reach-compatible version of the rendering pipeline pre-compo. I lost single-format texture support in that process, so my HDR / light bloom setup, and my fancy shadow system had to go, after some frantic attempts to work around the limitations. After some late nights lately though I think I’ve got the engine in better shape for LD24 :).

Particle system busted: I wanted to add some nice particle effects – dust floating by, cell innards when they’re broken, etc. – but my particle system was broken and I lost about an hour trying to fix it. Particles were moving 2x faster and dissapearing abruptly halfway through their lifecycle. Oh well.

Anyway – I’ve used more than my share of blog space – thanks for reading.

Microbial: Game | Timelapse

Some under-the-radar favorites

Posted by
Saturday, April 28th, 2012 9:10 pm

Hey all – wanted to share a few cool games I’ve run across that I haven’t seen getting a lot of mentions on blogs and whatnot:

Tiny Worlds by Lidfrid

Fling your planetoid between the orbits of larger planetoids, collecting material and mass along the way. Accompanied by a weird-but-catchy acapella soundtrack.

Love in the Time of Fishbowls by octaviogood

Match fish by their mating calls, with a fun / thought-provoking story between successive generations of fish.

Antopia by pgil

A zelda-like with an excellent soundtrack. The queen is dying – find a sword and go kill some spores and stuff.

Cruel Space by Stalker_23b

Probably the best graphically I’ve seen so far. Hop between planets buying upgrades and annihilating various meatboy-looking creatures.


Also thanks for all the positive feedback on my game Microbial – for those who haven’t checked it out,  it’s a weird 3D rendered action/puzzle game with 40 levels of cells, viruses, polyps, and a tumor megaboss:


Hope to put together a post-mortem in the next day or two for it.

Game library / framework

Posted by
Friday, April 20th, 2012 4:26 pm

Just a quick post with the baseline source code of the homebrew XNA game engine I’ll be using for LD 23. Zip file is up at:


My first game jam

Posted by
Thursday, April 19th, 2012 3:18 pm

Hey LD’ers –

Gonna give this one a go – have always wanted to try a game jam but haven’t pulled the trigger yet. So this weekend it is!

I’ll be using XNA (sorry in advance to the download-averse) and a custom game engine library I’ve built (basic stuff like scene hierarchy management, screen switching, etc.), which I’ll post beforehand. I’m more of a 3D than a 2D guy actually, so might be using Blender,  BEPUphysics (free physics library), etc. But we’ll see on all that.

FLStudio for music – photoshop for graphics – Audacity for sound – plus any tools on that tools page I can wrap my brain around in time.

My goal is to make something good – but that might be overambitious and burn me out – so I guess my goal is to finish something. OK.



[cache: storing page]