Having a list of names for random NPCs is one of the most useful pieces of prep you can do as a GM. Many GMs learn this the first time a PC grabs the last surviving goblin and yells “WHAT’S YOUR NAME!”
“… Um, Paul. The goblin’s name is Paul.”
“Paul, really?”
I learned this lesson when I ran my first proper city campaign.
In a city, the streets are filled with people, any of whom can become witnesses, obstacles, or accomplices to the PCs’ current hijinks. At a moment’s notice, my players would challenge me to improvise an entire NPC on the spot: “I grab a random person and ask them to swap jackets!”
How did I do it?
I prepared more than just names.
I’m Colin, and I’m a professional video game designer. This is Drolleries, where I write about d&d, ttrpgs, and game design.
Trying Not to Break the Illusion
At first, I only had a list of names. So before my players asked for an NPC’s name, I was improvising from nothing. Straight from the dome.
When I described the guards my PCs were trying to sneak past, I resorted to my default cultural settings. “Um, he’s a guy, I guess. Average height, wearing guard clothes. Nothing special.” And this kept happening. When forced to improvise, I instinctually described everyone as a human male of average build.
But I was running a campaign in a multicultural city, with people from all species and cultures! The fact everyone was a male human was 1) boring and 2) inconsistent with the world I was trying to establish.
In order to correct myself, I intentionally sprinkled in the occasional she/her and they/them pronouns, trying to make the fiction of our game reflect the people I know and love in real life.
But without any other identifying details, an NPC’s gender was often forgotten, and when my players respectfully corrected each other to avoid misgendering an NPC, it broke the flow of the game. And for what? An random faceless NPC?
My players would describe how their ray of lightning killed the cultist. “His body burns to a crisp and slumps against the pillar.”
Then another player goes “He was a she, actually.”
“Oh. Sorry, my bad. Um, she’s dead though.”
In order to stop confusing my players, I needed a few more identifying details for players to hook their imagination so that random NPCs could be believable, and so when I announced their gender, it didn’t feel like arbitrary GM fiat or busywork.
What if instead of just names, I also randomly generated their gender, species, and culture?
How I Generated NPCs
Before the session, I would roll on the following charts to generate NPCs, then assign names to them based on their culture.
Importantly, my charts were based on the setting of my campaign - the most common species & cultures had higher odds of being generated. If you do something similar, I encourage you to customize these charts.
This campaign was set in the island city of Blackwater - a multicultural city of pirates and criminals bound together against the royal navy of Verona.
Gender. Roll 1d10.
1-4: male, he/him
5-8: female, she/her
9-10: nonbinary, gender-fluid, they/them
Species. Roll 1d20.
1-3: human
4-6: halfling
7-9: dwarf
10-12: orc
13-14: elf
15-16: half-giant
17-18: tiefling
19-20: dragonborn
Culture. Roll 1d20.
1-5: Blackwater, a city of pirates, criminals, and outcasts
6-10: Verona, a Renaissance land of high culture and cutthroat politics
11-13: Aldish, a fallen kingdom of warring dukes and barons
14-16: Qantari, an theocratic empire of academic & technological progress
17-18: Drengr, the seafaring tribes from the frozen Northlands
19-20: Menkar, people of the sietches deep in the Infinite Desert
Here are some examples I rolled up just now.
Hafiz - he/him, elf, Qantari
Adeline - she/her, human, Blackwater
Gonzalo - he/him, halfling, Veronan
Ines - she/her, tiefling, Veronan
Beket - they/them, orc, Menkar
Did It Work?
Yeah, well, kinda. This system doesn’t create great characters, but it gives me something simple to describe when I need it.
What’s the guard look like? Look at the top of the list… It’s a male elf with glasses and a long flowy robe. How bout the next guard? Next one, um… It’s a woman with gold teeth.
Because I already have a good idea of how to represent these species and cultures in my world, I can easily improvise from this starting point. Even if it is a little cliche.
Too Many Details?
But didn’t you just write about how random details do not a good NPC make?
I’m not trying to generate characters, I’m just creating a blank slate to improvise from at the table. It’s just name, species, gender, and culture. Just enough to describe which NPC is hit by the fireball. “I need Dex saves from the pirate woman and the elf guy.”
This doesn’t replace how I create NPCs for my game. It’s only for the 5% that fall through the cracks and come up during play. If the PCs involve a random guard in their plan to heist the bank, I can improvise from this blank slate, then come back next session (or after a bathroom break) with a stronger idea for who they are as a character.
I see the utility for some GMs in random appearance & personality charts, but it just doesn’t work for me personally. Instead of using them as a launch point, I see a random quirk and I freeze up trying to roleplay it.
I just need a starting point to ensure that not everyone in this diverse city is a human male.
One Step Further: Alignment & Factions
After deploying this with success, I looked further. What else would help me improvise?
I realized I often had to decide if a random NPC aligned with the players or not, if the players involved them in their schemes. Would a random shopkeeper be sympathetic to the PCs’ goals? Or hostile to them? Or neutral and able to be convinced? Similar to the question about gender, I wanted the answer to this question to reflect the reality of the world and not be subject to GM fiat every time.
So I added a chart for the NPC’s alignment. Not law/chaos/good/evil alignment, but alignment with that specific campaign’s themes and villains. Similar to a reaction roll from OSR games.
For example, when my PCs were agents of the Veronan Prince on a mission in the pirate city of Blackwater to recover sensitive government information, I used a chart like this.
Alignment. Roll 1d6.
1: hostile to Verona, aligned with the pirate queen Lady Vanessa
2-3: hostile to Verona
4: hostile to Verona, hostile to Lady Vanessa
5: neutral
6: aligned with Verona
And when my PCs were intelligence operatives for the regent Prince Salazar, opposing the invasion of Lady Vanessa and managing a political feud between the noble houses and the guilds, I used a combination of these two charts.
Alignment. Roll 1d6.
1: allied with Lady Vanessa
2: support Lady Vanessa
3: neutral
4-5: support Prince Salazar
6: allied with Prince Salazar
Faction. Roll 1d8. The NPC has a connection to this faction.
1: House Baquero (The Prince’s government)
2: House Galvan (taxes & treasury)
3: House Vorona (navy/military)
4: House Navarr (church)
5: House Alvaro (imperial university, arcane magic)
6: The Fulcrum (trade, finance markets)
7: The Broadsheet’s Guild (news)
8: The Rasp (transportation)
Using These Charts
When I generate NPCs, I don’t write down any more details about what their job might be, or why they are aligned with a certain faction. I let that naturally emerge based on the circumstance of their introduction.
Maybe a guard for a bank whose faction is House Vorona is a veteran of the royal navy. Or maybe if their faction is The Broadsheet’s Guild, they’re just a really avid reader of the broadsheets and don’t want to see their power in the city diminished.
Of course, I’ll happily ignore anything that doesn’t make sense. I’m not beholden to the results, these are more like sparks tables that are specific to my worldbuilding.
Tables for Medieval Fantasyland
To playtest my new heroic fantasy ttrpg, I’ve been running games in Alden, my medieval England/Europe analogue, which is a more generic medieval fantasyland, similar to Greyhawk or Birthright. Here are the charts I’ve been using, which may translate better to your setting.
Gender. Roll 1d10.
1-4: male, he/him
5-8: female, she/her
9-10: nonbinary, gender-fluid, they/them
Species. Roll 1d20.
1-5: human
6-9: polder (halfling)
10-12: dwarf
13-15: elf
16-18: orc
19: devil
20: dragonborn
Estate. Roll 1d20. What part of medieval society do they belong to?
1-2: criminal or outcast
3-9: commoner
10-16: merchant or other wealthy commoner
17-18: clergy
19-20: nobility
Alignment. Roll 1d6. What do they think about non-human creatures and the wilderness vs civilization?
1: hates non-humans and the wilderness
2-3: fears the wilderness
4: neutral, wants balance
5: accepting of non-humans, unafraid
6: hates civilization
Would you use this method? How do you improvise NPCs at the table, and what aids do you prepare for yourself? I love reading people’s different perspectives in the comments, so let me know what you think.
The B/X reaction roll can be really useful in these interactions with random NPCs. 1st edition also has lots of tables for random background generation, including attitudes towards other groups and knowledge they may have about the world.
I like the idea of having pregen NPCs in the hopper as needed