DCC RPG Old school Tabletop RPGs

DCC RPG wilderness encounter tables

I needed wilderness encounter tables for the DCC RPG hexcrawl I’m running, but there aren’t any in the book. Jeff Rients created some excellent tables for wandering monsters by dungeon level (which also appear in Crawl! #5), but after searching high and low I couldn’t find any wilderness encounter tables online. So I created some.

They’re broken down by terrain type (for “fantasy western Europe”) and include number appearing for each monster. You can download them as a free PDF: DCC RPG Wilderness Encounter Tables. They’re also available as a plain text file so that you can fiddle with them to your heart’s content.

(2018 update: My tables, along with a shortened version of the design notes, appear in The Gongfarmer’s Almanac – Volume 3, 2018, with excellent editing by Rob Brennan.)

There’s no scaling by PC level or party size in these tables, and they’re not “balanced” in any way. The world is the world, and what’s out there is what’s out there.

To use them, you’ll need a way of figuring out whether or not a random encounter takes place (I use the system from the B/X Expert Set). That’s all!

I love design notes in gaming books, and a surprising amount of design goes into making wandering monster tables (these took me about 12 hours to make!), so the rest of this post is about my goals, process, assumptions, and the theory behind my tables.

Design goals

I went in with a few goals in mind:

  • Quick and dirty — when in doubt, make the choice that sounds the most fun, and do a lot with one roll
  • Showcase the flavor of DCC
  • Give each terrain type its own feel, which should be discernible to players after just a few encounters
  • Use only the monsters in the DCC core book, and use whatever they say (including rarity)
  • Don’t have too few monsters, because lack of variety is dull
  • But don’t have too many, either, because that dilutes each terrain type
  • Reflect “fantasy western Europe,” and a borderlands/wilderlands kind of region
  • Match the terrain types I used in Hexmancer, my system for procedurally generating hexcrawl terrain and features
  • Play nice with B/X D&D’s encounter chances by terrain type, since that’s what I use

The overuse of “men” in the monster names, while matching the feel of Appendix N, bugs me, but I figured changing it would make these tables less useful to others, so I left all of the monster names as-is.


My baseline was always “What does the DCC rulebook say?”

If a monster entry listed terrain types, number appearing, relative rarity, or other details, I used those. If it didn’t, I looked at B/X and/or Jeff’s wandering monster list, and then came up with something that felt right to me.

I excluded monsters that are listed as underground-only, as well as the weird ones that seem like they’d work best as placed encounters, not random ones (extradimensional analogues, for example). I also left out things that only live in hot places or jungles (which aren’t in fantasy western Europe, or in Hexmancer).

Massage, dismantle, repeat

My first step was to list every DCC monster under all of the terrain types where it could appear. That gave me a picture of what a world created with this monster manual might look like, as well as some unique monster for specific terrain types and a host of critters that appear only in a couple places — both great starting points for flavor.

It’s not a short list, but it is short on specific things — normal animals, for example. And it’s a quirky list, which I like! Sure, the world likely does have animals in it the PCs could meet . . . but I didn’t worry about that.

I started out with d8+d10 tables, because that roll produces one of my favorite distributions for encounter tables. But I quickly found that I wanted more granularity, which led me to percentile tables. Those also have the added advantage of making the odds immediately discernible, which I like.

A few hours in, I hit on the idea of creating a template table based on the concept of using “brackets” of monsters to convey things about the world.

Broken out, those brackets look like this (in the order they occur on the table):

  • 10% (1-10) say a lot about the world (and the style of game I like to run), while being quite rare. Results 1-10 are on every table except Water, a big-picture statement about what kind of world feels like DCC to me.
  • 25% (11-35) emphasize the importance of humans and humanoids. Humans, humanoids, and subhumans (which are kind of like a mix of both), are on every table.[1] Humans are big in sword and sorcery fiction, and humanoids are big in D&D.
    • Taken in aggregate, the first 35% (1-35) also serve another purpose: Most of them are things that won’t always just try to eat you. Intelligent monsters, and encounters that aren’t always fights, are both good things in my book.
  • 20% (36-55) round out the flavor of the terrain type. These are often unique to the terrain type, but not always, and they’re indicative of what kind of place it is.
  • 45% (56-100) define the terrain type. You have a 45% chance of meeting each terrain type’s signature monsters. More than anything else on the table, these convey what that terrain is all about.

Seeing those odds in graph form also helped me decide that this was a fun distribution model (column height equals percentage chance of that encounter):

Having a template really sped up the process, too, because it made it feel less daunting. Instead of staring at long lists and not being sure quite where to start, I could just look at each terrain type and go, “Okay, which three say ‘forest’ best? Cool, now which four also look like good forest options?”

I ripped apart my draft tables a couple of times, but once I built them using these brackets they stayed pretty stable. My last couple iterations mostly involved comparing the lists, looking for ways to sneak in monsters I regretted not including (so many!), and — most importantly — making sure that the flavor of each terrain type came through clearly.

In B/X, some types of terrain are more dangerous than others by virtue of how likely it is you’ll have an encounter there: 1 in 6 on clear terrain (plains) vs. 3 in 6 in the mountains, for example. The way my lists shook out, some terrain types are also more dangerous because of what’s on them. For example, you’re 40% likely to meet some sort of giant in the mountains, which seems like fun to me.

Surprises and rolling your own

Two things surprised me about this process: how much work it was, and how personal it turned out to be. If two GMs sat down with the DCC book and designed wilderness encounter tables, I guarantee they’d look different — and probably not much like mine!

They’d use different die rolls, different breakdowns of monsters, and different philosophies about what a DCC world looks like. One would follow the B/X model of rolling once for terrain and then again on a sub-table for that terrain; another would compress things into one roll, like I did, but use 2d6 instead of d100. And since they’d both have to choose a subset of the overall monster list, they’d play favorites (just like I did!).

Chances are, if you’ve read this far, you can think of all sorts of things you’d do differently in building a set of DCC RPG wilderness encounter tables. I included my template in the plain text version, in case you like that baseline.

If you make your own tables, I’d love to see them. Post them somewhere and share them with the DCC community — the more the merrier!

[1] Except Water. Just add “except Water” to pretty much everything. Water is weird because there just aren’t that many water monsters in the DCC core book.

Old school Tabletop RPGs

Hexmancer update and extended example

Thanks to a great question from Rogue Prismatic Golem on G+, I’ve updated Hexmancer to version 1.1. This version includes clearer language for the d24 roll, the d20 roll, and the Byways and Waterways section, plus a new logo. (The logo font is Hexatus, by Koczman B├ílint.)

I also thought it would be a good idea to share a extended example of Hexmancer in use, so I grabbed the five dice it employs and printed out a sheet of numbered hex paper.

Hexmancer in action

For this example, I made 12 Hexmancer rolls, pausing to draw results on the map between each roll — but first, I seeded the map. I apologize in advance for subjecting you to my “artwork.”

Seed the map of Examplehawk

I added a village to the map, picked a terrain type for that hex (plains), included a trail because I figure the village has to be connected to something, and seeded three rumored dungeons out in the wilderness. (The map appears in Roll 1.)

For purposes of this example, I’m not going to check for random encounters or see if the party gets lost, and I’m not going to create features if any are rolled — I’m just showing you Hexmancer. I’m also actually rolling dice — and not manipulating the results — because rolling dice is fun and I want to use this example as a proof of concept.

Roll 1

The PCs are in the village in hex 1208, which is in a borderlands region of Examplehawk. They decide to check out the rumored dungeon to the south (down). The villagers tell them the trail heads in that direction, so they follow the trail.

  • d30: 6
  • d24: 6
  • d20: 10

Their origin hex is plains, so I look at the Plains column in Hexmancer. A 6 gives me plains as the terrain type for the new hex.

They’re in a borderlands region, and they’re following a trail, so I check the fourth row in the d24 table (the third row is borderlands, the fourth is borderlands while on a byway/waterway). I needed a 1-4 to get a feature, and rolled a 6 — no feature. Because there’s no feature, I ignore the d20 roll.

But I also know the trail continues into the new hex, so I’m going to use Byways and Waterways (Hexmancer, p. 2) to see where it leads. I use option 2 (“Party is following the feature”) and just roll a d5 to see where the trail exits the new hex.

I rolled a 4, so I count 4 hex sides clockwise from the origin side and draw in the trail. It exits into hex 1109, to the southwest.

Here’s the map with my new hex added.

Roll 2

Seeing that the trail seems to be heading in the right direction, the party stays on the trail. (From here on, I won’t show you my rolls, I’ll just list them and show you the map.)

  • d30: 29
  • d24: 10
  • d20: 1

Exiting a plains hex, a 29 gives me mountains. They’re still following the trail and we’re still in the borderlands, so a 10 on the d24 roll doesn’t generate a feature. I ignore the d20 roll again.

Using option 2 in Byways and Waterways, I roll a d5 and get a 2. The trail will exit hex 1109 into hex 1110.

Roll 3

The party presses on, following the trail through the mountains into hex 1110.

  • d30: 29
  • d24: 24
  • d20: 6

Looking at the Mountains column for the d30 roll, a 29 gives me plains. No feature again, so I ignore the d20 roll and move on to the trail. I get a 3 for the trail, so it’s going to exit into hex 1111.

Roll 4

The PCs continues on into hex 1111, still following the trail.

  • d30: 24
  • d24: 5
  • d20: 2

24 on the d30 roll yields hills. 5 on the d24 comes soooo close to generating a feature (needed a 4), but doesn’t. I get a 2 for the trail, so it’ll exit into hex 1112.

Roll 5

(In true “live TV” fashion, starting around this point my phone didn’t actually take a bunch of pictures I thought it had taken. You may notice ghostly terrain in unexplored hexes going forward — that’s me backtracking through the finished map, erasing things so I could retake photos for earlier rolls.)

The party decides to leave the trail and head southwest, straight for the dungeon in hex 1012.

  • d30: 24
  • d24: 7
  • d20: 10

Another 24 on the d30 roll, but since the hex they’re leaving is hills I look at the Hills column: a 24 is plains. No feature, again.

This time they’re not following the trail, though, so I glance at Byways and Waterways again. Option 3 (“Party isn’t following the feature”) notes that I only need to worry about the trail if its origin side connects to the hex they’re entering, which it doesn’t.

The dungeon looted, the party decides to head back to the village, buy supplies, and go for the dungeon in hex 1609, to the east. They follow “known” hexes the whole way, so I don’t need Hexmancer again until they decide to leave hex 1208, the village.

Roll 6

When they leave the village, there’s no trail to follow and they go straight for hex 1308.

  • d30: 15
  • d24: 4
  • d20: 10

Leaving a plains hex, 15 on the Plains column makes the new hex plains as well. A 4 on the d24 roll would have generated a feature on the first four example rolls, but now they’re in borderlands and not following a trail.

Roll 7

They head for hex 1409, to the southeast.

  • d30: 8
  • d24: 8
  • d20: 11

That’s plains, no feature, and ignore the d20 roll.

Roll 8

Not knowing anything else about the map, the absence of a trail leads me to decide that the PCs are now in a wilderness region.

  • d30: 24
  • d24: 7
  • d20: 12

Those rolls give me hills, but no feature.

Roll 9

  • d30: 12
  • d24: 12
  • d20: 17

Hills, no feature (other than the dungeon).

Roll 10

The party makes it out of that dungeon, too, and returns to the village via a known route. The next Hexmancer roll will be made from the village, hex 1208, heading towards the dungeon in hex 0806.

  • d30: 2
  • d24: 14
  • d20: 6

Back to borderlands, no trail, and leaving a plains hex, so that roll gets me a plains hex with no features.

Roll 11

They head into hex 1007.

  • d30: 23
  • d24: 9
  • d20: 15

23 on the Plains column is woods; still no features.

Roll 12

Hex 0906 has a feature! Also, the party is in wilderness again.

  • d30: 25
  • d24: 1
  • d20: 19

The terrain here is swamp, and a 1 on the d24 roll would be a feature in any type of region. I look at the first row on the d24 table (for wilderness, not on a byway/waterway) and see that this gives a -2 modifier to the d20 roll.

With the d20 roll (19) now a 17, instead of a getting a village (the 19 result), I get a castle. I could make one up or pull a pregenerated castle out of any number of books; easy peasy.

At this point I assume the party would decide what to do about the castle (or vice versa!), so I’ll stop the example here.


I rolled up 12 hexes using Hexmancer, including a mix of borderlands, wilderness, on-trail, and off-trail rolls. The average chance of rolling a feature across those four rows on the d24 table in Hexmancer is around 13%, or about 1 hex out of 8. Statistically, my one roll that resulted in a feature is about right.

Is it “right,” though? I’m going to sleep on that, but it seems about right for the style of campaign I had in mind when I designed Hexmancer. There would also have been random encounters, at least a couple checks to see if the party got lost, and the fallout from both of those things.

Features are fun, though, and the balance depends on your specific group and campaign — if you want more features, just change the d24 table. You could also seed the map with more stuff, which I’ll be doing tonight for my DCC campaign, probably to the tune of three or four villages and a similar number of features.

After 12 hexes, I’m also left with some interesting questions — and more importantly, so are the players. For example:

  • Where does the trail to the south go?
  • Why is there a castle next to a dungeon?
  • Why is the castle built in a swamp? (Cue Monty Python reference.)
  • What else is out there?

I also see that the terrain in Examplehawk is pretty diverse, but not unrealistically so (at least, not for the value of realistic that I care about for gaming).

Lastly, I should note that it took me much longer to write about each hex here than it did to generate them. After a few rolls, things like “d30 roll under 16 = same terrain” became second nature, and I didn’t even have to check Hexmancer to know the results.

If you have questions or feedback about Hexmancer, I’d love to hear them!

Old school Tabletop RPGs

Hexmancer: Procedural Hex Generation System

I needed a simple system for procedurally generating hexcrawl terrain and features, so I made one: Hexmancer. It’s two pages long, including design notes and acknowledgements, and you get to roll funky dice.

What it does

Hexmancer hexcrawls with your hexes, baby!

Hexmancer is designed to procedurally generate a fantasy borderlands/wilderness region in “fantasy Western Europe,” with occasional wasteland and weirdness, on the fly during play. It assumes that you’re placing dungeons/modules and perhaps a feature or two, but otherwise starting out with the PCs in a village surrounded by a blank hex map.

This 1.0 version has been through multiple drafts and rewrites, but hasn’t yet been tested in play.

(Update: I’ve now written up an extended example using 12 actual Hexmancer rolls, and I took that opportunity to tidy up some of the language and update the PDF.))

Other stuff you’ll need

You’ll need five dice: d5, d6, d20, d24, and d30. (The excellent, and free, Purple Sorcerer dice roller includes funky dice.)

Hexmancer will generate terrain, tell you when features are present, and determine what those features are — but you’ll need to create the actual features.

The recommended resources section used to be more robust, but I edited it in February 2020 after the current owner of Judges Guild turned out to be a massive fucking asshat.


Hexmancer is based on the system found in Wilderness Hexplore Revised, which was created by Jedo of the New York Red Box forums. The core “Terrain > Feature? > Feature” mechanic and the broad relationships between terrain types in Hexmancer owe the most to Jedo’s system.

If you use Hexmancer, I’d love to hear how it went!