In my experience, NPCs are an underutilized element in most role playing games. They serve a few very limited, very one dimensional roles. That NPC is a quest giver, those NPCs are vendors, and this NPC is a villain. GMs tend either to treat NPCs as “their” characters (a bad idea), or as static game world elements which exist to serve the player. The king would never be found outside of his throne room unless it serves a specific purpose. And once an NPC’s immediate usefulness has ended, or the players have moved on to a new location, the NPC’s notes are filed away, or crumpled up and forgotten. This later method isn’t entirely bad, it’s just not as good as it can be. The basic premise of it is true: non-player characters exist for the sole purpose of serving the players in one way or another. The trick, though, is that the players shouldn’t realize the NPCs exist only to serve them. There are a number of ways to accomplish this which I may discuss at a later time, but for today I’d like to discuss Contacts and Foes.
One of my favorite GMing tricks is one which I admittedly stole out of the online comic Goblins by Tarol Hunt. When I’m first dealing with a group of new players, I like to start things out on the stereotypical side. Taverns, villages under attack, or any typical plot hook will do. Eventually this hook will lead the players to a tribe of typical level 1 monstrous humanoids, such as Kobolds, Goblins, Orcs, etc. Now I should point out that I always go out of my way to avoid having these creatures be responsible for anything evil, and I make sure to drop four or five hints that negotiation is an option. Most of the time, the players assume these creatures are evil, and attack. And in another GM’s game, this might be the right choice, but in my games the only creatures which are evil incarnate are creatures like demons or devils. In matter of fact, the creatures the players are attacking are usually neutral. The creatures defend their home, and then they die. I then point out to my players that they, not the monsters, were the aggressors in this situation. I don’t force any alignment change or anything like that, I simply let the players know that, in the future, they’ll want to pay more attention to the specifics of a situation. It’s a learning experience for them, and the hope is that they apply their learning to all aspects of the game. Players who pay attention are players who survive.
The game moves on without the players being aware of the secret penalty I’ve given them. A group of creatures escaped the destruction of their tribe, and have vowed revenge. After acquiring a few class levels, they’ll hunt the PCs down, and attack them at a later date.
If you think about it, players are making friends and enemies every day. Every person they kill is a person that other people card about. Every plan the players foil is a plan other people were invested in. Every treasure they recover is a treasure other people want. And it works the other way as well! Every person the players help is a potential ally in the future. That doesn’t mean that every creature the players encounter ought to show up at a later time, that would just be a clusterfuck of self referential bullshit. But if a character is interesting, or a quest is particularly engaging for the players, you can reintroduce those elements into your game in a completely different place an time.
Not only does this give your game world more coherence, but it enhances the player’s sense that they’re having an impact on the world. Just don’t make the mistake of expecting your players to remember your pet NPC. I recently made that mistake myself by assuming my players would remember a halfling scout named Tacha. When they first met her she had been a bandit, but after briefly joining the PCs’ party, she decided to settle down. When she had been in the game, they players had loved her, and talked about her for several days afterwords. But even that level of involvement in the character didn’t mean they remembered her when they encountered her as the captain of a city’s guard a few years later.
I like to keep an list of open loops. Enemies that managed to escape, people the PCs have helped, leads the PCs have yet to follow (such as treasure maps), etc.
This is also interesting, though I have never tried something like it:
http://monstersandmanuals.blogspot.com/2011/08/relationship-hexmap.html
Another technique I like to use is to think in terms of power centers that are all interested in the PCs allegiance. I have at least five such power centers in my current game, and the PCs are free to support or ignore any of them (though supporting some will make automatic enemies of others).