I recently have been focused purely on making procedurally generated game content. So far I have covered everything in my experiments from tile based procedural generation to binary space partitioning to cellular automata. Below I will cover my ideas and concepts and would love any feedback or other peoples ideas on procedurally generated content.
Tile based generation:
Make random rooms, check for overlapping, establish a center for each room, loop through and connect closest rooms by center using either vertical or horizontally started corridors and marking the turning point chosen by which will stay the furthest away from other rooms and turning points.
Binary Space Partitioning:
Split the map and split into A and B split into A1-A2 and B1-B2 and continue to split randomly vertical or horizontal until space is more than double for the alternative then select the more sensible split. Instead of pairing as I split I instead use a rule that rooms generated cannot leave more than half dead space with height or width therefore I can link using center of space.
Currently I use the traditional 50% on and off starting state. If Less than two open neighbors, it goes solid. Two or three open neighbors, it stays open. More than three open neighbors, it goes solid. If a solid cell has exactly three open neighbors, it becomes open. If a border it goes solid. creating a new map by marching squares from starting layout with rule system.
Cellular automata is the most exciting system for me because it can be used to create different and realistic looking "biomes" for surface worlds like desert, plains, lava ect with just a little adjustment. The hardest part of using this system is trying to make realistic looking caves that connect. The only way I have figured out how to make corridors using this system is marching the squares and whenever I touch a room not numbered having a contagious wave of room number designation flood fill every touchable square of that room. After everything is said and done I create a corridor from the closest tiles with different room numbers.
Dec 20 2016, 2:18 pm (Edited on Dec 20 2016, 11:01 pm)