Best Practices For Writing Branching Stories

Writing branching or interactive stories can feel challenging if you have never tried it before. We’re excited that you’re taking on this challenge with us! How you write a branching story can vary slightly depending on your platform. In this guide we’ll be focusing on how to write branching stories for our platform Sana Stories, using our Sana Writing Tool.

You can read more about our writing tool here. A more in-depth guide for using the Sana Writing Tool can be found here.

In this guide we’ll focus on our recommended best practices for designing the branching stories themselves.

Let’s start with some terminology and how the stories are built in the Sana app.

Story Structure

First things first! Branching stories in the Sana app are built around these three elements:

  • Story blocks
  • Choices
  • Branches

Story blocks contain the actual text of the story. You can think of them as short scenes interrupted by choices that lead into new scenes. One block can, and usually should, contain several paragraphs of text. A typical length for one block is 200–300 words, but this can vary depending on the needs of your story. For readers, the blocks just look like long pages of text.

Choices interrupt the story to let the reader pick a direction. Technically speaking, which of the following two blocks do they want to read. In the app, choices look like buttons that contain a single sentence: a choice prompt. This sentence should give the reader enough clues about what lies beyond the choice. The Sana app supports giving readers two options at a time to choose from. So, technical speak: each block can have two choices leading out from that block—and as many leading into it as you need!

Branches are the combination of blocks and choices, the different paths your story can take. A story always starts from a single block, then branches off into different, well, branches. These branches can then either be brought back together into the main branch, from which they can branch off again, or the different branches can split further. Your story can also branch off into different endings! But remember: a single branch, from the beginning to the end, must always contain a complete story that is logical and understandable in itself, without the information from the blocks and choices it skips. Otherwise your readers will be really confused!

If you’re getting confused yourself—don’t worry! Thinking about your stories in this new way will get easier with practice, we promise.

Story Outline

Before you begin drafting your story, it usually helps to sketch an outline to review the breakdown of plot points and character development. Post-it notes or other visual ways of planning the structure can help.

You can write a short summary of each chapter or section, even each block, if that helps you understand your story’s structure better. (Don’t worry about getting every detail right, it’s always good to leave room for some improvisation. Your characters might have their own ideas on where to take the story!)

It’s also a good idea to already include in the outline the choices you will give the readers. Like with the outline, don’t sweat the details. That’s what revisions are for!

Along with your outline, it might be helpful to write down brief biographies and physical descriptions for your characters. This way you won’t forget the color of their shirt. Or hair!

Choice Design

Designing the choices is often the trickiest part of writing a branching story! Here we’ll give you several tips on how to become an expert at it.

The basics

Currently, the Sana app supports giving readers two options per choice. It’s a good idea to make the options different enough from each other. They should also give the reader a clear hint of what happens beyond each choice.

Choice options are usually written either in the same point of view (POV) as the story or from the POV of an omniscient 3rd person narrator. They can be actions or dialogue. It’s best to keep each choice option short, one line of dialogue or one sentence per action (an ideal length is no more than 100 characters, the max limit is 255).

Choices should ideally be paced out throughout the story in such a way that readers are prompted to make choices often enough, but not after every couple of lines.

Please note that currently Sana app doesn’t support the kind of complex conditional variables that are often used in more game-like interactive fiction. This is because we want our stories to feel more like books than games. (Please see “Types of choices to avoid” below for more information.)

Also note that choices are not monetized. There are no premium choices; readers never have to pay to make a certain choice.

Simple choices, nesting choices

Simple choices give readers a choice between two different scenes, both of which then come back into the main branch, where the story continues as one.

But sometimes one choice option will lead to more choices, creating nesting choices and multiple branches. These, too, can eventually come back to a main branch, or maybe they will lead to different endings!

Types of choices we recommend
  • Choices with Consequences: Strong choices lead to immediate consequences that readers experience right away. The consequences can be big or small, simply lead to a different scene, or completely split the story into two separate plotlines.
  • “Non-Judgmental” Choices: The choice doesn’t present “right” and “wrong” options, nor does the writer seem to inject their own opinion or moral judgment based on what the reader chooses. A non-judgmental choice doesn’t mean that it won’t lead to negative consequences, but any consequence should feel like a natural story progression, not that the reader is being punished for making the “wrong” decision.
  • Difficult Choices: Difficult choices are great! These can present two awesome options the reader has a difficult time choosing between, or two heartbreaking options the reader agonizes over.
  • Choices Revealing Different Facets of the Protagonist’s Personality: The options you give can show off different parts of the protagonist’s personality. For example, one dialogue option might be more sarcastic, while the other is more forgiving. Naturally, the different options should also lead to scenes where this difference is obvious and matters.
