Here’s a DM trick I picked up a few years ago from Tavis Allison of themuleabides: Generate NPC age/gender by rolling d6. Odd numbers are male, even female; higher numbers are older. In more cumbersome chart form, that’s
1 male youth
2 female youth
3 male, prime of life
4 female, prime of life
5 elder male
6 elder female
Define “youth” and “elder” according to the context: in a town, “youth” might mean a 7 year old; in a guard patrol it might mean an 18 year old; in an elven camp it might mean an 80 year old.
I like this die roll because it automatically creates predictably weighted demographics while shaking you out of NPC ruts. I should probably 5e it up by changing the roll to a d7 and reserving 7 for non gender binaries.
You know what? I also have trouble coming up with spur-of-the-moment NPC race. Let’s see if I can’t come up with a second die roll for that.
roll 1d10:
1-6 human
7 dwarf
8 halfling
9 elf
0 other (choose from the uncommon races)
I like the demographics here: humans make up more than 50% of the population and most of the rest is made up of the 5e “common races” (also the OD&D/basic races): elves, dwarves, and halflings. Each of these is about as common as all of the uncommon civilized races together: gnomes, half-elves and -orcs, 4e tieflings and dragonborn, underdark drow and duergar, plus weird exotic and monstrous stuff like goliath, minotaur, kobold, changeling, gold dragon etc. I won’t make a chart for the uncommon races because it would be impossible to remember. I’ll have to trust my spontaneity here.
There’s a problem here: NPC generation is common, and no one is going to keep a printout of this chart handy throughout every game. I can’t make the race roll as elegantly memorable as the age/gender roll, but perhaps some mnemonics will help.
Let’s look at the chart again.
Roll d10.
7 dwarf. Easy mnemonic here. Seven dwarves.
8 halfling. 8 is an important number for halflings because the phrase they most commonly hear is “You ate all the…” An 8 also looks like two fat, half-sized guys standing on each other’s shoulders.
9 elf. I guess a 9 looks like a backwards e for elf. Best I can do.
0 other. O for other.
And then everything else is human.
I’m going to give it a try! I’ll add the random-race d10 roll to the random-age-and-gender d6 roll I make for each new NPC. I’ll just repeat to myself: Seven dwarves, the halfling ate, 9lf, O for other.
Then if you still have bandwidth for a third NPC die roll: remember to make a reaction roll for every NPC (roll 2d6: low hostile, high friendly, modified by PCs’ charisma).
OK, let’s try making a random shopkeeper: A (roll d6: 2) young female (roll d10: 0) uhh, dragonborn. OK, that’s kind of a crazy NPC. Let’s say that her egg was picked up as a curio by a human caravan and sold to the previous shopkeeper, who was surprised when it hatched into a potential apprentice. Reaction roll (roll 2d6: 5) She doesn’t particularly like the PCs – maybe she doesn’t like curio hunters – but doesn’t try to cheat them.
OK, now let’s do the leader of a hostile army. A 5 and a 2. An old man. Nothing super interesting there. Reaction roll (roll 2d6: 11) is a surprise: He likes the PCs a lot: maybe he’s heard about some particular exploit which he admires. He’d love to convince the PCs to switch sides, and if he can’t, he’ll give them all the respect and caution due to a worthy foe.
OK, two NPC rolls, two reasonably inspiring prompts. Good enough for me.
Nice idea!
Beautiful. And I was just looking for a simple way to generate NPCs. Consider this stolen.
Pretty great. I’d add another thing:
If the die is oriented upright in relation to the thrower, that is, how you would write it from your current position, the character is more Lawful. Directly upright, super-Lawful. Kind of tilted, kind of flexibly Lawful. If it’s completely upside-down, so a 6 looks like a 9, it’s absolutely Chaotic. Off-upside-down to either side, less Chaotic. If it’s mostly sideways one way or the other, it’s Neutral. This results in a vaguely 25-50-25 split of alignments. Use the race die for this one.
If the gender/age die is upright, the character is an “upright” member of the community. If upside-down, the NPC is an outcast or generally reviled. Sideways, either unknown in the mass of his town or thought of as a typical person in his small village. Again, most people will be average.
We could toss the die on a throwdown grid for more results. But we come to a per-die interpretation bandwidth issue: is it faster to further add interpretations to the roll, or add another roll? I like how you get two related results per die with race/age, but I’d like to use a d8 instead to give a little more variety.
I’ve been thinking about a wandering monster chart lately: you double up on result spaces and use the high/low result to add interpretation.
For example, say you have a table of 4 wandering monsters:
1 Doppleganger
2 Leper
3 Injured Saint
4 Thief
But instead you could do
1-2 Doppleganger
3-4 Leper
5-6 Injured Saint
7-8 Thief
Which comes out to the same chance for each, but you roll a d8, and you get more information. Say, if it’s odd then the encounter is with a passive monster – one who is sleeping, resting, eating, interacting with another monster, etc. If you roll even, it’s an active encounter – the monster is hunting, or curious, or otherwise tries to come up and engage with you.
Or maybe you have 1d6 of them if it’s odd, 1d6+6 if even. Or you could use it as a vague initial reaction roll for games that don’t have them.
Similarly, I like the idea of using the attack roll as a kind of hit location. If the roll is divisible by 3 the attack hits your shield, for example (and this is a great way to play 0E by the book without a second roll to see if the shield comes into play).
For people who have a special attack, it goes off if the roll is divisible by 7 (10%), 6 (15%), 5 (20%), 4 (25%), 3 (30%), or 2 (50%!). The attack might still have to be a hit to activate, or you could do no-damage trips on rolls too low to deal damage.