On the semi-random generation of content

D&D has a long history of generating the contents of a dungeon room randomly. I think I’ve commented on it before, but can’t find the post now.

But it’s kind of weird because it frontloads things: to populate a room with a monster, first you must populate the random encounter table, then you must determine whether the room contains a monster.

Most of the entries in your random encounter table will be wasted.

When you generate treasure for the beasties, there’s a good chance you’re going to a giant forking table in the DMG, where you have a 2% chance of generating a bag of holding or something.

In other words: the monsters and the treasures don’t speak to each other, and that makes me sad.

And to figure out what monsters you needed, you had to do a lot of work which didn’t give you any idea about what’s going on in the region: sure, you know that there’s a 10% chance of gnolls, but nothing in generating the table gave you any idea what the gnolls are for.

Factions to the rescue!

Factions can be used in wilderness or dungeon adventures.
They are low in fat and high in fiber.
They supply a palette and list of random information which can be used to populate a room, a random encounter, a treasure hoard, or to springboard imagination.


A faction is made out of 3 lists: an NPC list, an Encounter list, and a Treasure list. In all cases, pick a die size to represent the faction’s variance: a very tightly themed faction will use d4s, while a very varied faction might use d12s or d20s. The variance die can also set the spread of available CRs, so higher dice can conceivably create much tougher encounters, and sets the number of creatures encountered, with similar results.

For this example, let’s make an Orc faction. The variance die will be a d6, and we’ll aim for the weakest encounters to be with orcish commoners and the toughest ones to be their leaders. This would be appropriate for around 3rd level characters (because of the toughness of the leaders and the likely large numbers of footsoldiers encountered), or for 1st level characters willing to run from the leaders.

Faction NPC List
First, pick one leader-type NPC per face of the variance die. These leaders will be encountered about 1/[variance] of the time, and should be 0-2 CRs higher than the highest CR encounter we expect to place. Each of the NPCs will be encountered with equal odds.

  1. Mad Gnarbosh, Orc Berserker (as NPC)
  2. Seer Barthozz, Orc Eye of Gruumsh (as monster)
  3. Thag Youngblood, Orc Veteran (as NPC)
  4. Ghorl the Lesser, Orc War Chief (as monster)
  5. Seer Peelah, Orc Eye of Gruumsh (as monster)
  6. Varnargh, Orc War Chief (as monster)

This particular selection goes from CR 2 (the berserker and eyes of gruumsh) to CR 4 (the war chiefs). We could have a greater spread if we wanted! We also didn’t put them strictly in their challenge order: they are ordered in the order in which the creatures are important to the faction.

Faction Encounter List
Next, we pick the rank-and-file encounters, one per face of the variance die. Because of the way we’ll be using this chart, the last spot is a little special (see below).

  1. Orc Commoner (as NPC)
  2. Orc Guard (as NPC)
  3. Orc Acolyte (as NPC)
  4. Orc (as monster)
  5. Half-ogre (as monster)
  6. *Orc Eye of Gruumsh (as a monster)

Our selection here happens to go from CR 0 to CR 2 with one entry per CR listing and each entry covered. You can skip around if you like instead! Double up entries! Whatever you like.

When you roll a random encounter, roll the variance die twice and select the lower of the values.
If the dice are the same, then it’s an NPC encounter (if that NPC is available).
If they aren’t, it’s a normal encounter: read off that row in the chart.
The number of creatures encountered should be a function of the other die — I recommend the difference between the higher and lower roll, though if you wanted to include some very tough creatures you might halve that value or something instead.

For our orc example, let’s say we rolled 2d6 and got a 2 and a 4. We’d therefore encounter 2 guards. If we had rolled a 2 and a 2, we’d be encountering Seer Barthozz.

Running out of Faces

Since the leader NPC list represents named and specific individuals, they can be removed. When they do, their spot on the list goes empty. Later results which would indicate that NPC result if that NPC is unavailable instead encounter a single instance of the encounter list instead with the same value.

Roster Strength, Depopulation, and Promoting From Within

Give the faction a population value. That’s the number of relevant bodies it has: the number of leaders it can field, the number of soldiers it can produce. It’s kind of like the number of hit points the faction has. A small Faction should have three times the variety die’s size in population. A large or burgeoning Faction might have ten times that.

Each encounter reduces the population by the higher of the two dice.

Whenever the party retreats and long rests, increase the current population by 25% of its initial value, to a maximum of its initial value per week left undisturbed. At the same time, fill back up the leadership roster: Slide all survivors towards the high end, and add a single new leader to the highest available slot; fill the remainder with mundane entries from the roster (Nameless the Orc Acolyte is promoted!).

When the population goes below half its initial value, the faction is in decline: all encountered numbers are halved in size, to a minimum of 1.

Aside: Ain’t Nobody Got Time For That

I use the same design for random encounters in the great outdoors: In most wilderness locations, I roll d12 and d8. The lower die is the CR of the creature encountered (counting from the minimum CR available in that biome or from 1, depending on my mood 🙂 ); the difference is the number encountered. For my lists, I use the DMG’s per-biome monster breakdowns. Doubles result in the roll indicated +2.

The results are pretty pleasing. I do end up selecting which actual creature is encountered myself from possibly a very large list, but that’s better than nothing, and feels fairish.

Aside Aside: Dice of different sizes?!

Sure! The larger of the dice determines how many different creatures you might encounter. The smaller determines the spread in CRs. By getting large dice, you’re increasing the size of creatures you encounter, so at a certain point clamping that down with a smaller die will help things from getting out of hand. The d8 and d12 thing lets me have a few warbands out there.


My particular favorite underthought rule is to rule that the difference between high- and low- can generate armies. If the difference between the dice is 5 or less, then that’s the number of creatures encountered, as before. Otherwise, it’s a scale multiplier:

6-8 is a 1d10x10 scale. Remember to add a leader at +4CR in OD&D (and http://blogofholding.com/?p=6936) fashion.

9-11 is a 1d10x100 scale. Remember to add a leader at +8CR and 1 subleader per 100 at +4CR.

Let’s talk Treasure.
I don’t love how there’s just one giant table of Treasure, and it has some jank. I don’t use a lot of personal treasure, just placed hoards.

The treasure table is scaled by size/CR: if the monster with the hoard has a proficiency bonus of +2, use the first line, +3, the second, and so forth.
Pick the “Tier” of the treasure: like a proficiency bonus, it’s a die size and a multiplier, using a similar formula to object hit points:

  1. 2d4x100gp (500 avg) in copper, 1d4 common consumable items
  2. 3d6x300gp (3000 avg) in silver, 1d6 uncommon consumable items
  3. 4d8x1000gp (18000 avg) in electrum, 1d8 rare consumable items
  4. 5d10x3000gp (78000 avg) in gold, 1d10 very rare consumable items
  5. 6d12x10,000gp(360,000 avg) in platinum, 1d12 legendary consumable items

Max on the dice explode; roll them again and sum.

Individual wealth should be 1/100th the value of a hoard, and no chance for items.

More complex Treasure can be generated by splitting the dice up: half the dice are rolled as coins of the indicated types, and the remainder is rolled and then divided: half in trade goods, one quarter in the indicated coinage, and the remaining quarter in mixed coinage of one level up and one level down.

This leaves the interesting stuff out in the cold.
For magic items, you get a number of magic items indicated. You can trade two consumable items at the given level for a permanent item of the lower level, or one item at a given level for two consumable items at the level below.
If a dice explodes, discard previous results and roll on the next higher table (as though this were the next higher type of treasure).

Okay: so much for how much to get. What are the actual things to get?

I say we raid 3e: You’ve determined the rarity, now determine the type, and pick an item of the proper type per item.
Here are our item types:

  1. Potions, jars, bottles & alchemical
  2. Scrolls, maps & tomes
  3. Tools, gear, furnishings & instruments
  4. Weapons & ammunition
  5. Armor & shields
  6. Wands, staves, rods
  7. Jewelry, amulets, rings, charms
  8. Clothing, cloaks, gloves, hats & boots
  9. Vehicles, pets, animal gear
  10. Gems, stones, lenses

Give your Faction some odds on their Treasure dice for whichever categories they might match: roll a d10 twice and take the lower if you’re not sure, but feel free to adjust the odds!

So for example (it’s late and I mostly wrote this on my tablet, so I apologize for its indecipherability!), we have a type IV, 4d8x1000 electrum hoard.
We roll the dice and get 3, 4, 5, 8 which exploded rolling again with a 4 — 24! That’s 2400 to value, split between 1200 gp worth of trade goods and 1200 gp worth of coin. We decide to call the trade goods 10x 50 gp gems and 3x 250 gp works of art.
The remaining 1200gp should be half spectrum and half gold: 1200 ep and 600 gp.

But wait! What about magic items?
1d8 rolled 4 items, and the chart says “rare”.
We could downshift one of those for 3 uncommon and 3 rare, but the party seems healthy: we’ll sit pretty with 3 rare.
We take the lower on 2d10 4 times, getting 1, 3, 4, 6: potion, tool, weapon, wand.

We scan the magic items by rarity at “rare”: we’re probably not going to make it to the wand, because the tool will probably be a permanent item.

We select potion of gaseous form, Heward’s handy haversack, and a +2 arrow.
We could have traded the arrow for a weapon +1 and another uncommon consumable — say we rolled a 2, a spell scroll, a scroll of Melf’s acid arrow.

Actual room generation procedure:

  • Select a faction for the room, either by its location or randomly amongst those which are vying for control of the room.
  • Roll on the contents of room table.

Contents of Room: Roll 1d6:

1: Empty/Red Herring Clue: There’s nothing of interest here except maybe some set dressing or other naturalist fittings.
2: Empty/Historical Clue: Place a long term plot clue in this room or other piece of data dump. If that doesn’t make sense, treat this as an empty/red herring.
3: Empty/Encounter Clue: Roll an Encounter. This room is its lair (site of its latest kill, a dead member of its faction, the place it harvests its favorite meal, etc), but it’s not home now. The next time you encounter a random encounter, it’s the guy you rolled here.
4: Secret: Roll on the Secret table.
5: Encounter: Roll on the Faction Encounter table.
6: Encounter with Treasure: Roll on the Faction Encounter and the Faction Treasure tables.

Room Secret: Roll 1d6:

1: Empty room; Roll on the Treasure table
2: Historical clue; Roll on the Treasure table.
3: Encounter clue; Roll on the Treasure table.
4: Trap clue; Roll on the Trap table.
5: Historical clue; Roll on the Trap table.
6: Historical clue; Roll on both the Trap and the Faction Treasure tables.



About lackhand

I was born in 1984 and am still playing games, programming computers, and living in New York City. View all posts by lackhand

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s