← Work Case study · University team project · 2025

Mad Maze

An application that generates perfect and random mazes, with several game modes and a world inspired by Mad Max.

View the code on GitHub

Setting
University project, 2nd year — 2025
Team
4 students
Role
Java / JavaFX developer: interface and game modes
Stack
Java, JavaFX, MVC, SOLID

Context

Build an application that generates perfect and random mazes from user-chosen settings, with complete game modes: free play, progression and bonus modes.

I mainly worked on the Mad Max-inspired interface and on the game modes' logic.

What I did

  • Procedural generation

    Algorithms that create perfect or random mazes.

  • JavaFX interface

    Interactive screens for every game mode.

  • Architecture

    The MVC pattern and SOLID principles, applied strictly.

Soft skills

  • Autonomy

    Researching and learning about graphs and mazes.

  • Creativity

    Art direction for a consistent post-apocalyptic world.

  • Organisation

    Splitting complex tasks so we wouldn't block each other.

Debrief

What I learned

The hardest part was keeping the code clean with MVC. It was tempting to mix maze generation with JavaFX rendering. When we hit scalability problems, we refactored part of the code to properly separate views from controllers.

What I'd do differently

I'd start with TDD and JUnit from day one. Automated tests would have checked on every change that our algorithms never generate an unsolvable maze.