Mazeface: a post-mortem

the Good
- The engine. I have used Ogre3D before (a few years ago) and coming back to it was comfortable. It’s getting on now, but it’s such a nicely structured engine that everything I wanted to do was easy to find out how to do.
- Workflow. I told myself I would be more organized, and this time I was! Check out my wall of post-it notes (each note being a specific task in a “todo”, “in progress”, or “done” place):
-

- The theme. I have little idea how to export models into an Ogre format, and minimalism was an excuse for me not to do any at all! Thankfully, Ogre comes with some prefabricated primitives which I was able to use.
- Map creation. I assumed integration of a map editor would be tedious and time wasting, but then I found that Tiled exported in an almost-c-like format,
from something like:

To (note: this is output from a different map) :
data = {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 3, 2, 2, 1, 2, 2, 2, 2, 1,
1, 1, 1, 2, 1, 2, 1, 1, 2, 1,
1, 4, 1, 2, 2, 2, 2, 2, 2, 1,
1, 2, 1, 1, 1, 1, 1, 2, 1, 1,
1, 2, 1, 2, 2, 2, 2, 5, 2, 1,
1, 2, 1, 2, 1, 1, 1, 1, 2, 1,
1, 2, 2, 2, 2, 2, 1, 2, 2, 1,
1, 1, 2, 1, 2, 1, 2, 2, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1
}
It was then just a case of changing the syntax slightly, then using the indices to identify what to place at each map tile (1=wall, 2=floor, 3/4=start-end points).
- Headset integration. I was lucky that somebody already did the hard work (Thanks to Kojack if you are reading this!), and it just became a case of adding drift correction (which comes in the new OculusSDK) to correctly align the headset.
- The food!
-

The Bad
- The idea. I originally started off with a grand vision of some small planet occupied by several minimalistic animated creatures. After two hours of being frustrated by the lack of modelling knowledge I decided to scrap that idea altogether and do a simple maze. Thus began an emotional rollercoaster where one minute i’d be excited, and thee the next i’d be wondering if I should give up altogether! The idea ended up being refactored about 4-5 times before I settled on the final vision.
- Player input. This was always going to be a problem with the headset: how do you turn without getting tangled up in wires and slamming into things? In the end I decided on providing a “quick 1809 degree turn” button, but it is still far from being intuitive.
- Lack of text. I was unable to draw text at a resolution I was happy with (written stuff looks god-awful on the headset…), and so had to rely on intuitive gameplay. I don’t think it’s as intuitive as it could have been.
- Sound – I ended up using an Ogg library which apparently supports 3D sound. I did not get it working, so ended up with flat 2D sound. This breaks the main mechanic a little, as you have no idea where the enemies are.
In conclusion, I am happy with what I produced in the limited time I had to do it. Looking forward to playing some cool minimalistic games! Bring on LD27!
Source: ludumdare.com archive