
Kia ora, I’m Eamonn, sometimes known as Mōmoke, you can find some of my games here: https://momoke.itch.io/
How to build an encounter table that doesn’t suck (hopefully)
Or at least, how I built mine for my current campaign, and some of the lessons I learnt along the way.
The game:
The year is this one. The place is also this one, with some key differences.
In 2019, aliens came to earth in three locations: the Peruvian Coast, the bays of Sri Lanka, and the Coromandel. The visitors stayed here for three months, then seemingly left. Everything within a 60km radius of their landing was changed. The players are hobbyists—not experts—travelling to the Coromandel Visitation Zone, looting it for artifacts, and trying to get rich.
While there’s a lot of Zone fiction out there, and quite a few TTRPGs focused on it. None of them felt like a great fit for what I wanted. All were too in debt to Roadside Picnic, Stalker, or Annhiliation. They felt too American, or Russian, for my sensibilities. We decided on Liminal Horror, because of it’s modularity.
I wanted a game that felt local and leant into the strengths of that. We knew the territory and so we could really get into the nitty gritty of overland travel. In terms of prep, most of the land was already there; I just needed to fill it with things.
The random tables:
I wanted to use random tables for a few reasons: 1, I hadn’t before; 2, I had a good grasp of the location and key landmarks; 3, my previous campaign had been very planned out, and while my players had fun, I felt like they didn’t get a lot of opportunities to drive the story. I wanted a game where I was a passive adjudicator, helping them chase down a narrative.
I could have grabbed some random tables from another system, swap out some fo the monsters for my own, and call it done. But it would feel like a betrayal to that premise. What if a place we all knew well was populated by knock-off D&D creatures? I wanted to dive into the weirdness of Aotearoa.
The first table:
My first set of tables was based on Moose’s wonderful Tunnelers Campaign. (https://icbmoose.blot.im/tagged/tunnelers). I would roll encounters in advance to give myself time to think about how to make them more than just a few statblocks in a spot. I planned around each day of travel having two encounters.
I made a d12 table where I would roll 1d4 and 1d12 and these would be that days encounters. Entries 1-4 were more common, mundane encounters, if a little generic.

(Yes, all these terms are meaningless, but they’re meaningful to me).
There were a few problems with this original table, which I noticed in play. This version of the table trended heavily towards the “normal”. Even though Hazards were still extremely common on this table, they weren’t showing up enough to feel like a Roadside picnic.
This table also required a LOT of rolling. Roll for the encounter table, roll the encounter table, roll the creatures in the encounter. Not only that, these were also rolls that I was often fudging. I had laid out the map with some dominant factions focused on certain areas. Which meant that certain outcomes just didn’t make sense in those areas.
Diagnosis:
I had designed these tables with the “best” options in mind. That each day would be a mix of different kinds of encounters. I hadn’t considered chance can be cruel. There were combinations of encounters that just weren’t interesting. (In my opinion, entries 1, 2, 4, and 9. Nearly half the entries here, three of which were more like to show up). Or, there was a chance that I’d roll the same (or similar) encounters again and again.
The biggeset problem was that these encounters, as the kids say, were cooked. Even with time to consider the situation and build them out, these encounters didn’t force players to do anything. The hazards, while interesting, weren’t strong enough to hold an encounter on their own. They were roadbumps, not challenges that made the players feel smart for overcoming them.
My next attempt at the table had some new, clearer goals:
- Every entry on a table should do They should be a powder keg waiting to blow. They should be a fascinating problem to contend with, and avoiding or engaging them should have consequences.
- Those entries should reflect how much something shows up in play. I shouldn’t hide essential, or exciting information behind them. If it was absolutely essential, it should be part of the core mechanics.
- Every encounter should be able to withstand bad luck. Figure out the most boring combinations and give them edges. Add details and teeth. Each encounter should feel like a microcosm of the entire campaign’s vibe.
- Encounters should be trying to get something from the players, they should demand attention and recognition.
Following from that, here were the changes I made to both my game, and the random encounter table.
First, hazard rolls. Every time players travelled to another hex they roll 1d6. On the outskirts of the Zone there’s a 1/6 chance of a hazard being encountered. This goes up the closer they you are to the centre, capping out at a 3/6 chance. These odds can be furhter modified by other factors like travel speed.
Hazards are still random, but they’re way more common. They’re more like seasoning on other encounters. They’re a way to add energy into a situation. If you wanted to adapt them into another game this is where you could use weather or other effects to spice up a situation.
Second, daily effects. I wanted the centre of the Zone to feel more chaotic and I wanted to encourage a sort of “playground behaviour”. So I created an additional table that the players roll every morning. These are things that push everyone off balance (including me), creating both problems and opportunities.
Finally, better encounters. Instead of lower values being “normal” (boring) encounters, they instead reflected the default amount of threat that encounter brought with it. These encounters aren’t my final design, but they’re a start in the right direction. I’ve tried to make each encounter reflect what my players and I wanted our game to be “about”. If we only rolled one number the entire game we’d still get a bright and interesting picture of our setting.
(Sidenote: Create a few pillars or goals at the start of a game, and be honest about what would interest you and your players. Try to make every entry touch two of these, at a minimum.)
The updated table:

Now, is this a perfect set of tables? No. But they’re good enough for me to start iterating.
One of the biggest problems I can see here is that none of these encounters have a fun amount of specificity. A ‘bad situation’ isn’t as interesting as ‘trapped under a tree’ or ‘surrounded by wild animals’.
So here’s another try with a bit more specificity.

I’m a little more interested in these, as they feel a little more like they’re starting with momentum and heading in a direction. There’s still holes to plug up, but this is a much stronger set of tables, and all I’ve done is look for where I’m being generic and zoom in a little.
How to make random encounters work.
What makes a table actually work isn’t their entries, their layout, or their odds. What makes a good encounter table is your ability to implement it.
The random table is not a way to fill out a map or add randomness to a game. They’re your representation of the world’s ecology. Not in terms of predation and prey (though that is part of it), but the giant network that connects all ficitonal life. How do things talk to each other?
This table is like my satellite image of this strange Coromandel. Every entry is happening in there, somewhere, and I’m ten-thousand kms in the air, taking a snapshot. Every entry is happening somewhere on the map, all at once. Each of them is tugging on pulling on each other like a web. The roll is just to decide where in that web the players are stuck like a twitching fly.
If your table shares “three wolves”, and “1d6 brigands”. Those things are in conversation. Are those wolves the escaped pets/mascots of those soldiers? Or are the brigands wanting revenge on the wolves that killed their captain?
If a good table creates a situation full of potential energy, then a great table makes sure all that energy is aimed towards something. Factions are at war, histories are playing out, people are just missing each other. Each individual entry can be quite shallow (‘a travelling merchant hastily hands you a fabrige egg’), but together they paint a wider picture (‘a detachment of guards, red-faced, are looking for the King’s missing alchemist’).
If you’re designing tables that are meant to be read by other people, this is where your focus should be. Encounters should involve something pursuing another goal, or entry, actively. This encounter gets even better if that goal centres on the players and forces them to respond and react.
Here’s another example:
- Bad entry: 1d4 orcs
- Fine entry: 1d4 orcs, searching for treasure.
- Good entry: 1d4 orcs, escaped from Coughrock Mine, looking for where the Baron hid their pay.
- 1d4 orcs, escaped from Coughrock Mine, assuming that you’re sent by the Baron, and you have their witheld pay.
Trusting the table:
While we can fiddle about with entries until we think they’re perfect, at a certain point, you can squeeze the most juice from just trusting the table wholeheartedly. For me as a GM, this is what makes the game really fun.
Early on in our game, players rolled several back to back encounters with “Santa Claus”, a sort of holiday dragon made entirely from Christmas decorations. All of these encounters were centred around the North-western corner of our map.
Reading these results in a curious and repairative way is really exciting here: What is Santa Claus trying to protect? Looking at my map, I can see there’s a mountain range and a quarry. Is there a nest here? There’s also quite a few radio towers in the area, does Santa Claus see these as threats to his territory?
All of these questions are things that add to the texture of this campaign. They’re also the kinds of details and answers I could only arrive at by letting go of my own control, and letting the random encounter table take precedent.
It’s that stuff that keeps me coming back each session, excited to see where these tables take us.
Joesky tax:
Now, I think I’ve done enough tables to hopefully pay my Joesky tax, but just in case, I thought I’d cover my bases.
In line with this theme, here’s a “what is the encounter doing” table:

