Building Random Encounter Tables

I was chatting with Martin Ralya (from Gnome Stew) about building random encounter tables and thought I’d try to capture some of my thoughts here.

For a long time I’ve leaned toward simulationism in gaming.  I wanted to know why everything was and for it to make sense.

As you might imagine, this was a lot of work.  I’ve grown out of it somewhat, and am happy to work with things that model simulation.

Specifically, I generally don’t map out denizen movement schedules or time charts any more.  Much.  I do still do this for situations where things really are scheduled (such as at a school) or when running an infiltration or time-constrained scenario, but most often random tables work just as credibly.  In fact, they can even work for the other cases — you ran into Harry, Hermione, and Ron because they cut class or something.  Done.

Constructing the Table

Construction of a table is conceptually straightforward, really.

  1. Pick the potential contents of the table.
  2. Choose a roll for the table (usually based on the number of things you want to include).
  3. Assign items to the table.

Pick the Potential Contents of the Table

This is a wonderful time to brainstorm.  Browse your monster books, look up weird things that happen in the terrain, consider the theme of the area (dinosaurs are a good fit in a Valley Lost in Time region, not so much in Renaissance France.  Probably; I can think of ways to make that work).  Don’t bother constraining things yet, you want a fairly decent-sized list to start with.

I find that I like putting in things that aren’t creatures.  For instance, in a swampy area I could say that every few miles there is a chance you find a patch of quicksand, but it might be simpler to just have that as an entry in the table.  Similarly, I ran a scenario in a very cold place and there was a chance for a tree to burst in the cold and hurt someone.

Once you get an initial list together, you may want to trim it down a bit.  Strip out things that you don’t want to deal with (yes, black dragons live in the swamp, but I want to keep dragons special and specifically placed).  If you play with ‘expected danger’ (regions of CR-appropriate encounters) you might want to remove anything that is too high (too low might be in larger groups… though too high might be reduced somehow, such as an owlbear being injured, tangled in some vegetation, or trapped in a pit).

This reminds me — as you create encounters, try to keep a collection.  At one point I had a book of encounters of various ELs, made of weaker creatures.  I don’t like single-creature encounters so over time built up a catalogue of multi-creature encounters that I could draw from as needed.  Sadly, I lost that binder.  Keep this collection handy as well — orc raiding parties are almost infinitely reusable (though often only once each…).

Choose a Roll for the Table

After you have a list of potential table contents, consider how big you want the table to be and the frequency characteristics you want to see.

I try to avoid linear tables.  I don’t want all entries showing up with the same frequency, and I don’t really like manipulating this explicitly, either (given entries multiple slots on the table).  I especially don’t like it if I use a large roll (such as d100).

A triangle curve (2dN) is quick and easy.  2d6, 2d8, 2d10, all are valid.  They give high- and low-frequency results — 2 and 12 each turn up on 1/36 of all 2d6 rolls, and 6 and 8 each show up 5/36.

I find I favor what I call a ‘pyramid curve’.  It’s a little flatter, with repeated values at the highest frequency.  d4+d8 covers the same range as 2d6 with eleven slots, but the lowest frequencies are slightly higher (3.13 vs. 2.78) and the highest frequencies are slightly lower (12.5 vs. 16.67) and repeated (five times).  I really don’t like rolling d4 with another die, though (different wrist motion) so I’d probably stick with 2d6 in this case.  My preferred roll here is d8+d12 (19 slots in the range 2..20).

Assign Items to the Table

Look over the list of potential entries.  I find it’s usually easiest to identify the most common and most infrequent you want to see come up, then assign them to appropriate-frequency slots.

The badlands are largely populated by several tribes of orcs, so let’s make orcish patrols fairly common (slot 9 on d8+d12, 1/12), orcish raiding parties (against other orc tribes, or headed for the farmers in the valley) less common (slot 16, 5.21%), and full-on orcish war bands really uncommon (20, a little over 1%).  Throw in some natural hazards such as loose rock or rockfall (slot 7, 6.25%), bad water (stagnant and bad to drink, easily spotted, slot 8, 7.29%) populated by a gray ooze (not so easily spotted, slot 4, 3.13%), and so on.  I find the exact frequencies aren’t really of interest to me, it’s usually enough to do it by eye.

If you consider relative danger of the entries in the table, you might want to keep the lower-danger items in the higher-frequency slots.  This keeps things relatively predictable, with occasional more-dangerous potential encounters.  You might not have lower-CR/EL encounters on the table at all — a lone goblin in the orc badlands is probably hiding from everything… but there is nothing saying you can’t have them, especially since the relatively helpless goblin might be an escaped slave or the sole survivor of a goblin party that had been passing through.

I usually try to keep things grouped.  I might have ‘low-CR monsters’ at the low end (with enough of them to make for a decent EL to survive the area) and ‘high-CR monsters’ at the high end (alone, so they are still somewhat close to the average for the table), or I might do it by ‘unusualness’ — mundane animals and humanoids toward the bottom, elementals and dragons toward the top.  This lets me manipulate things a little, such as rolling 2d6+8 instead of d8+d12, so I get something in the range of 10..20 instead of 2..20 and it still makes sense.

Even in a region heavily focused on a certain type of creature or encounter you probably want no more than half the entries dedicated to that creature or encounter type, and probably no more than a third.  Yes, it’s orc country, but you don’t need all the encounters to be orcs.

Variations and Funkiness

The above is a straightforward approach and produces workable random encounter tables.  There are a number of things you can do to make them more powerful

Unique Entries

You might have potential encounters that should only ever show up once, or a limited number of times.  If the table is for Hogwarts Academy, once you stumble on Draco Malfoy and strangle the little creep you should never run into him again.

You can stop cheering now.

Strike him from the table.  If you get this result again, it turns out there’s no encounter.  If you let the little prat live, you might find him again.

Alternatively, you could replace his entry.  It might be someone looking for investigate (or avenge) his death, or it might be completely unrelated.

Oh wow.  I just realized this might be usable to greatly simplify my infiltration rules.  See below.

This can be extended to anything where entries may have limited repeatability.  In the orc badlands, there might be only ten patrols.  Wipe them all out, and you don’t find any more.

This might be on a high-frequency slot.  The gray ooze mentioned above might be an example of this — high frequency, so it is likely to be found, but once it is killed no more will be found.  Over time this amounts to low frequency (shows up only once in a hundred encounters) but is fairly likely to have happened early on.

Escalating Entries

This is related to the infiltration rules I mentioned above.  At one point I adapted some rules from Classic Play: Book of Dragons for infiltrating places.  I just realized that a random table with replacements can greatly simplify things.  Have a few entries with ‘patrols’, and as they are wiped out they are replaced with larger groups of sentries and patrols, with increasing perception and readiness.  The first patrols might be few in number and not really paying attention, as awareness of the infiltrators increases the groups become larger and more alert (more likely to lose initiative against them), and at higher levels they are large groups, well-organized and equipped, and setting ambushes.  Sure, an ambush can be a ‘random encounter’, they just happened to figure out this is where you were going and were ready for you.

I’ll want to polish this a bit, probably in another post.


One thing I always liked from the random encounter tables from way, way back is entries (usually at the top or bottom of the table) that lead to tables from other areas.  In a dungeon it might be from a higher or lower level, in the wilderness they might be from another region (aranea coming to visit, drow from the underdark coming to gloat, whatever).  It allows for some greater variation and unpredictability, without being entirely out of place.

Multiple Encounters

A common entry in random tables is ‘roll twice and combine’.  This might be a specific entry (often toward the top or bottom of the table, so it is not too common), but I just realized another way that might work.

For a pyramid roll (d8+d12 in this example), roll two sets, picking one to be the primary.  If the two d8s match, use the entries based on the primary d8 plus each of the d12s, and if the two d12s match, use the entries based onthe primary d12 plus each of the d8s.  If both the d8s and the d12s match, use the same entry twice  (double-size patrol, patrols from two tribes, whatever).

Combine the encounters in a way that makes sense.  They might be friendly to each other, opposed to each other, or something else.  You might find yourselves stuck in quicksand when lizard men show up.  The orc raiders are attacking a caravan.  The gray ooze is feeding on an escaped goblin slave that made the mistake of drinking from its pool.  You run into a couple of orc patrols just as they trade off duties… or two orcish war bands who were deciding if they were going to go to war with each or back down (and might therefore misunderstand just what you’re doing here).

Combination of Above

Various of the options above can be combined.  I might have a random table of unique creatures that could be encountered almost anywhere (or anywhere that meets certain characteristics — the Great White Dragon probably doesn’t go to warm places all that often, but it might sometimes be found in temperate areas), but might be possibly to never see again (if you can kill it, or even ‘just because’, if it’s something that by definition will only be seen once).

Come to that, you might have an entry ‘recurring character’ (or recurring encounter).  In one campaign I had a character who was (retroactively to when he was lost) determined to be an avatar of the god of luck.  For the rest of that campaign he would show up in the weirdest places, with the strangest explanation of how he got there.  He was originally washed down a river, seen by someone else surfing the river on a log, found several days out to sea still floating on the log and surviving on rain water and sashimi, picked up and thrown by a waterspout (hit the sail and slid down, not particularly harmed), carried through a city in a parade….

Almost any kind of itinerant character could be found almost anywhere.  Whether it’s a wandering monk, a trader, King’s Agent, or a rogue on the run from the husband the latest woman he seduced, you can reasonably have a generic ‘visitor’ entry from a standard list.

Closing Comments

There are a lot of possibilities here.  It’s a simple tool and easily constructed, but immensely flexible if you go about it in the right way.


  1. Pretty close to my ideas for wandering encounters, but I’m toying with the idea of including the chance for the encounter in the encounter roll – assuming d8+d12, say results of 8-12 indicate no encounter.

    i’ll need to sleep on it ;)

    • Chakat Firepaw

      I might go for ‘dungeon dressing’ encounters rather than no encounter for at least some of them. So you might have an entry of: “8 – Scent, describe something the party is smelling.”

      You could even include useful tidbits in those encounters. Mind you, they might also relax their guard given that the last two times they caught a whiff of troglodytes they only found evidence of them passing.

  2. Chakat Firepaw

    If there is room on the tables, I am likely to include the too powerful/special placement creatures. Not as ‘you meet this monster’ but as evidence of their presence, (spot from a distance, tracks, remnants of prey, etc.).

    • Similarly this one. I’d expected this sort of information to come up anyway, but doing it like this can, if nothing else, act as a reminder. I don’t look at my notes often enough during play, so a periodic reminder like this can be a damn good idea. Thanks again.

  3. Pingback: Random Encounter Tables: Second Thoughts | Keith Davies — In My Campaign - Keith's thoughts on RPG design and play.

  4. Pingback: Links of the Week: April 30, 2012 | Keith Davies — In My Campaign - Keith's thoughts on RPG design and play.

  5. Gsmith

    I am running a sandbox E6 campaign. I want the wilds to have a “dangerous” feel to them. I am using a d8, d12 table as both the chance of a random encounter and the encounter table. As such I have at least 3 numbers which are blank. Which numbers those are depend on where in the map and whether it’s day or night
    So, I might leave 7, 10 and 14 blank. I then use the 7 and 14 slots for rumors or sightings of the big baddie/s in the area and the 10 slot is no encounter of note.
    Traveling along a well patrolled road will lead to more blank spaces, taking a short cut through the marsh? Well, good luck and god speed team.
    I want a trek in the woods to have consequences, good and bad. Since this leads to an increased amount of encounters, I am also using HP recovery between fights. This lets them go for quite a distance without having to worry about heading to the nearest village for RnR.

    I’ve found this combination works out nicely, and cuts down on the dice rolling while traveling.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back to Top