Inspiration

Our project was inspired by the old DOOM games and the prehistoric theme of Bitcamp 2025.

What it does

Mammoth Maze renders a 2D maze game in 3D using raycasting. The player is placed in a maze and is challenged to reach the opposite corner. Standing in their way is a mammoth piloted by A* pathfinding. The maze itself is generated randomly with an algorithm, and includes a portal with a rendered texture that brings the player to the next maze.

How we built it

Mammoth Maze does not use any 3D models or tools, rather the graphics are displayed entirely with Java AWT. Many rays are aimed from the player outwards at varying angles, and the distance between the player and the wall that they hit determines the position, length, and brightness of the wall segment to be drawn.

Challenges we ran into

There were problems with the perspective of the 3D world as well as a strange fish-eye effect that we were able to address with better calculations. We also had trouble implementing sound effects as none of us had any experience with doing so.

Accomplishments that we're proud of

We are especially happy about the Mammoth's A* pathfinding algorithm which it uses to get through the maze and stalk the player. We are also proud of implementing a texture for the portal and of including sound effects. These were both "extra" features that we were not sure we would have time to implement, with the former being particularly challenging.

What we learned

We developed a greater understanding for how 2D graphics are used to create an illusion of 3D space, which is the case for all 3D graphics on a computer screen.

What's next for Mammoth Maze

Future ideas include:

  • True 3D Space (Stairs, multiple floors of a maze)
  • Greater differences between levels
  • Items to collect in the maze (keys to locked doors, coins)
  • A way to stop/distract the mammoth

Built With

Share this project:

Updates