I'm currently writing a story which started out as a short story but kept growing, until I discovered it would work well as a visual novel. I have all of the possible endings in mind, but for now I'm focusing on what I think of as the "main" path - the True Ending. That means it's just a single story so far, though.

I'm having trouble visualizing where player choices could occur and affect the story. So my question is, how do I go about adding choices to make it a branching narrative, so that I can use the other endings I came up with? I don't think just shoehorning choices into the story as an afterthought is fair to the story or the readers/players. And what kind of choices could there be? I suppose that depends on my particular story, so I understand if that can't be answered.

4 Answers 4


It's hard to answer this question without being overly broad.

Length and Structure

The blogger These Heterogenous Tasks has been writing his analysis on specific CYOA books. I wrote a summary of his article Standard Patterns in Choice Based Games.

Certain branching structures lend themselves to different end-goals and game styles. Gauntlet stories have 1 true ending with many sudden deaths. Branch and Bottleneck offer parallel paths that merge back into the main plot. Quest stories allow the larger narrative to be non-linear by requiring a series of smaller quests to be completed individually, in any order.

Visual novels can be any length, but a major factor in how the branching narrative is structured is whether or not someone is expected to re-read it to experience the different endings, or if their ending is the one true ending for them.

A long story is not going to be re-read, every ending needs to be narratively satisfying. Unless you are writing a sudden death gauntlet and the reader can back up from failure to try a choice again, they will be stuck with the choices they've made all the way to the end. They may not care, or remember, arbitrary choices they made early on, especially if you've withheld information about the consequences.

Conversely, the shorter the story the more often it can be re-read. Quests and Dating Sims can be thought of as many short stories contained within a frame story. The concept of reading several in a row is built in, and individual choices will feel less life-and-death important.

Expanding your existing story

Under the hood every branching narrative is unique. There are conventions, and a story might set up its own consistent "rules", but the forking and merging are ultimately created in situ to fit the specific story. There will be very obvious life-choices, but also trap doors that send you to another part of the story, and locks that will need a key before they can be opened. Your options will depend on the software you are using, the story you are telling, and your skill as an author.

Here are some ideas:

  • Create parallel subplots as in a Branch and Bottleneck structure.

  • Each "scene" is a puzzle that needs to be "solved"

  • spread a Quest narrative across an "open map" the reader needs to explore

  • Deconstruct your novel into the important narrative beats and design major branches only around these moments. Other choices will be almost decorative, to effect the atmosphere and tone.

  • Decide the narrative POV. Are readers roleplaying via a game avatar (dating sim)? Exploring as themselves (You awake with amnesia…)? Or are they guiding a third-person protagonist?

  • If your story has a moral theme with only one "true" ending, who is being punished for getting it wrong, the protagonist or the reader?

  • Are you providing the reader with everything they need to make the right decisions, or is there an element of randomness and chance? If they make a wrong decision would they know it, and can they get back on the right track?

  • I appreciate your in-depth analytical response! The list at the end is particularly helpful. You've given me a lot to consider. To summarize, your suggestion is to first consider the type of structure I want to use and the ultimate experience the reader/player will have, before I can find the best places to insert choices. Did I understand your answer correctly? Commented May 28, 2019 at 22:51
  • Probably the first thing you'd really want to do is decide what software to use, since that will effect some basic functions. I think you'll have some big ideas up front, but then the details will all be in how to connect it all together, and you might as well do that in the software. If you are tracking any variables, there's no good way to plan on paper or outline. At some point you'll need to jump to the VN itself to write and test.
    – wetcircuit
    Commented May 28, 2019 at 23:13
  • I already decided to use Ren'Py. I have been wanting to test it out in engine, but I feel like I need more of it written before I can do that... Commented May 29, 2019 at 9:12

You have your main path already, which is a good start. What I would do from there is identify the main choices that the protagonist makes - the things they say or do that drive the plot in that specific direction - and then turn those into the branching points. For example, if your true ending involves the hero turning down the villain's "we can rule together" offer and kicking his ass, make that offer a decision point and give the player the opportunity to accept. The hero ruling alongside the villain can then be one of your alternate endings.

