I’m quite happy with this LD. I didn’t plan to participate, as I usually don’t have the energy for it in the dark winter months – but I wanted to play around with WebGL so I figured what the heck. Only library I allowed myself to use was glmatrix to help with the vector/matrix math (Thanks Toji, I wouldn’t have pulled it off without it). I also used a single call to jquery, but that was totally not necessary (I change the background color when one gets shot).
In my time zone, the theme is announced at 3 AM – so I got to work a couple of hours before I hit the hay the first night. I managed to get a quad to render as if it was on the ground before me. That was it.
The next day I started making some code that dealt with the level itself – I built a 3d model from an array of strings, which also gave it the old Wolfenstein 3D look. I made some code that allowed you to walk around in the model – adding some poor collision detection code (it’s really bad) – and a door that worked approximately like in Wolfenstein 3D. Then I hit the hay again, this time also at 6AM.
Then the last day, with a little more than 12 hours to go – I made an enemy, some things you can pick up along the way, keycards, doors that require keys, a win condition, a lose condition – all the gamy stuff. The enemies will shoot at you if they’ve looked straight at you for two seconds. The enemies will never walk, as I haven’t implemented any path finding algorithms. With another day, I could probably have done A* or something.
So, at a couple of hours left, the game was complete – I spent the last hour improving a few textures and then I handed it in. My usage of the theme was incredibly poor, and was never mentioned in the game itself; One bomb, one life, one gun.
The reason I managed to pull this off at all, was to a large extent because I’ve worked with OpenGL a lot this year – my spare time project is currently to create a full version of a game based on my LD26 entry. Rewriting it in C++/OpenGL, and making it as good an experience as I possibly can. WebGL is too a large extent similar to OpenGL ES2, and anything you’ve learned from either can be used on the other. Especially understanding matrices have been useful to me.
I’m quite happy with my Wolfenstein 3D-clone, and can now cross “create a fps from scratch” from my bucket list. No matter what people rate me, this is a personal milestone.
All in all, the game has a lot of flaws. No pathfinding, it’s not very challenging, poor collision code, quite short – yet again. Happy