As any developer who’s tried to create a game with branching narrative paths knows, producing them can become a scope management nightmare very fast. It’s not impossible, as many developers continue to show us, but how can a small team manage all of that scope and scale?
Oxenfree, the coming-of-age ghost story game from developer Night School Studio, has a few answers. The game comes from Telltale and Disney veterans including cousins and lead developers Adam Hines and Sean Krankel, who spoke to us about designing an interactive ghost story with a narrative that unfolds like an ongoing, free-flowing conversation between the player and several NPCs.
Oxenfree began as a simple idea that Hines and Krankel say they’ve been tossing around for years. Could they make a game where conversation and dialogue were constantly flowing, and have the player’s contributions to that conversation shape the direction of the story? “We thought, ‘Yeah, that sounds easy! Why hasn’t anyone tried to do this?,'” Hines says. “Then we started designing it and we realized why–it’s very, very hard.”
For Hines, who was a writer on Tellltale’s The Wolf Among Us and Tales from the Borderlands, the first difficulty wasn’t really in conceptualizing the idea of branching conversations, but what those conversations could be about.
Krankel says time was needed to begin making hard decisions that helped them manage what kind of story they wanted to tell and how far it could branch. “That meandering informs Adam’s writing process, because each line can only last so long as the player goes from point A to point B, and how many interactable objects you introduce between those points expands the amount of dialogue that can occur.”
In that process, other restrictions grew as well, creating natural cages for the story’s expanding possibilities. “We decided to have no cutscenes,” says Krankel. “We used dialogue bubbles that grow from characters and are tethered to them visually, instead of having subtitles sitting off to the side.”
“But with no cutscenes, how do we fit multiple characters onscreen? That forced us to pull the camera back. It’s a cool creative choice, but it’s also the only way we can accommodate 4-5 players on screen.”
The game unfolds as a gaggle of teens explore a mysterious island. Krankel brings up a surprising challenge for their 2-D adventure game: the shape of the spaces that the player gets to explore. Oxenfree is sidescrolling throughout, but whether the player moves on a 2D plane or with an illusion of 3-dimensional movement varies in different places, and that decision wound up affecting the very pace and presentation of dialogue.
“We try to let players move in a Z-space as often as possible to let them have a sense of depth, but we have to fundamentally restrict it to have some encounters make sense. In the beach scene early on, when these 4-5 characters are arguing, the conversation system gets to do 90% of the work.”
“But when you’re alone with your step-brother, we were finding that Z-space was almost too open-ended. We had to go back to the idea of players moving through 2-D snakey environments, which lets chunks of conversation easily push you from point A to point B.”
Time is your frenemy
For the most part, Hines and Krankel are satisfied with their management of Oxenfree’s narrative branches—but there was one element that slowed down production more than they would have liked. While voiceover, art assets, and scripting all seemed to be moving at a proper pace, they realized the game’s many unique encounters would need a lot of unique animation and effects.
“This game, we found, doesn’t sing until all the elements are in,” says Krankel. “So we didn’t realize until halfway through development how many unique setups would take place on a per conversation basis. We’d want the camera to behave a certain way, glitching, doing a custom effect, or even pushing in. That took way longer than we thought.”
But while time was their enemy in just the raw effort needed to make these animations, it became their ally in organizing the major beats of the story. As the characters fight to survive the horrors of their environment, major story thresholds are crossed with the passing of individual hours. No matter where the characters are, Hines can write specific events to fire off because he knows they’ll have a certain amount of knowledge at a given in-game time.
“The time thing was a good choice,” Krankel says. “It does a good job framing the player’s understanding of what’s happening, even if the game isn’t linear in terms of how you experience it.”
The last advantage of keeping all this branching scope in line, Hines says, was it helped them dive into Oxenfree’s actual story. Though he’s been interested for a while in coming-of-age tales and the tough choices teenagers face that the rest of us find trivial, the creative limitations of putting a player inside a pre-built character with their own history fueled his imagination. “I think the value of these restrictions are, the player still gets to role play, but at the same time [Alex] is in a moment in her life where she’s choosing who she wants to be.”
“The player gets to take everything in through this new lens, and it’s nice to have them come in fresh and comment on her past, which can affect her relationship with other characters, and so on.”
Hines and Krankel point out they scoped this project from the beginning to be manageable by a relatively small team, and they encourage other designers to tackle games that fit their own strengths and weaknesses. But if you’re working on a branching narrative game, and trying to keep your own tree neatly trimmed, Oxenfree may be a good source for pruning strategies.