Domesday / Medieval Demographics for your Hex Map Descriptions

 ... or, how I became a mad scientist of spreadsheets and abulafia-style random generators!

I've mentioned elsewhere about my project to convert my old hex/encounter generation system (using a spreadsheet) over to a table-based random generator called "Hex-Describe" by Alex 'kensanata' Schroeder. (found at: https://campaignwiki.org/hex-describe)

One such item that my tables will generate are settlements: towns, villages and hamlets. And what do PCs want from towns, villages and hamlets?

  1. A place to sell their crap to get coin.
  2. A place to spend their coin to buy crap to help them get crap to get coin.
  3. A place to find information on where to get more coins or crap to sell for coin. 

To find out the likelihood if those businesses that buy/sell items or provide rumors are present in a settlement, I usually turn to an article written in the early 2000s. "Medieval Demographics Made Easy" by S John Ross, easily one of the neatest and most useful (IMO) RPG-related articles written.

Most fantasy GMs or medieval wargamers have, at one time or another, wondered how many magic-bean-sellers there were in a village of 600 individuals. Well, SJR did some research and put a few numbers together - enough that it's given folks a starting point over the past 20 years or so. 

I've used "MDME" quite a bit in my Etinerra campaign, so it was an obvious choice to include that information in my tables... but not so obvious when I realized that I had to generate a lot of text for up to 80 possible population sizes (from 100 to 8000, increments of 100) and for 52 different businesses. That's 4,160 data points - uhhh... that's a lot of text.

Now, keep in mind that if I wanted to expand on what type of settlements I'm generating, a lot of cities can go up 20,000 folks living in fantasy-land. That's over TEN THOUSAND combinations of businesses to population sizes to figure out! So yea... it was time to come up with a new approach!

Spreadsheets to the rescue.

Without getting into too much detail, I created a spreadsheet that calculated the numbers and spit out text like "23 magic-bean-sellers" in a cell for a population of 6,800 individuals, or a weird looking set of formulas that hex-describe would use to calculate by a dice roll if a magic-bean-seller had set up shop in this tiny little hamlet. The text/formulas are in a format that I can copy/paste into my random table text file, do a bit of fix-up and it's ready to be used in hex-describe or an abulafia-compatible random table generator.

The original version of the spreadsheet and resulting hex-describe table was tuned for my Etinerra campaign, but I created a more generic version for you all to use.

-----

The latest version of the text file that can be used with hex-describe will always be here: https://pastebin.com/raw/gDpBktHy

I'm releasing this file into the public domain. See the file for details and attributions.

How to use these tables:                                                    

  1. You can point hex-describe to the link above, or  
  2. You can copy these tables into your own table text file that you are pointing hex-describe to, or 
  3. You can host this text file somewhere and point hex-describe to it.

To use the data within, we'll make use of hex-describe's indirection feature.

Example: I'm generating a small town:

;small-town
1,[store [[1d2x1000]+[1d10x100]] as population]**Small Town of [townname1][townname2]**.
 

To reference the appropriate domesday table so I could figure out what businesses were in this small town, I'll reference the population when I'm calling the domesday tables:

;small-town
1,[store [[1d2x1000]+[1d10x100]] as population]**Small Town of [townname1][townname2]**. Businesses available: [common-domesday-table-[same population]].

If my population is 1300 souls, then I'll end up referencing:

common-domesday-table-1300

What hex describe will return is something that looks like this:


The following tables are provided in this text file: 
(XXX is replaced with a number from 100-20000, increments of 100)

 [common-domesday-table-XXX] - the businesses by population size tables

 [common-domesday-guards-table-XXX] - num. guards by population size tables

 [common-domesday-nobles-table-XXX] - num. nobles by population size tables

 [common-domesday-lawyers-table-XXX] - num. lawyers by population size tables

 [common-domesday-priests-table-XXX] - num. priests (potentially clerics) by population size tables

 [common-domesday-clergy-table-XXX] - num. clergy (layfolks) by population size tables

These tables are based on the MDME article and SJR's numbers that he came up with, or the formulas he used. 

-----

BUT... you might ask, WHAT IF I want to customize those numbers, or add new businesses AND have this neato-nifty table text generator gizmo do my work for me? Or what if I want to add punctuation of some sort between the entries?!

Well, then you get to open the hood of the spreadsheet that I used to generate the tables! 

https://docs.google.com/spreadsheets/d/1G8AZf2tBOtGYr5AEKis7_AZYpJ1_T18LFYp_mi_rikY/edit?usp=sharing

There are instructions and a FAQ in that spreadsheet, but it's pretty meta and a bit of mad-science/alchemy, so read them, be warned and have fun!


Enjoy! Let me know if you find this useful.

Comments

Post a Comment