Types of choices to avoid or use sparingly
  • Choices with Conditional Structure / If-Then Choices: Choices with conditional structures are very common in more game-like interactive fiction. They add an if-then condition to a choice, which then later in the story results in different text being shown to the reader based on that early choice. Our current system is not designed with these types of structures in mind, and the only way to represent them is to make each if-then choice into its own branch. The further away from the original choice the conditional alternative text is, the more complex the branches become. For this reason, these types of choices are best avoided.
  • One-Choice Options: Readers are only given one option, an action or a line of dialogue, which  they must choose to continue reading. These one-choice options simply transition the reader from one part of the story to the next. They can be used to break up longer chapters, or to bring the story back to a main branch. In these cases, a simple “Continue” will usually do the trick.
  • Synonymous Choices: Choices where it is difficult for the reader to see a difference between the two options. It’s as if both options are the same, only the prompts are written a little differently. If these similar options do lead to very different outcomes, readers are likely to be confused. And if they lead to very similar scenes, readers might be disappointed.
  • Uninformed / Confusing Choices: Readers have no idea what the options will lead to or what the consequences (positive or negative) will be. Some surprises are good, but readers should be able to forecast what might happen based on what they choose.
  • Meaningless Choices: Readers want to experience the effects of the choices they make, even if that choice is a relatively minor one, such as the choice between two different locations for a date night. Choices should always have consequences! In the example of two different locations, the different locations could then have an influence on the events of the story, or highlight different aspects of the characters.
  • Illusory Choices: Readers are presented with two choices, but the second one is illusory and leads them into the first one. These types of choices can be extremely frustrating for readers, because they can feel tricked into making a choice they didn’t want, or they might wonder why they had the options in the first place.
Writing tips
  • Much of interactive fiction is written in 2nd person point of view with “you the reader” as the main character. You can absolutely do this if that’s your jam, but usually more traditional 1st and 3rd person POVs are the better choice. Also note that 2nd person POV can be used without directly addressing the reader or inserting them as the main character. No matter which POV you choose, in branching stories it is best to stick to one POV throughout the whole story.
  • Use exclamation marks sparingly! When used in excess, they lose their effectiveness and can start to feel tiresome. Try to come up with other ways of conveying to the reader that your characters are shouting or excited.
  • Try to avoid using character dialogue to explain to the reader things the characters already know. This can make the dialogue feel heavy and unnatural. The best place for exposition is in the narration.

For example, instead of having one character explain:

“As you know, Bobby,” I said, “my brother and I have been on our own ever since our dad disappeared. All he left us was this car and his diary, which contains a lot of useful information about various kinds of monsters. But you know us. We’ll manage somehow.”

Keep dialogue and narration separate, like this:

“You know us, Bobby,” I said. “We’ll manage somehow.” There was no need to explain, he already knew it all—how our dad had disappeared, leaving my brother and me to fend for ourselves. At least Dad had left us the car, and his diary with all its useful information about various kinds of monsters.

  • Whenever possible, add sensory details to immerse readers in the scene. These can be anything that evoke sight, sound, touch, taste, and smell:
She tripped over the corner of the mildewed rug. Her ankle rolled under her weight, and she braced herself against the cold, dank floor as she fell. She gasped as the shock crept up through her palms and arms. Then several pangs shot across her foot and she slapped her hand over her mouth to keep from shouting. Reaching around in the dark and wincing from pain and the overwhelming smell of rot coating her throat, she found the wall and steadied herself, as her fingers scurried about cracks and pockmarks to find a light switch.


The more variety of sensory details, the better! The above example is crammed full of them, but in practice it’s often best to choose a few that best communicate the mood of the scene or the details you want readers to focus on. Thinking about it from your character’s POV, what are the things they notice about their surroundings?

  • Try to limit the length of your paragraphs to five lines or less. This is to make reading your story on small screens more comfortable. See if you can break up longer paragraphs into several shorter ones. Often it’s good practice to start a new paragraph whenever the focus shifts from one person or object to another.
So, what now?

Now that you have all this knowledge, you can dive right in and start writing your own branching story with our Sana Writing Tool. Even if everything still feels slightly complicated now, don’t worry. Nobody is perfect from the start and you really do learn as you go along. We believe that by following these steps anyone can become good at writing branching stories.

Good luck! We can’t wait to read yours!