Every game master learns the same humbling lesson: the players will forget the name of your continent and never forget the twitchy fence who sold them a cursed dagger in session two. They'll walk past the plot you prepared to chase an NPC you invented on the spot. The campaign, it turns out, is not about your lore — it's about its cast, the people and factions the players actually care about, argue with, betray, and come back to. And the cast is the fastest-changing, most contradiction-prone part of the whole world.
Which makes managing NPCs and factions a core game-mastering skill in its own right, not a footnote to worldbuilding. This is the tabletop-specific version of the mapping technique we cover in character relationships mapping: how to hold a growing cast in a form that keeps their reactions consistent, their allegiances straight, and the tavern-keeper you improvised from contradicting the faction you established a month ago.
Track the web, not the list
A roster of NPCs — name, stats, a line of description — tells you who exists and almost nothing you actually need at the table. What drives a scene is not the merchant in isolation but the merchant's connections: who he owes money to, which faction he quietly answers to, the guard captain he's afraid of. Reactions run along relationships, so a cast stored as a flat list can't tell you how anyone will respond to the players, while a cast stored as a web can.
So build the cast as a graph: people and factions as nodes, the bonds between them as labeled lines — allegiance, debt, rivalry, blood, secret. Even a rough version instantly shows you things a list hides: who's central and who's isolated, which clusters of NPCs are tightly bound, where a loyalty crosses a grudge in a way the players can exploit. This is exactly the lens we describe in character relationships mapping, and at the table it's what lets you answer 'how does she react' by reading the connections instead of guessing.
Build most NPCs light, a few deep
You cannot know in advance which NPC the players will adopt, so building every one in depth is wasted effort — most get a single scene. Give each new NPC just enough to react truthfully: a want, a connection or two into the web, a voice or a tell, and whatever they're hiding. That's enough to run them convincingly and enough to promote them later if the table decides they're important. The craft of sketching a character fast without making them flat is covered in how to create a character.
The deep builds go to the NPCs the players actually latch onto, and you'll know who those are within a session or two of meeting them. When the table keeps returning to the twitchy fence, that's your signal to give him a real history, a stake in the main conflict, and connections that reward the attention. Detail follows the players' interest rather than leading it — the same 'deep where they are, wide everywhere else' discipline that governs the whole setting.
Run factions as forces that move on their own
A faction is what keeps a world feeling alive between the players' actions. Give each one a goal, a method, and a pressure it's under, and then move it session to session whether or not the players are looking — the cult recruits, the merchant house corners a market, the rival court makes its play. A faction with a consistent agenda reacts to the players predictably and acts without them plausibly, which is what makes a setting feel like it runs on its own logic rather than waiting for the party.
Factions also multiply the relationship web fast, and that's where consistency slips. Every faction has allies, rivals, and secret ties, and once you have half a dozen, the tangle of who's aligned with whom is more than you can hold in your head across a multi-year campaign. Tracking each faction's goal and its connections as part of the same web as your NPCs is what keeps their moves from contradicting each other — and keeps a betrayal you seed now consistent with an alliance you established a season ago. Holding that straight over time is the subject of keeping a long campaign consistent.
Frequently asked questions
- How do I keep track of dozens of NPCs in a long campaign?
- Track the relationships, not just the individuals. A flat list of NPCs tells you who exists; it doesn't tell you how the merchant reacts to the players, which depends on who he owes, which faction he answers to, and what he's hiding. Keep your cast as a web of connected people and factions with the bonds labeled — allegiances, debts, rivalries, secrets — so you can reason about any NPC's reaction from their connections. That web is also what keeps an NPC you invent on the fly from contradicting one you established months ago.
- How detailed should an NPC be before the players meet them?
- Enough to react truthfully, no more. A want, a connection or two, a voice or mannerism, and whatever secret they're sitting on is usually plenty — the rest you build if the players adopt them. Most NPCs get one scene; a few become central because the table decides they matter, not because you did. Build every NPC light, and pour detail into the ones the players actually latch onto.
- How do I run factions so they feel alive?
- Give each faction a goal, a method, and a pressure it's under, then move it between sessions whether or not the players are watching. A faction with a consistent agenda reacts predictably to what the players do, which makes the world feel like it runs on its own logic. Track what each faction wants and how the factions are connected — allies, rivals, secret ties — so their moves stay consistent as the web of allegiances gets more tangled over a campaign.
CanonBoard scans your whole world and tells you where it disagrees with itself.
Start free