A Maze Thing (I didn't come up with the title) is a 3-D maze puzzle game for Apple iOS, utilising OpenFrameworks. The game takes inspiration from the classic wooden labyrinth game, except that it takes place on 6 sides of a cube, with a glass frame around it preventing it from escaping the bounds of the maze.

The maze is randomly generated. In the finished version of the game, the maze grows in size after each maze is completed, thus increasing in difficulty.

My responsibility was the rendering, to take the 3D boolean array representing the randomly generated maze, and display it on screen. Originally, I drew a cube for each false entry in the 3-D array, however this found to cause the game to run extremely slowly when tested on devices. We deduced that this was because of the sheer number of GPU calls for each cube. So, instead I had to think of a way to cut down on the number of calls. I came up with a way to create a mesh, plotting vertices dynamically according to the state of each cell in the 3D array. With a mesh created and stored in memory, I was able to reduce the number of GPU calls from many hundreds to just one.

At the same time as doing this, I coloured each side of the cube. This was a design descision. Coloured sides of the cube allows players to more easily plan their route to the exit, "I need to get to the red side, so I must go through the green side, then the cyan, then the yellow,"