Automated Map Filling with Excel
I have created an excel sheet that generates a square (superior) grid and automatically populates squares using a slightly modified version of Luke Gearing's hexfill procedures for Wolves Upon the Coast. In his original iteration, every hex (presumably 6 miles) has a 3-in-chance of being empty, and a 1-in-6 chance each to contain a settlement, a lair, or something Weird.
My grid is a 4x4 squares of 6 miles, further subdivided into 4x4 squares of 1.5 miles. Each sub-square takes, under ideal conditions, a half hour to cross, making each square take 2 hours, or a watch. Beautiful. Anyway, because of the subdivision, I couldn't use the procedures as written, as generating POIs more often across the same amount of real estate paints a completely different picture. This may be fine for some, but I wanted to maintain the relative density of the default rules.
Simple fraction math dictates that if I have a 3/6 chance of something happening and I need it to happen 1/16th as often (4x4 means 16 sub-squares), that's a 3/96 chance. So with all that in mind, here's what I came up with:
The Sheet
The sheet itself is 16x16 sub-squares. I adjusted the margins to be .25in on each margin and that allowed me to make each square 42x42px. This is large enough to have a readable letter in the box. Within each box, I pasted the following formula:
=@INDEX(Hex,RANDBETWEEN(1,ROWS(Hex)))
The Index function allows you to do a lookup against a range, which for my purposes, I've created a second sheet with a table called "Hex" to contain my range. RANDBETWEEN does about what you'd expect, picking a random entry given the parameters you've provided. In this case, I went between "1" and "ROWS(Hex)" which picks a random entry between "1" and "the number of rows in the Hex table", which is pretty straightforward for a linear distribution. If you wanted to do something similar with a bell curve, you can add RANDBETWEEN statements, which allows for XdY rolls.
Moving on - the Hex table is 96 entries long, 93 of which are =" "
so as to keep the squares actually blank instead of reading "0", and the other 3 of which are L, S, and W. So for each of the 256 sub-squares on this thing, there's a 3 in 96 chance of rolling a POI, and a 93 in 96 chance of being blank (remember, empty isn't empty in a hexcrawl). You can reload the sheet with F9 (or refresh if you're using it online) to get a different layout. When you find one you like, you can highlight the grid, copy it, and Paste Values to overwrite the formulas with their results.
Below the grid itself is a box that takes up the remaining vertical space so you can add notes on each POI. Or notes about the region itself. Whatever floats your boat. Currently consists of 18 lines so you should have plenty of space for all of your POIs unless that shit just ends up really dense.
Implications
So because I'm rolling 256 times instead of 16 (albeit with 1/16th the odds of getting anything), sometimes probability does it's thing and I get a bunch more shit than you'd anticipate, but other times you get nearly nothing. On a long enough timeline I imagine it shakes out in the wash but I'm not a probability scientist.
Further Development
So in the Gearing procedures there are subtables to roll on. This could also be automated, but I was working on getting something working quickly. But you could conceive of a situation where your "(L)air" result on the Hex table is itself an INDEX function that rolls on whatever encounter table you wanted to use (and could also include things like a distance roll, disposition roll, treasure rolls, really whatever you wanted), and you could extend this to your settlement and Weird rolls too. This could lead to some unwieldy results and I wanted a single letter to show up in the box.
For now, I'ma throw this up on itch just so the rest of you can play with it. If you do anything cool with it, I humbly request you ping me over at the Gay OSR Discord or leave a comment on itch just so I can see it.