Legendary Lava Escape – post mortem

This has been a hectic weekend. I’ve honestly never concentrated so much on an LD entry before.

Here are some of the good points about my entry:
The physics works perfectly – you can kick around the corpses of dead enemies, and the jumping is quite smooth. You can even bunny hop! This is all thanks to BEPU physics which is a darn good API. The character controller I’m using from it is experimental, but seems to work very well.
Gameplay has at least some depth. You have to escape from the lava as it rises, and that is confounded by the exit being locked (you have to find the blue key to escape).
The level is reasonably large. I was able to speed-run it in about 100 seconds. Some players have reported running out of time which makes me grin.
You can fall in the lava and die prematurely, which adds a tiny extra bit of depth i think.

Now the problems:

Only one type of enemy – I had hoped to implement a couple more. I wanted to have a sniper and give him a laser sight so you could see where he was aiming, and I wanted a lava monster who would wake up and throw lava bombs at you.
No pick-ups other than the keys. I had wanted health and weapons.
No unique weapons – the code supports this but I ran out of time, so I upgraded the default to be fully automatic.
The level wasn’t as finely crafted as I had hoped. I had intended to have a total of 4 keys, the red key just being a “tutorial” on the controls (that’s why its so obviously through the only unlocked door).
The big one… I messed up the graphics on the level geometry. The billboards were just fine, but the level geometry was rendered wrong. I tried to share vertices and thus texcoords between each block, but that proved futile. What I should have done was have one batch for each pair of parrallel surfaces – since my blocks are all axis aligned this would have made sense. Then, I would have been able to light them and have more carefully plotted texture coordinates.
I wish I had time to add more levels – the game code supports it, I just didn’t get the time to build them.

One thing is for certain though – from now on, I’m going to do 3D entries. So, when the next LD takes place, I’ll be using the same tech I’m using now.