pan's labyrinth


Labyrinths have taken on a number of meanings throughout history – devotion, power, games. The first recorded labyrinth dates back to Egypt at the time of king Amenemhet 1842 - 1797 BCE. Often elaborate in their nature, labyrinths frequently combine fun and complexity. 
Developed in Unity, using C#, Pan’s Labyrinth merges the histrorical context of a labyrinth with the simplicity of children's games. 

Github repo

Parametric variables control the maze size and difficulty. The player navigates the maze by following a constellation of nested quads placed along the solution path.
Pan's Labyrinth was prototyped in Grasshopper.

Using the object-oriented programming (OOP) paradigm, the script creates a maze object with cells. The cells have an indication of their four neighbors and whether passage to their neighbors is opened or closed. Then a variation Dijkstra's algorithm is applied to find the shortest path from the first cell to the one farthest away.