Dungeon Maze is a game I coded with Soheil Koushan and Allen Yu in Grade 11. It is a single player game where the player is attempting to navigate through a maze filled with monsters. The player can defeat enemies by shooting projectiles and using items and power-ups that they can collect.

The game features an iterative randomized depth-first search maze generation algorithm and a depth-first search algorithm to solve the maze. The algorithm was used to generate and solve this maze as a proof of concept (smaller version).

There are three main things I would change about this project:

  1. I’d organize the resources in one class similar to how it is done in Android. (We put in an “R class” at the end when the disorganization got out of hand but it does not contain much).
  2. I’d change the class hierarchy and the way classes are inherited. During development, I quickly found out that the current code is not maintainable. It took an unreasonable amount of time to add new projectiles, enemies, items, etc. I would most likely implement an entity-component system.
  3. I’d change the name.

The source code is on GitHub (WARNING: very messy). You can play by running this JAR.