Minotaur’s Maze
Builds (itch.io)
Trailer (YouTube)
Code (GitHub)
A solo project led for a computer graphics module, designed to showcase understanding of and proficiency with the rendering pipeline, by showcasing a 3D simulated environment, with a lighting aspect integrated through a simple Blinn-Phong shader.
Product Description
A procedurally generated maze with flickering torches dotting the environment to provide some ambiant lighting. An inert minotaur stands at the centre of the maze, with a block figure navigating the maze from above.
Submitted/”Published”
December 2025
-
This maze is generated at runtime using Wilson random walks in a 100×100 grid, where one tile represents a 3×3 grid of path x walls.
The loop-erased aspect of Wilson walks was deliberately ignored to provide a more open labyrinth, conveying the impression the player is truly trapped inside, rather than navigating towards a goal. -
This project builds on the game development toolkit conceived in the GameLab III module of my undergraduate degree.
As such, this proto-game engine has evolved from a simple sprite-based 2D engine to a multi-purpose 3D environment builder, expanding on the transform system (including 3D rotations most prominently), rendering system (going from an unlit sprite to a more global, but rudimentary lit material system), and camera system (supporting perspective projection) and adding a lighting system.
-
A core component of this project was the lighting aspect. Considering a lack of ‘special’ objects with complex material properties, a simple Blinn-Phong illumination model was chosen for the purposes of this project.
Global lighting, initially brute-forcing through all light sources for all meshes, prompted a rework to include a level of detail system. Meshes within a given radius of entities marked as ‘loaders’ would render using light from the n closest light sources, pulling from a 2D ‘voxel’ spatial data structure for efficiency. Entities outside this radius would simply render in ambiant lighting.
Screenshots and features
[unavailable]
| A complex, procedurally generated maze viewed from above in orthographic projection.
| A bird’s eye view of the maze in a rendered section, with the block figure hovering above.
Software & Skills involved:
Backend engine development
Eis-Engine v2.0
C++ Programming
Git Version Control