Rooms and mazes: A procedural dungeon generator (2014)
Enjoyable to see someone reasoning creatively about various ways to
solve this. In the end there are so <i>many</i> ways, each giving their own
feel. I would do generative landscapes by starting with Perlin noise
clouds, low pass filtering and then "flooding" the height-map with a
water table. That's basically how old generative landscapes like Bryce
used to work I think. For caves, pick a min and max plane, extrude to
get walls. As mentioned in the article checking connectivity was
always the PITA - and with 3D procedural mazes you have to also check
they're <i>passable</i> for the chosen engine's collision code.<p>That's how I learned about my favourite constant... Gerver's optimal
sofa constant...the maximum size sofa that can move around a
unit corner [1].<p>[1] <a href="https://de.zxc.wiki/wiki/Sofaproblem" rel="nofollow">https://de.zxc.wiki/wiki/Sofaproblem</a>