A+B+C: Using combinatorial random tables
Exploring how a few short tables can generate a wide array of items in roleplaying games. It's a useful game design method when space is at a premium.
Unknown Dungeon’s One-Page RPG Jam 2026 is underway! The annual game jam has participants creating roleplaying games on a single sheet of paper. I’m a big fan of this event and encourage you to check it out. In fact, I wrote an entire Make Your Own One-Page RPG guide to make it easier for people to participate.1
Submissions are open from July 12, 2026 through August 16, 2026. More than enough time to come up with an idea and create something!
So this week, we are looking at how to pack a lot of content into a very small space — an important skill when making a one-page roleplaying game.
The classic random tables
In the roleplaying game world, a random table is a list of items with each item associated with a number of a die. This could be a single column of items or it could be a more complex table with multiple columns.2
The Locations and Events tables from Cybermetal 2012 (Adam Vass) shown above are examples of simple, D10 random tables. You roll a ten-sided die and get a single result. The Name/Handle table allows you to roll twice on it to get an independent name and independent handle that could be combined for a single NPC.
Take, for example, this D100 Critical Failure Table from Privateers & Gentlemen (Williams, 1982). Per the rules, if a character fumbles a strike (“he’s done something clumsy or foolish that has done harm to his cause”), the player must make an additional roll to see if a critical failure has occurred. If it has, the player must roll on the table:
Note that when rolling D100 (i.e. two ten-sided percentile dice), there is a flat or even distribution of all possible values. The table groups some of the results to create an uneven distribution. There’s a 10% chance that the character falls. There’s only a 1% chance that the character hits themself for maximum possible damage.
The D20 Hit Location and Wounds Table works in a similar way. Results between 1 and 6 cause the near leg to be hit while results of 19 or 20 are a headshot.
D66 random tables
I’ve written about how to use D66 random tables, but they are worth mentioning here again. They take the pyramid-shaped probability distribution of rolling 2d6 and turn it into a flat distribution. All of the 36 possible results have an equal probability of being rolled. The number of options can also be reduced by grouping the results of one die. You can see many examples of this in Wyrm (Feral Indie Studios), including the Trait tables (above).
As you can see in the image, there are 9 Boons, 12 Scars, and 18 Mutations. This is achieved by grouping either one or both of the dice to yield the right number of options.
In a very small space, many options are given ranging from Superstitious Sellsword to Writhing Limbs. This method would work well in a one-page RPG, especially if you don’t want the full 36 options of a regular D66 table.
Combinatorial random tables
The third type of table is the one I’ve been thinking about a lot lately. It’s different than the others because it actually uses multiple tables to generate one thing, rather than one large table.3
An example can be seen at the beginning of Eleventh Beast (above).
The player rolls 1d8 three times to generate the two parts of the beast’s name and the location. Roll 1-4-3 would yield The Black Goat of Moorgate while 6-5-7 would yield The Bone Worm of Southwark. The advantage of such a table is that it creates 512 beast combinations in a small space.
A similar method is used when generating the person recounting rumors of the beast. This time with three d6 rolls, the player generates a First Name, Last Name, and source of the rumor. This yields 216 different options in a very tight space:
The “Make Your Own Dragon” generator in the latest issue of Tumulus uses this method. You roll a d6 six times to determine the various aspects of your dragon: Form, Breath, Vulnerability, Scale, Lair, and Desire. With six possible outcomes and all rolls being independent, there are 46,656 different dragons that could be rolled using that generator. And yet it all easily fits onto a single A5 page.
Using combinatorial tables
I can think of quite a few ways that multiple, small tables could be used to create a large variety of end products.
Magic spells: Two lists can be used to make a wide variety of spells. The first (A) is a list of action verbs (e.g. banish, summon, wither, shift) and the second (B) is a list of nouns (e.g. cloud, person, undead, frog). When combined (A+B) they generate spells that immediately sound interesting (“Banish Undead” or “Summon Frog”).
Rumors: As noted in ADVENTURE! Make Your Own Adventure, MÖRK BORG adventures often make use of rumors and lies. Multiple tables could be used to generate a wide variety of rumors. Combine the rumor source (A), subject (B), and veracity or truthfulness (C).
Quests: Adventure hooks or quests could be made by combining the objective (A), location (B), reward (C), and obstacle (D).
Planets: If you need some random planets, combine the size (A), atmosphere (B), terrain (C), weather (D), and special feature (E). Just six items on each of the five tables would mean there are 7,776 different planets.
There is, of course, a downside to this method. The individual tables need to be truly independent. Any item from List A needs to be able to be sensibly combined with List B or List C. This means that each item on the lists must be chosen carefully and in the context of the other lists.
The other downside is that the results potentially leave more of the work to the player. If the combined words or features are not detailed enough, it means the player will need to fill in the narrative gaps. Sometimes that’s OK, but it can make playing the game harder for less experienced roleplaying game players.4
Conclusion
Some things to think about:
Make weird games: If you’ve ever thought about making your own game, the One-Page RPG Jam is a great way to give it a try. The Make Your Own One-Page RPG guide breaks the whole project into little, achievable tasks that you can actually do. By the end, you’ll have a published game. Trust me, you’ll feel great!
Pack a lot into a little space: If you have unlimited space, you don’t need to worry about how large your random tables are. If, however, you are making a smaller game, you’ll need to compress as much as you can in a tight space. Using modified D66 tables or combinatorial tables might help.
Check the combined results: Using multiple, small tables to generate things for your RPG usually works well. It’s important to check, however, to ensure that all the results actually make sense. Test your tables before releasing them into the wild.
What do you think? Do these A+B+C tables have a special name or are they just yet another version of random tables?
— E.P. 💀
P.S. Want more in-depth and playable Skeleton Code Machine content? Subscribe to Tumulus and get four quarterly, print-only issues packed with game design inspiration at 33% off list price. Limited back issues available. 🩻
Skeleton Code Machine is a production of Exeunt Press. All previous posts are in the Archive on the web. Subscribe to TUMULUS to get more design inspiration. If you want to see what else is happening at Exeunt Press, check out the Exeunt Omnes newsletter.
Skeleton Code Machine and TUMULUS are written, augmented, purged, and published by Exeunt Press. No part of this publication may be reproduced in any form without permission. TUMULUS and Skeleton Code Machine are Copyright 2025 Exeunt Press.
For comments or questions: games@exeunt.press
The Make Your Own One-Page RPG guide is available as a Print+PDF bundle at the Exeunt Press Shop. You can also read it for free in the SCM archives.
The most pedantic of gamers will say that a single column random table is a random list and not a table at all. I’d argue that even a single column of items is actually two columns because you need to count the die value as a column, thus making it a proper table. If you disagree, you are welcome to make your case in the comments.
I’m not sure what to call random tables like this. They are always of the form where Table A and Table B are combined to make something A+B. I’ve seen them called combinatorial tables or multiplicative tables. Some call them MadLib tables, but I don’t feel like that quite captures what they are doing as they are not “fill in the blank” methods. My favorite suggestion was to call them 3L6, as in 3 x 6-item lists. You are also free to call them Exeunt Tables because all names are just made up.