Regarding "what kinds of choices" there are, visual novels generally make a distinction between action choices and dialogue choices - i.e., what to do vs. what to say.

  • If you're choosing an action, you'll set at least one event flag, and those flags will then drive the story in a specific direction. Actions generally have an immediate (though not necessarily major or long-lasting) effect on how the story plays out.
  • If you're choosing a line of dialogue, you'll usually affect a variable that represents how much the character you're speaking to likes/dislikes you. That variable, in turn, will affect how the character behaves towards you later in the game. These dialogue choices will always lead to slightly different conversations, but they may not have any actual effect on the overall storyline until later on.
  • Thank you for your swift answer and giving me a general idea of where to start thinking about this! Commented May 28, 2019 at 22:34

In addition to identifying the main choices that the protagonist makes, as @F1Krazy has suggested, you could also consider which turns of events would lead to the alternative endings you envision and what choices must have been made by whom to cause them.

That is, you can work forward from the beginning of the story that you have and identify possible branching points (all the times that your protagonist makes a decision), but you can also work backwards from the endings you have and identify where, when, and how the storylines leading up to these endings might merge with each other. The first strategy might lead to additional and/or different endings than you want. The second strategy is somewhat similar to how writers of a whodunit create the line of clues leading up to the unraveling of the mystery.

I would probably attempt both strategies in parallel.

  • Hmm, working backwards might help more in my particular situation. Thanks for the alternate viewpoint! Commented May 28, 2019 at 22:38

I answered a very similar question recently here: How can I convert a linear narrative into a branching narrative?

I tried to develop a step-by-step process through which one could convert a linear story, like yours, into a narrative with many paths. Even if you've already started on that process I think it could be helpful to you!

Here are the parts most relevant to your question:

Think of it as a braided river rather than a branching tree

braided river photo

Imagine a braided river channel. You can put a rubber duck in at a single point and follow its progress down the river. It has many different possible paths, but it is not locked into a unique path by one early decision. Reliably at many points those paths converge. As it approaches its destination it may have a delta with a few different branches, and only then does its final path to the end of the river become fixed.

Pick-your-path narratives benefit from having a similar structure. Your protagonist starts at a particular scenario and is offered a few decisions, and they come out at one of several possible endings, but along the way they can get to specific scenes from a variety of previous paths. You do not have to write 3^15 different stories, where at every decision you create new paths and scenarios, because you can write decision-making options at several different scenes that feed into a single new scene.

Since you're adapting a linear story, I would suggest doing the following:

  1. Decide what the starting point is.
  2. Consider how you want to handle the novel's ending. (@CatofHearts, you have this part figured out, but if anyone else reading this isn't sure about it, see below.)
  3. Identify any scenes or events in the book you absolutely want your protagonist to experience. These can include character- and world-building moments as well as those that serve the plot. (These will be confluence points for all possible narratives. The fewer you have, the more your paths can diverge from that in the book.)
  4. Map these out in a visual diagram or flow chart. (You don't necessarily have to decide what all of the endings are yet, but include all the ideas you have now.)

Now you can fill in the gaps with as many meandering and braided shorter paths as you'd like. To make the most of the source material, I would suggest trying the following:

  1. Identify any scenes or events in the book you would like your protagonist to experience that are not absolutely essential to reaching the points identified in #3. See if you can create or identify various smaller, independent sequences of scenes from these connected by 1, 2 or 3 decisions made in the book. They can overlap. Map these out separately from your core chart, and include the decisions that connect them. (I.e., begin to make small braids that can serve as building blocks.)
  2. Identify all of the illustrative interlude scenes that serve character- or world building but don't involve decisions that affect the plot. Hang onto these.

Now you can start creating your own content:

  1. Go back to #5. For each of the decisions you identified, create 1-3 alternative choices the protagonist could make. Can these lead to other scenes that already exist? If yes, great! Keep them. If not, try to create new scenes with decisions to make that can lead back into existing scenes, especially the ones identified in #3.
  2. Start putting these smaller braids into the core map in the most obvious locations. Connect them to the confluence points with new decisions. Remember that because this is choose your own adventure, these aren't locked into a chronological order. For example, even if most choices leading to the braid happen before a specific confluence point, other paths can conceivably go through these from after reaching that confluence point (see #3). You can prevent loops with conditional choices, e.g. if the protagonist has already met a troll at a confluence point, there is a fallen tree blocking the one path that would lead back to the confluence point with the troll. Make sure that none of the paths skip the essential confluence points.
  3. Hammer out your endings, and make decision chains that bring in existing braids or entirely new braids that get the protagonist from the final confluence point to each ending. You may be working backward to make this happen.
  4. If there are any loose ends (decisions that don't lead to an existing scene), you can start filling those in with original content. Go back to the scenes identified in #6 for inspiration-- see if you can include these in the path and create related decisions or actions that can can lead to one or more existing scenes. (Again, make sure that none of the paths skip the essential confluence points.) If some just don't work, prune them.
  5. If you have any leftovers from #6 that you still want to use, you can work these into existing scenes or make them brief interludes without decisions to make.

(Added back in later, for the benefit of those who haven't written all their endings yet...)

Determining your endings

You'll want to decide from the beginning roughly how many ending options you want. This may hinge on the way the novel is structured and the sort of conclusion it reaches. Some possible structures:

  • Does your protagonist have a single literal or conceptual destination to reach by the end of the book? (e.g., Mario adventures)
  • Does your protagonist have a goal at which they and their allies can either only succeed or fail? (e.g., saving the planet, restoring the Republic)
  • Is this a mystery story wherein several possible solutions are suggested or implied before a final reveal? (e.g., whodunit)
  • Is the conclusion less important than the journey? (e.g., speculative fiction, Catcher in the Rye)

Once you've thought about those you can identify which of the following sets of conclusions you want:

  • A finish line; your protagonist either reaches it or dies along the way, only to start over/back up and choose a more successful path. (e.g., Mario adventures.)
  • A binary outcome of success or failure of an ultimate goal. There could be two outcomes, or there could be multiple, not terribly significant variations of success or of failure, perhaps plus one divergence from this. (e.g., the villain is defeated in one of three ways, only one of which is canon for the source novel, or the world is destroyed by a nuclear war before the pandemic can wipe everyone out.)
  • Many possible, unrelated endings. (e.g., different characters could be the perpetrator of the crime, or your character can have happy/sad endings with different final destinations, careers, partners, powers or ignominious failures in life.)
  • The titles are similar, but the questions are entirely different if my understanding of what's meant by "visual novel" in this case vs. "text adventure" in the other case is accurate. These are very different mediums. Your answer is well-suited to this question, but doesn't seem to fit the other, in my opinion. The "branching narrative" tag is appropriate here, but seems extremely misleading on the other. +1 for this one. Commented Aug 17, 2019 at 7:39
  • @Thing-um-a-jig, thank you! If we were just going off of the "text adventure" part I'd agree, but the OP for that question clearly specified branching narrative more than once, and was looking for a procedure for creating it, albeit with minimal creative input required. It would seem that there were competing ideas in the question itself that were hard to satisfy with only one answer, as you noticed. I chose to create a procedure that addressed his need for flexibility in the adventure narrative but also maximized the functions of the original story content before requiring new creative input.
    – wordsworth
    Commented Aug 17, 2019 at 8:19
  • 1
    He's confusing parser-based IF with choice-based IF, as far as I can tell. If he wants a text adventure, he wants parser-based IF, not choice-based IF. IOW it's an XY problem. Check out the info under the "What is interactive fiction" heading here. Or maybe he wants choice-based after all, and "text adventure" was the misleading part. Or maybe not aware of the difference, who knows. Maybe he'll let us know some time. Commented Aug 17, 2019 at 8:26
  • @Thing-um-a-jig, Good explanation, perhaps worth you commenting on that question, or even submitting your own answer?
    – wordsworth
    Commented Aug 17, 2019 at 8:36
  • 1
    Already did; that question was the whole reason I joined the site. Searched the site to see if you guys were doing any OG text adventure stuff and that question had been posted one hour earlier, so I joined up. ;) Commented Aug 17, 2019 at 8:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.