Subterranean Adventures is what I'm calling my "essential" D&D rules hack of all editions + a collection of tools, procedures and tricks that make running the game easier or more interesting.
These Subterranean Adventures posts are really quick sketches or maybe call them a "developer's diary". This time it's about NPCs.
So there are NPCs that are your friends and follow you around (like hirelings), then there are highly motivated NPCs whose goals cross paths with yours (villains, antagonists) and there are monsters (which are a kind of NPC). This is not about them, this is about the random people PCs might chat up in a village or city.
1. Here's a quick easy way to create a pretty fleshed out NPCs. Feel free to tweak, add or remove parts as you see fit. First you need some context, of course. Chatting up NPCs in an elven fortress means you're going to meet different people than if you chat up people in a small farming halfling homlet. For completely random people or big, cosmopolitan cities, you can use a master list, like this one I made. But for more concrete places you should probably write smaller lists that fit your setting. Write a few tables like this one:
Tiny village - d8
8: oddball/outsider - roll on the master list
Have one for tiny villages, one for towns, one for seaside places maybe. This doesn't mean you should always use them all the time, it's just a fallback thing that also helps distinguish one kind of place from another (villages from towns, but not village from village).
NPC roll 2d6
*The first die (the one that lands closest to you) indicates age and gender. Odd numbers are female, even male. A high number means advanced age, a low one youth.
*The second die provides situation. A high number means the NPC is well off, a low one means he's not doing too good. An even number means he's satisfied with his situation, but it's being threatened, an odd number means he doesn't like his situation and wants out.
So if the first die is a 3 (young, male) and the second a 6 (well off, wants out) you have a young spoiled prince that would like to be something else, maybe an adventurer.
So if I roll a d8 and 2d6 and get 4, 5, 5 that means we've got an older female metalworker that's doing pretty well, but wants to get out of business. Or if I roll a 6, 3, 6 that's a young woman that brews ale, has a lot of coin, but something is threatening her operation (maybe goblins have ruined her crops or ruffians want her to pay protection money or maybe the church wants to shut her down cause they hate beer).
2. One more thing you need is a name. Coming up with names in the middle of everything can be hard. Grab a sourcebook or tool like the Story Games Name Project, or find and online fantasy name generator or a directory of foreign and/or ancient names. Find a bunch of names you like and make a list of names, print it out or transcribe it into your notebook.
A useful thing to do is to further categorize them according to gender and (depending on your setting) locale, age and race. Dwarves have different names than gnomes, people in the city have different names than people in the country, girls have different names than boys, old people have different names than young. But if that's starting to sound like too much work, just skip it.
If you want, group these names in lists of 12 or 20 so you can roll a die on them. Once you get a name, cross it out and write another. But recycle! there isn't just one person in the world called George.
3. Once you have a character like that (and it all takes like three seconds) you've got a pretty good idea who this person is, what he does, and what kind of adventure hooks or info the PCs might get out of him, more than enough for a random NPC chat. Context means a lot of course. The same dice results in one town might create a completely different NPC in another. The next step depends on whether the PCs are going to hang around here, or if the NPC is going to hang around. If it's just some they talk to once and then skip town, who cares. But otherwise you're probably going to want to weave this NPC into a relationship web of some kind. I'll do that next, when I get time.
When the PCs chat up a random NPC:
1. figure out, based on the context what he does (bartender for example) and roll a d6
2. odd numbers mean the NPC is male, even female. (Flip this every other time or just roll 2d6.)
3. 1-3 means she doesn't like the job and wants to escape his situation, 4-6 means she's comfy in her job but it is being threatened (competition, monsters, bad luck, law...).
4. Name the NPC.