{"id":177,"date":"2025-04-07T21:35:58","date_gmt":"2025-04-08T03:35:58","guid":{"rendered":"https:\/\/www.fluoriteguillotine.com\/blog\/?p=177"},"modified":"2025-04-07T21:35:58","modified_gmt":"2025-04-08T03:35:58","slug":"urban-depthcrawl","status":"publish","type":"post","link":"https:\/\/www.fluoriteguillotine.com\/blog\/2025\/04\/07\/urban-depthcrawl\/","title":{"rendered":"urban depthcrawl"},"content":{"rendered":"\n<p>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 &#8220;city&#8221; and continue to inspire me to add them to my games.<\/p>\n\n\n\n<p>There have been <a href=\"https:\/\/prismaticweekly.substack.com\/p\/folks-just-dont-get-cities\" data-type=\"link\" data-id=\"https:\/\/prismaticweekly.substack.com\/p\/folks-just-dont-get-cities\">many<\/a> posts recently about how to run cities in ttrpgs.  My favorites are the six-part series by <a href=\"https:\/\/knightattheopera.blogspot.com\/2025\/03\/urban-gameplay-part-1-search-for-holy_17.html\" data-type=\"link\" data-id=\"https:\/\/knightattheopera.blogspot.com\/2025\/03\/urban-gameplay-part-1-search-for-holy_17.html\">A Knight At The Opera<\/a> and the sandbox post by <a href=\"https:\/\/elmc.at\/sandbox-settlements-prep-run-and-thrive\/\" data-type=\"link\" data-id=\"https:\/\/elmc.at\/sandbox-settlements-prep-run-and-thrive\/\">elmcat<\/a>.  Both are inspirations for the city procedure in this post.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1182\" height=\"1600\" data-id=\"178\" src=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/faber_metrunui.jpg\" alt=\"\" class=\"wp-image-178\" srcset=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/faber_metrunui.jpg 1182w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/faber_metrunui-222x300.jpg 222w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/faber_metrunui-756x1024.jpg 756w\" sizes=\"auto, (max-width: 1182px) 100vw, 1182px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"3840\" height=\"1920\" data-id=\"182\" src=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/connor_sheehan_basingse-1.jpg\" alt=\"\" class=\"wp-image-182\" srcset=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/connor_sheehan_basingse-1.jpg 3840w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/connor_sheehan_basingse-1-300x150.jpg 300w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/connor_sheehan_basingse-1-1024x512.jpg 1024w\" sizes=\"auto, (max-width: 3840px) 100vw, 3840px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1304\" height=\"920\" data-id=\"183\" src=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/neketaka-1.webp\" alt=\"\" class=\"wp-image-183\" srcset=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/neketaka-1.webp 1304w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/neketaka-1-300x212.webp 300w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/neketaka-1-1024x722.webp 1024w\" sizes=\"auto, (max-width: 1304px) 100vw, 1304px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"500\" data-id=\"184\" src=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/kirkwall-1.png\" alt=\"\" class=\"wp-image-184\" srcset=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/kirkwall-1.png 1000w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/kirkwall-1-300x150.png 300w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n<\/figure>\n\n\n\n<p>(Metru Nui by <a href=\"https:\/\/faberfiles.blogspot.com\/2012\/11\/3d-concept-renderings-of-metru-nui.html\" data-type=\"link\" data-id=\"https:\/\/faberfiles.blogspot.com\/2012\/11\/3d-concept-renderings-of-metru-nui.html\">Faber<\/a>, Ba Sing Se by <a href=\"https:\/\/www.artstation.com\/artwork\/YegR1K\" data-type=\"link\" data-id=\"https:\/\/www.artstation.com\/artwork\/YegR1K\">Connor Sheehan<\/a>, Neketaka from <a href=\"https:\/\/en.wikipedia.org\/wiki\/Pillars_of_Eternity_II:_Deadfire\" data-type=\"link\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Pillars_of_Eternity_II:_Deadfire\">Pillars of Eternity II<\/a>, and Kirkwall from <a href=\"https:\/\/en.wikipedia.org\/wiki\/Dragon_Age_II\" data-type=\"link\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Dragon_Age_II\">Dragon Age II<\/a>)<\/p>\n\n\n\n<p>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&#8217;s right &#8212; which is why I won&#8217;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&#8217;t want to turn my cities into adventure sites where the main objective is to crawl through them &#8212; despite this being a popular play activity.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/fractal.jpg\" alt=\"a fractal pattern\" class=\"wp-image-186\" style=\"width:640px\" srcset=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/fractal.jpg 1600w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/fractal-300x169.jpg 300w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/fractal-1024x576.jpg 1024w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p>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 &#8220;Landmark, Hidden, Secret&#8221; principle by <a href=\"https:\/\/diyanddragons.blogspot.com\/2019\/10\/landmark-hidden-secret.html\" data-type=\"link\" data-id=\"https:\/\/diyanddragons.blogspot.com\/2019\/10\/landmark-hidden-secret.html\">DIY &amp; Dragons<\/a> 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&#8217;s issues with traditional pointcrawls and other maps.<\/p>\n\n\n\n<p>This is where <a href=\"https:\/\/www.iknowadamseats.biz\/\" data-type=\"link\" data-id=\"https:\/\/www.iknowadamseats.biz\/\">Adam Seats<\/a> over on discord infected my brain with worms.<\/p>\n\n\n\n<p>They were asking about <a href=\"https:\/\/archons-court.blogspot.com\/2020\/10\/on-depthcrawls-hundred-hands-depthcrawl.html\" data-type=\"link\" data-id=\"https:\/\/archons-court.blogspot.com\/2020\/10\/on-depthcrawls-hundred-hands-depthcrawl.html\">depthcrawls<\/a> about a month ago, which was a term I had never heard before.  It&#8217;s vaguely OSR-adjacent, given that it&#8217;s mostly about dungeon crawling and the danger getting more intense the further down you go.  I later realized that &#8220;depthcrawl&#8221; basically meant &#8220;weighted table&#8221; combined with a mechanic that increases your chance to roll higher on the table and made a joke that &#8220;lancer overheating is a depthcrawl&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"882\" height=\"398\" src=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/lancer_overheating.png\" alt=\"a table from Lancer with worse outcomes the more dice you roll\" class=\"wp-image-187\" style=\"width:640px\" srcset=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/lancer_overheating.png 882w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/lancer_overheating-300x135.png 300w\" sizes=\"auto, (max-width: 882px) 100vw, 882px\" \/><\/figure>\n\n\n\n<p>If we abstract even further it becomes apparent that weighted tables are basically another form of &#8220;partial success&#8221; with a high amount of granularity.  What&#8217;s important is that we can apply it to city travel:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"745\" height=\"667\" src=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/travel_table.png\" alt=\"an escalating table of worse outcomes for traveling through the city\" class=\"wp-image-188\" srcset=\"https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/travel_table.png 745w, https:\/\/www.fluoriteguillotine.com\/blog\/wp-content\/uploads\/2025\/04\/travel_table-300x269.png 300w\" sizes=\"auto, (max-width: 745px) 100vw, 745px\" \/><\/figure>\n\n\n\n<p>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:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The destination is not a landmark.<\/li>\n\n\n\n<li>You&#8217;ve never been to the destination before.<\/li>\n\n\n\n<li>The destination is in an area of town controlled by an enemy faction.<\/li>\n\n\n\n<li>You&#8217;re trying to get there without being seen.<\/li>\n\n\n\n<li>&lt;any other reason travel might be difficult><\/li>\n<\/ul>\n\n\n\n<p>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 &#8220;local color&#8221; 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 &#8220;crime variable&#8221; to the travel roll and ensure that more peaceful settlements had low crime ratings.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>I&#8217;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.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>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. <a href=\"https:\/\/www.fluoriteguillotine.com\/blog\/2025\/04\/07\/urban-depthcrawl\/\" class=\"more-link\">&#8230;<span class=\"screen-reader-text\">  urban depthcrawl<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[25,9],"tags":[67,68,69,14],"class_list":["post-177","post","type-post","status-publish","format-standard","hentry","category-the-serket-hack","category-ttrpgs","tag-cities","tag-depthcrawl","tag-procedure","tag-ttrpg-theory"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.fluoriteguillotine.com\/blog\/wp-json\/wp\/v2\/posts\/177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fluoriteguillotine.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fluoriteguillotine.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fluoriteguillotine.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fluoriteguillotine.com\/blog\/wp-json\/wp\/v2\/comments?post=177"}],"version-history":[{"count":4,"href":"https:\/\/www.fluoriteguillotine.com\/blog\/wp-json\/wp\/v2\/posts\/177\/revisions"}],"predecessor-version":[{"id":191,"href":"https:\/\/www.fluoriteguillotine.com\/blog\/wp-json\/wp\/v2\/posts\/177\/revisions\/191"}],"wp:attachment":[{"href":"https:\/\/www.fluoriteguillotine.com\/blog\/wp-json\/wp\/v2\/media?parent=177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fluoriteguillotine.com\/blog\/wp-json\/wp\/v2\/categories?post=177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fluoriteguillotine.com\/blog\/wp-json\/wp\/v2\/tags?post=177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}