Tracking Relationships between PCs and NPCs

Non-player characters (NPCs) play a large role when I run games. Sprawling locations, engaging plots, and player characters' (PCs) drives or flaws are all centred around these NPCs. They provide a means for my voice as a game master which allows me to deliver hooks or information about the world, and contrast for the PCs which allows the players to feel distinct and be challenged by the views of others. Despite the hefty role NPCs play in my games, I do not use lots of different voices, speech patterns, or even limited vocabulary to reflect the character. Instead, I focus on what makes that character a person and how they relate to the PCs which I believe makes the character more memorable. This post is an effort to codify the process I go through with tracking the relationships between PCs and NPCs to support myself improvising during play or planning future goals or actions for my NPCs.