Project Information

About

This project is inspired by the creepypasta "The Backrooms", which describes a world that is a seemingly endless maze of yellow rooms. To recreate this, I used Three.js to create a procedurally generated maze of eerily empty rooms using primarily Prim's algorithm.

The player can move using WASD keys. As the player moves through the maze, it will continue to generate new additions to the maze as the player moves close to the edge. Infinite procedural generation is achieved by using a system of offset corrdinates and 2D array of mazes, which themselves are 2D arrays of rooms. This can be performance intensive, so the program includes generative optimizations and several configurable settings to adjust the maze generation and rendering to improve performance.

To create a retro effect and feel of being lost in a maze, I also implemented several GLSL shaders that add a CRT effect, vignette, and RGB color shifting. These shaders were primarily created by @felixturner on GitHub.