diff --git a/README.md b/README.md index d359ba5..7d8a27f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,39 @@ -# maze_generator +# 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 . \ No newline at end of file diff --git a/demo.png b/demo.png new file mode 100644 index 0000000..1146947 Binary files /dev/null and b/demo.png differ