Project Information
- Name: Backrooms Simulator: Three.js Procedurally Generated Maze
- Category: Three.js Web App
- GitHub Repo: github.com/jarvisar/threejs-maze
- Latest Deployment: backrooms.jarvisar.com
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. It started in 2023 as a simple maze using Prim's algorithm and has grown a lot since then.
There are two game modes. In Found Footage, you collect eight notes and find the exit while something follows you, and each exit takes you down to the next level. Explore lets you walk around any level with no goal, and has an edit mode for changing walls, lights, and furniture. The levels so far are Level 0, Level 1, Level 2 (Pipe Dreams), Level 4 (the Abandoned Office), Level 5 (the Terror Hotel), and Level 37 (the Poolrooms).
As the player moves through the maze, it will continue to generate new parts of the maze as the player gets close to the edge. This can be performance intensive, so there are several settings to adjust the lighting, effects, and resolution. Works with keyboard and mouse, controllers, touch screens, and VR.
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.