Procedural Generator Demo
More Info:
# of Partitions - This controls the amount of time the space is divided in "half". Larger number = more rooms. (1 = 1, 2 = 2, 3 = 4, 4 = 8 etc.) (Default 4)
Open Space - % of random space turned into "alive" cells, higher number means more open and connected, lower number means closer/more limited towards underlying rooms and paths. (Default 40%)
# Cell Cycles - Number of times cellular automata is performed, higher is typically "smoother". (Default 7)
Blank - resets and wipes clean.
Step - iterates current level an additional partition.
New - Generates a new level.
Project Details:
This is my procedural level generator for my rogue-lite game. It will be used to generate forest levels but would work just as good if not better for caves. It places distinct and connected rooms that are then made to look more natural. The process is as follows:
Binary Space Partitioning: I start with a square which I repeatedly split around the halfway point, making predictably spaced but varied containers which I then placed rooms into.
Delaunay Triangulation: I then triangulate between the room's centers to form paths between them.
Kruskal's Algorithm: To find a minimum spanning tree to prevent every room from having so many connections, I run Kruskal's and then recover some of the paths to maintain a few loops.
Cellular Automata: I then make it look more organic by running cellular automata with the rooms and paths as guides.
Special thanks to these resources that helped tremendously:
https://www.reddit.com/r/gamedev/comments/1dlwc4/procedural_dungeon_generation_a...
https://netlibrary.aau.at/obvuklhs/content/titleinfo/2410978/full.pdf
https://pvigier.github.io/2019/06/23/vagabond-dungeon-cave-generation.html
Status | Released |
Platforms | HTML5 |
Release date | May 02, 2023 |
Author | eaacon |
Genre | Simulation |
Made with | Unity |
Tags | Procedural Generation, Roguelike |
Code license | MIT License |
Asset license | Creative Commons Attribution v4.0 International |
Average session | A few seconds |
Inputs | Mouse, Touchscreen |
Accessibility | High-contrast, One button |
Links | Homepage |
Leave a comment
Log in with itch.io to leave a comment.