There’s a nice technique I’ve pinned down for play – although it seems to focus on the NPCs acting, it really ends up getting the player characters to respond, and you learn more about them instead.
Funny enough, I got this from a videogame – the Walking Dead game. In the game, there’s a point when a 10 year old girl you’re helping escape the zombie apocalypse, Clementine, asks you, “Did those men have to die?” It’s an emotional gut punch where there’s no right answer.
In terms of tabletop games, the technique is to have NPCs explain what they’re going through emotionally and use the PCs as a sounding board. Aside from making the NPCs more human and interesting, it also causes the players to reveal more about their characters as well – do they give good advice? Are they supportive? Manipulative? Are they too emotionally scared or inept to help? Do they say absolutely the wrong thing to say?
All of this then feeds back into the NPC’s motivations and actions after that – again, improvising is easy because all you have to do is play out on those motivations, and players can see how the impacts they’ve had have been for good or for ill.
It’s a very different play on the idea that NPCs always need something from the PCs – most people think in terms of side quest type things: “Fetch this” “Kill that” “Find out X” but instead, “I’m going through this, and I don’t know how to feel about it” is just as much a request, it’s just one where there’s not necessarily a single good answer and a skill roll won’t solve it.
It also brings up a great way to cross with the player characters’ motivations as well – do they take the time for the NPCs to help them, attempt to convert them to their own causes, do they decide to change their own principles and values after hearing how others are doing?
The way I’m using this is to simply make sure at least every few scenes there’s an NPC talking about what’s going on and what they’re dealing with and how they feel about things – and see what happens from there.