The Name of This Post Is Talking Heads

Some of my most enjoyable gaming experiences in recent memory have revolved not around whizz-bang set pieces, but around quiet, personal moments of character interaction. Rather than using dialogue as mere exposition before the next bit of man shoots, narrative games like Life Is Strange, Oxenfree, and Night in the Woods focus on and even revel in the simple human act of talking to one another. Rather than simply triggering the next cutscene or clicking through a script, these games approach dialogue in a more interactive manner. They provide the player a certain agency, an ability to role play, as they move through the game world. As a player you might ask yourself, “Am I gonna be a jerk to this guy? Or am I gonna try to be the bigger person? Will there be any consequences to my actions?”

Sometimes there are, sometimes there aren’t. But even when there isn’t some far-reaching butterfly effect from saying something nice to another character, I think it’s important to provide the player the choice and allow for the idea of consequences. At the very least, “game-ifying” dialogue has the benefit of keeping a player more engaged in your narrative.

But how does one keep track of all the conversational possibilities? How, as a writer and game designer, do you begin to craft the branches of dialogue necessary to allow for this sort of character interaction?

I knew going into Terror High that I would want to implement some level of branching dialogue. Though there are many options a developer might use (ranging in cost from “on the house” to “wait, you want me to pay how much a month?”), the one I latched onto in my search was Yarn Spinner.

Inspired by the interactive fiction tool Twine, Yarn Spinner was developed by the Australian game development studio The Secret Lab for use in such games as the aforementioned Night in the Woods and Knights and Bikes. It provides an easy way to visualize and link each segment of dialogue between characters as a node on a branching path:

It also provides simple syntax to store dialogue variables, which can range from how often a dialogue node has been visited to tracking choices made that affect the game world. Since all this data is stored externally, changes can be made at any time (according to The Secret Lab’s Jon Manning, changes in dialogue for Night in the Woods were made as late as half an hour before it shipped) and be instantly available in your project.

Tracking how often a node has been visited allows us to offer different responses depending on how frequently you’ve talked with a non-player character. For example, in this example below, when first talking to Audrey, our interaction is pleasant:

But if we talk to her again, we’re greeted with a different response:

And if we keep talking to her, the responses grow even more wearied:

As mentioned before, we can also track choices the player has made, which may change how characters interact with them in the future:

By choosing to be nice to Andy, he might very well be inclined to do Agent Cooper a solid the next time he sees him. Conversely, if Agent Cooper is uncharacteristically cruel, Andy might not be so eager to help in the future.

This variety in responses and characters’ memory of our actions allows for characters that feel more like actual people than mere one-note avatars. There is always the likelihood of the player bumping up against the constraints of the game world, whether they be the physical boundaries of the world or depleting an NPC of its scripted responses, but the more those constraints can be minimized or hidden, the more immersive the experience and the less likely the player is to be reminded of the mechanics behind the curtain.

I think it’s incredibly mensch-y of The Secret Lab to release Yarn Spinner for free. I know there are other tools out there for writing branching dialogue, and for all I know the other options out there at the price point of zero dollars may be better solutions for you, but I’m quite pleased with Yarn Spinner’s ease of use and the relative painlessness I had integrating it into my project. As a fan of interactive storytelling, I’m excited for the possibilities this gives me in crafting a unique, engaging narrative allowing for a greater degree of player involvement.

Basically, what I’m saying is I really can’t wait to provide players the choice between telling someone to “chew my mite, grandpa” or “suck chowder, musclehead,” because I am an artist.

Disclaimer: Twin Peaks and all its characters are copyright People That Are Definitely Not Me. The above examples are what is legally referred to as Just for Funsies, so please do not sue me.

Leave a comment

Powered by WordPress.com.

Up ↑