urban depthcrawl

I grew up in Suzhou, China, which had a population of about 6 million people when I was living there and has only grown since then. I considered it to be a small city in comparison to Shanghai, which was roughly an hour away and had a population of 25 million and better public transportation. These experiences have shaped my understanding of the term “city” and continue to inspire me to add them to my games.

There have been many posts recently about how to run cities in ttrpgs. My favorites are the six-part series by A Knight At The Opera and the sandbox post by elmcat. Both are inspirations for the city procedure in this post.

(Metru Nui by Faber, Ba Sing Se by Connor Sheehan, Neketaka from Pillars of Eternity II, and Kirkwall from Dragon Age II)

Dwiz claims that there is no unified city procedure because the activities players perform are so diverse and depend on the tone of the game. He’s right — which is why I won’t pretend that my city designs will work in every game. I also tend to prefer something like a megacity, which is one of the edge cases where he acknowledges that it makes sense to have a travel procedure. However, I also don’t want to turn my cities into adventure sites where the main objective is to crawl through them — despite this being a popular play activity.

a fractal pattern

Cities should be like fractals in nature: public transporation and main thoroughfares should be plenty safe, and opportunities to get lost should only start to bother players when they move off well-trod paths. Elmcat uses the “Landmark, Hidden, Secret” principle by DIY & Dragons to prep neighborhoods with different levels of locations based on how accessible they are. The idea that destinations within a city are unequal contributes to Dwiz’s issues with traditional pointcrawls and other maps.

This is where Adam Seats over on discord infected my brain with worms.

They were asking about depthcrawls about a month ago, which was a term I had never heard before. It’s vaguely OSR-adjacent, given that it’s mostly about dungeon crawling and the danger getting more intense the further down you go. I later realized that “depthcrawl” basically meant “weighted table” combined with a mechanic that increases your chance to roll higher on the table and made a joke that “lancer overheating is a depthcrawl”.

a table from Lancer with worse outcomes the more dice you roll

If we abstract even further it becomes apparent that weighted tables are basically another form of “partial success” with a high amount of granularity. What’s important is that we can apply it to city travel:

an escalating table of worse outcomes for traveling through the city

When players travel to a new location in the city, they roll 1d6 on this table. Add +1 to the roll for each of the following:

  • The destination is not a landmark.
  • You’ve never been to the destination before.
  • The destination is in an area of town controlled by an enemy faction.
  • You’re trying to get there without being seen.
  • <any other reason travel might be difficult>

The above table is a quick-and-dirty example. In actual gameplay, I would have some of the 2-5 outcomes explode into a second table. I.e. the “local color” option would lead to another table filled with prepared neutral encounters stocked with hints and rumors. The table is also not universal: it implies that crime and violence are not uncommon in the city. If you wanted to make a more generic table that could be applied to multiple cities, all you would need to do is add a “crime variable” to the travel roll and ensure that more peaceful settlements had low crime ratings.


I’m looking forward to testing this out in practice with The Serket Hack, as I plan on having a large prominent city-state in the setting.

Leave a Reply

Your email address will not be published. Required fields are marked *