First off, I am horrible with accents, so I don’t even attempt them unless I’m trying to get a good laugh at the table.

Ever since I started using ICRPG I found these two free “cheat sheets”, and a few others, to help me come up with NPC names, appearance, personality, and vocalizing sounds (much easier than accents for me):

I enjoy improvising responses on the spot but I usually just run through my mind ahead of time how I would respond to common player questions. I usually jot down a one liner in my GM notes to get the character started. Otherwise, my brain is wired to associate a lot of experiences with music and movies, so I draw a lot from song lyrics or movie quotes (and movie characters) to help me come up with dialogue.

“Do you expect me to talk?” / “No, Master Dwarf, I expect you to die!”

I keep dialogue short (5 min or less) for ICRPG turns and I generally never “hide” information or make it challenging for the players that may be trying to extract it.

I am not very good on the spot when it comes to inventing dialogue; I just don’t have that kind of timing. So, here are the things I do to make these interactions work.

One, I don’t plan for a lot of NPCs. If you’re running a complete sandbox world where players can literally interact with anyone, I would respectfully suggest that you are setting yourself up for this kind of failure. I can’t role-play an entire broadway production (not many people have that type of brain horsepower), so my spaces are always discrete and limited. Even town. If you are going to role-play town, have six points of interest with six meaningful NPCs. Everyone else is just an “extra” in the production who can comment on the weather. That way, you limit the characters from the jump that you have to portray.

Two, have the NPC stars be meaningful for the plot. If they can’t or don’t drive the story forward in some way, omit them. That way, you can focus on the NPC’s which matter, which means their interactions with the PCs matter. Those interactions are always easier to role-play.

Three, if those NPCs matter, then you can take time to really understand their place in the world, their motivations, and how they would react to certain questions. There is no magic to this step. I just use still, quiet moments to think about how these folks would react. Really understanding your NPCs and their place in the world makes coming up with the dialogue way easier, especially if the PCs surprise you with a question you had not considered.

Four, once I have an understanding of these folks, then I practice three or four key strip phrases that the NPC’s might say. During this phase, I really start to get a sense of the NPC’s personality. I also really refine the key information these NPC’s might impart. If you can breathe life into them this way, role playing them becomes way easier. I usually do this part out loud when I am alone in the car.

And that’s about it, other than the fact that I tend to reuse NPC’s that work. Eventually, players will realize I have the same bartender working in every town, lol.

I relate with your dilemma myself because I struggle a lot with NPCs. My work around is using a method from @GmGrizzly where you consider key NPCs as loot.

This way I hand off the NPCs to players and they basically follow the group around giving loot bonuses to those who have befriended them. Then when it comes to talking I have it so asking the NPC a question is considered an action so I can give the DM answer but through the NPC.

To supplement what Alex said (I’m getting tired of punching the like button whenever that man speaks ):

Instead of trying to figure out what an NPC, or god forbid, multiple NPCs would say/behave/whatnot beforehand, I only figure out their basic motivations and their standing in the story and go from there. This is very easy to prepare and remember and I never get caught off-guard with a question or a request from the PCs because at worst I’m gonna think for a few seconds for a response. Also I don’t have to keep lots of most likely unnecessary detail in my head during the game.

Example: I need an agent for a villain in a town that the PCs will interact multiple times, but I don’t want the PCs to get suspicious immediately. Here’s how I might create such a guy:"Vherrun - A friendly old sage, terrified of death, in league with the villain in return for a promise of immortality".

A simple line, or even something a little as a few words gives me all the information I need about this guy and I can roleplay him in each and every situation because I have clear information about his standing, his motivations and whatever else I need. Also you can infer that he’s not a bad guy himself, just afraid and maybe made mistakes because of his fear. When the time comes he can be convinced to betray the villain or even the villain can betray him (emphasis on promise). This might even get him sympathy from your players. Not bad for an NPC that only has been described with just a single line, no?

If you want more depth go from here and pepper important NPCs with something that sets them apart from the rest. This can be an equipment ("he carries a huge greataxe that is adorned with weird geometrical shapes you can’t make any sense of), an piece of clothing, a phrase he uses over and over again, an obvious and exaggerated personal trait and so on. Anything that is easy to figure out and easy to remember at the table both by you and your players.

I only rarely prepare ahead of time a key piece of dialogue that is very important to the story. I never do accents or impersonations or voices. If you can do these and don’t sound like an idiot, by all means do them.

Years ago when I was reading to my kids the Harry Potter series as it was being published, I learned I only have so many voices. A new book would come out and they would call me out for using the wrong voice on a particular character. My voice acting range is limited. So is my current GM’s (and he is the second best GM I’ve ever had… really quite good!). My advice is not to sweat the accents too hard.

I like the Technical Grimoire article linked above but am not going to memorize a shorthand. What about a simple “sounds like…” and a character’s name? I do a bang on Hank Hill, but it only fits so many NPCs. ;-D. However, I could jot “sounds like Renfro.” Even if no one gets my Peter Lorre, I know the voice I’m going for. I just wish my Christoper Walken was close.

More important than the accent is what the NPCs say and the “what” comes from the “why.” Sure the shopkeeper in Mercantile Number 12 wants to sell his wares, but is he in a bad mood, hung over, just back from a bong break, getting divorced, worried about the growing number of cats hanging out at his home? None of this is really part of the main story — well, that cat thing might be worth a look — but could change what he has to say to PCs. What’s his motivation to talk today? Flip a d4 on his reason to talk table? Generic shopkeeper response table, maybe?

The rank-n-file shopkeeper, when not just an empty shell, frequently seems to be a surly, non-communicative ol’ cuss or a garrulous sort, though grossly uninformed and opinion-less. Neither seem like qualities of an astute businessperson. Just sayin’.

All great advice here, I’m one of the crazies who makes a list of characters I enjoy in movies, books, video games on my phone. I write first and last names, goals, and character quirks. Something simple but enough to run with.

example: Michel Brevis (From Sins of Empire) he works for the regent’s secret service. He is tasked with finding the source of propaganda slandering the regent’s name that is being mass produced and spread to the common people. He thinks out loud in the third person (a critical voice, a selfish voice, and himself).

can insert Michel in into really any scenario, his presence to the players can turn the enemies they are hunting into rebels who are producing the propaganda. Why do the rebels hate the regent? How to they print the propaganda? Who funds the printing? Who has a printing press? Characters that have goals that end in question marks are the best characters to borrow/steal for your own campaign.

Having google docs or Trello (nods to Jason Scranton) on your phone to pull out and type something on the spot is super helpful.