Skip to the case study
Ishandeep Singh Software Engineer
All work

Personal project · 2023-24

Reverse Mazed

Algorithmic game · personal

Year
2023-24
Role
Sole Developer
Team
Solo
Focus
Algorithms

This was a self-initiated project driven by my fascination with algorithms and procedural generation, where I built "Reverse Mazed," a game that challenges player memory and skills.

How it works

In the first phase, the player navigates a character from a starting point to an end goal, creating a path through an open level with obstacles. Upon reaching the goal, the game enters its second phase: it procedurally generates a complex maze around the exact path the player just took. The player must then navigate back to the start, but the only solvable path is the one they just created, testing their short-term memory. The core technical challenge was to generate a maze with a single, predetermined solution. Standard maze algorithms were unsuitable for this constraint, which required me to design and implement a custom Prim's algorithm that could build a valid, complex maze structure specifically around the player's recorded path.

Two screens side by side: a sparse open level, and a dense maze
Phase one on the left, where the player picks their own route through an open level. Phase two on the right, with a maze built around the route they just took

The solvers

I later integrated both A* and DFS solvers to visualise and compare their algorithmic efficiency in real-time on my custom mazes. The entire process, from generation to the step-by-step solving by each algorithm, is visualised using the Pygame library, providing immediate and clear feedback on how these algorithms operate.

A maze with a solver's path traced through it in green
A solver tracing the only path back to the start

What I learnt

In this project, I learned how to translate theoretical algorithms into a practical, visual, and interactive application.

It deepened my understanding of data structures, algorithmic efficiency, and the importance of heuristics in problem solving.

This project ignited my passion for building tools/experiences that are both technically interesting and engaging for the user.

Python · Pygame · Prim's algorithm · A* · DFS