# Maze generator A dependency of a video game *(Furries in the Backrooms)* made by Foxarc. ![Screenshot of a maze being generated for a surface size of 57x27 with a case size of 1.](demo.png) The maze generator is based on [Randomized depth-first search](https://en.wikipedia.org/wiki/Maze_generation_algorithm#Randomized_depth-first_search) with an [Iterative implementation (with stack)](https://en.wikipedia.org/wiki/Maze_generation_algorithm#Iterative_implementation_(with_stack)) approach for optimization. Furthermore, the maze generator is optimized to only use a **single layer of the maze to open the walls**: this make uses of **the 8 allocated cases surrounding a free case to be walls (purple cases)** avoiding the need for another layer to open the walls. Herefrom, the algorithm is modified to jump every 2 cases as if there was nothing in-between except for when a wall needs to be opened. ## Features - When recording is enabled: - Export the maze animation to a JS file that can be replayed in a web browser. - Locate each case where there is a 3-way intersection. - Generate a maze for any X and Y. - Export the maze into a CSV file. - Real-time update by hovering over a case (tooltip) while the maze is being generated. - Progress bar for how many cases to visit before the end of the generation. - Upscaling **(before running the animation)**. - Localization in English, French, Spanish, German and Polish. ## License GNU AGPLv3 > Maze generator, version 1 > Copyright (C) 2024 Foxarc > > This program is free software: you can redistribute it and/or modify > it under the terms of the GNU Affero General Public License as > published by the Free Software Foundation, either version 3 of the > License, or (at your option) any later version. > > This program is distributed in the hope that it will be useful, > but WITHOUT ANY WARRANTY; without even the implied warranty of > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > GNU Affero General Public License for more details. > > You should have received a copy of the GNU Affero General Public License > along with this program. If not, see .