City Generation

Map of Paris (1569)

Map of Paris (1569)

When running city-based adventures, players will often ask NPCs for directions to random establishments that probably do not warrant a keyed location on your map prior to the question being asked (e.g., a random blacksmith, general store, inn, or bookseller). At that point, it is helpful to have some pre-canned directions to provide based on how rare the type of establishment they are trying to find is. I have uploaded a script to this site (available via the link or the menu below the site banner) that allows the user to pick the number of direction sets to generate and how many districts the city contains (although these can be quarters, neighborhoods, etc.). I should note one important debt: the descriptive content of the script is based on a blog post at Blog of Holding.

Here is how to use the direction sets generated by this script:

  1. It is assumed you already have: A city map indicating districts (or equivalent), each having at least one marked/named street
  2. When the players ask a NPC for directions, use the next set on the list you pre-generated.
  3. Determine (based on your campaign type, city size, etc.) whether the location sought is a common, rare, or unique location. Check the results to see if the location is in the current district or another as described in the entry. Technically, you could use the script for a single district city (just choose two districts from the drop-down and ignore district indications).
  4. The first direction entry in the result tells you how many blocks down the relevant district’s main street before the first turn in the directions. If you have more than one main street, role to determine which is being referenced; also either make a judgment call or roll to determine direction along street for block-counting purposes).
  5. Next, there is an indication of which direction the turn is off of that main street.
  6. There are then separate indications of how many blocks on the side streets and the number of turns (these details should be improvised and noted for later reference; ignore these if they don’t make sense given the nature of your city).
  7. Finally, there are a couple of short phrases to add some unique descriptive flourishes to the final location.

I hope some other DMs/GMs find this useful; let me know about any problems with the script and I will make corrections.

Final Note: The version of the script on this site is designed for pseudo-medieval/medieval settings (although it may work in other time periods). I will be releasing the source code to all my generators sometime this year, though, and it should be trivial for those familiar with coding to swap out the descriptions to better match their setting at that point.