Cyclic Dungeon Generation
This article by Joris Dormans on a better way to approach dungeon generation popped up on my radar recently, and for good reason: if you’re designing any kind of level or dungeon generator, you need to read it.
The basic idea is that instead of generating one path between nodes, it generates two of them, forming a cyclic loop. This lets the game reason about the cycles as a unit, so the generator can apply design patterns that exploit the topology. For example, it’s easier to design a lock-and-key level pattern this way. Not to mention that reducing backtracking from dead ends is often more enjoyable for the player.
Using larger conceptual ideas in generating something is a very useful pattern across all kinds of procedural generation. Not only does it guarantee a useful topology, but it lets you treat the pattern as a unit. Instead of having to detect abstract concepts, which is easy for humans and hard for computers, start from the abstract concept, so the computer has a better handle on the invisible systems behind the generation.
For example, a terrain generator that uses Voronoi cells as its primitive structure lets the generator use that to create a more coherent landscape. Or a village generator that starts from relationships between the inhabitants rather than the placement of the buildings.
Can you think of other patterns that could work this way? Or ways that you can use the cyclical loop design?