I recently learned about a procedural generation technique called a “depthcrawl”. Maybe the best known example is the Garden of Ynn, though there are a few different takes on the idea. For example, Downcrawl builds pretty significantly on the idea by introducing “volumes” (regions, I think) and more.
The base technique uses the depth of the group as a factor when generating the next chunk of content. I’m going to outline a basic version of this mechanic, largely as a way of making sure I understand it.
This depthcrawl has a few random tables, not necessarily the same length. A simplified example might include these three:
- Locations: Roughly correspond to dungeon rooms
- Details: Roughly correspond to dungeon dressing or features, maybe even treasure
- Encounters: As normal in a dungeon
Some designers or game masters might want to add more, like Events (as in Gardens of Ynn) or separate them into different sections once the group reaches a certain depth.
In this example, when the group is ready to enter a new location, roll on the Locations table, adding the current Depth to the roll. The first time, set Depth to zero. If they want to go deeper, increment the Depth. Note that keeping the Depth the same is intended to find new “rooms” more or less at the same level. Then roll on the Details and Encounters tables to see what’s in the Location and you have something for the players to deal with.
The group can backtrack fairly easily, at least from a navigational point of view. Depending on what happened before, you might re-roll on the Encounters table. If they go deeper, eventually they reach something like the endpoint (maybe the boss or perhaps the key bit of lore that explains the whole situation).
This works best when they explore a space that might not entirely work according to the rules of a normal world. Maybe they’ve delved into the Mythic Underworld or maybe some magical extra-dimensional garden or library. I would use this in Electric Bastionland when exploring the Underground, for example, where the rules of time and space specifically don’t apply. This becomes extra importantly if they leave the crawl and return later. You don’t reuse the previous map. Instead, you generate a new one with the same procedure, reflecting the shifting set of connections and realities within the space.
I had intended to use this with Electric Bastionland, as noted above, but I have some other applications for it as well when exploring hypergeometric spaces – maybe those left behind by highly advanced civilizations, for example…