• Register
Post feature Report RSS What Do Game VO Actors Need? Scripts!

Here's what I know about making good scripts for VO actors in games. Hint - you stick to well-known conventions but tweak it a bit.

Posted by on

In June, I want to record all the voiceovers for the game I’m working on, a puzzle adventure game called The Godkiller. I used to run a VO studio, so I’ve got strong ideas of what works and what doesn’t. I want to give the actors standard-formatted scripts to read from. They look like this:

script

But where is almost all of my dialogue right now? It’s in code.

The dialogue is so coupled to what the player does in the game, a source code editor is, honestly, the best place for me to write it. Often, I need to reference timing and spatial information about the level to decide if a line of dialogue will be “Yes, we should all go east.” or “Onward! Up the stairs!” For the sake of efficient authoring, all the things characters speak and emote in my game are in C# files like this.

code

…which is a lot different than the target script format I want for actors. So I wrote a command-line utility yesterday that parses the source code files for dialogue and exports them to the FDX format that Final Draft (screenplay editing software) uses.

Now, I’ve seen actors do just fine reading lines from spreadsheets and text files. But for best results over a wide variety of actors, I stick with the standard screenplay format. There are some inherent advantages like keeping the text easy to read quickly with a narrow, well-spaced lines. But mainly it’s just about following conventions that actors have already learnt to make VO sessions go smoother with these advantages:

  • Actors read more naturally.
  • Continuity of tone/emotion from line to line.
  • Lines read correctly. (less retakes on missing/incorrect words and lines)
  • Understanding of other characters’ lines. (actor more likely to read lines besides their own)
  • Quick estimates of time needed in session (1 page = 1 minute of recorded dialogue)

My conversion utility takes the emotions used for face animation (happy, sad, irritated, etc.) and exports them as parenthetical in the script format. If I left them as-is, it would completely over-specify the actors’ performances. I edit most of these out because I want the actors to be part of creating the best lines.

By movie or television standards, the remaining parentheticals I have in my scripts would still be too much. If you look at a Hollywood script (here’s one), the parentheticals are super-sparse. But in those cases, you’ve got actors that are studying, memorizing, and rehearsing scripts. In VO sessions, actors come in relatively cold and extra direction in the script saves time.

The branching dialogue in a game can be a challenge to record, because it fills the script with “if condition A then say X” logic. And if I just let all these lines run together in the script, the actor may interpret them as happening linearly in sequence. So I generally group a branch of dialogue under a short explanation of the triggering criteria in the “action” section of the script.

interactive

Sometimes there is a line of dialogue that has multiple variants. It’s important to specify lines are variants, or the actor might try to read them all as continuous dialogue putting stresses in places that will sound strange. So I just do this:

variants

Later, once I have the VO session recordings from the actors, I’ll have to go in the opposite direction – making the game match the performance instead of the performance match the game. Here and there, an actor will improvise something hilarious, or we’ll give up on making a line work as written. Plus, the facial animation cues I’ve got in the game now might not match performances. But it’s a pretty efficient two-pass iteration, and I’d rather capture the better aspects of the performances than shoehorning the actors to the script.

The Godkiller is releasing January 1st, 2022 for Windows and Mac. Wishlist on Steam!

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: