In The Blood – 48h Compo Post-mortem

It’s been a few days and since then I’ve seen how people actually play my game. Time for a Post-mortem!

The game has you playing a virus inside a blood vessel. The idea is that people avoid the small grey taggers because the more tags you have, the faster the big white blood cells can catch you. To help you out, any tags you have can be passed on to passing green bacteria, if you can catch them. The gameplay is inspired by how the immune system actually works (although if you had bacteria floating around in your blood you’d be in a lot of trouble).

The game is playable at its entry page, here!

What Went… Badly

Well, turns out this ultra-simple game mechanic is pretty confusing for people. I spent ages implementing the tagging mechanic, where free-floating taggers would attach themselves to the player character rather than showing how many tags people have picked up in a UI element. The result is that it seems to make collecting the tags basically irresistible, which results in the white blood cells getting incredibly angry very quickly and people have short, frustrating attempts.

I was also disappointed that I didn’t do more prep work. I’d already declared the various open source components I would be using for the game, but I’d not open sourced any entity management code, or basic game boilerplate of which there’s an awful lot. This meant that it took me a day and a half just to get to the point where I could actually begin adding actual gameplay. Next time more prep is required so that I’ll be on some sort of equal footing with people using full on game engines like Unity.

Was also disappointed I only managed to add 4 entity types – two taggers, the white blood cell and the bacteria. It’s relatively easy to master the existing gameplay and it doesn’t progress in difficulty so it doesn’t have much longevity.

What Went Well

This game required actual 3D models, so I turned to Blender for this. I’m not especially familiar with it and haven’t done any 3D graphics in over a decade so this was a bit intimidating. It was, however, pretty simple. I only needed to make some quick textures for particles, otherwise I was able to avoid doing any hand drawn graphics at all.

The shader I wrote for the background and the animation effects for the pulsing blood are, I think, really effective. They do however give certain people motion sickness.

Three.JS continues to be a joy to work with, abstracting away a lot of the pain of working with WebGL and making importing Blender geometry easy and then moving and rotating meshes around a breeze. The performance is pretty good too!

I had a lot of new stuff to figure out making this – how to make the waves of taggers with their subtle sine wave motion and how to do the AI on the homing taggers and white blood cells. I think I got lucky in that I didn’t have as many problems as I thought I might. I was pleased with how I resolved the problem of how to ‘beat’ these AI characters because, without being able to shoot them, wouldn’t they just chase you indefinitely? I came up with the idea that the homing taggers would give up as soon as you got in front of them, and the white blood cells would give up after a certain amount of time being behind you, but would wake up again if you let them get in front.

I was also pretty happy to actually finish. I only really got a sense of what I wanted the gameplay to be on the second day, so that it has any gameplay at all is a bonus for me!

Conclusion

It’s the obvious thing everyone says. I should have concentrated more on nailing the basic gameplay on day one instead of procrastinating by adding more and more effects. Still, I’m fairly happy with the result. Been playing and ratings loads of games since I went live and this, it turns out, is the really fun bit of Ludum Dare.

 

Tags: #LD48 #LD29, post-mortem