I would like to know whether there are any tools that would help an author write a branching storyline. Usecases may for example be:

  • campaigns for Pen and Paper games
  • visual novels
  • Choose Your Own Adventure-style books

The common thing is that there are people who will interact with your work by choosing certain paths, all of which you have to account for.

The problem with writing these things in Word is that you can very quickly lose track of where exactly you wrote what and which events predate the current state you are writing about. Overlooking paths you have already accounted for can happen quite fast. Putting new paths you haven't thought of before into the document is quite difficult. Making multiple files can lead to a lot of files and thereby it becomes difficult to keep track of everything again.

Of course often you have certain decisions that lead to branches and then merge the branches for key events again, but most the problems I mentioned are still there.

Is there software that would help me overcome these problems? Preferrably the software should be free.

  • 2
    Though software would be useful, I think the real question here is how to keep track of all those possible actions and several plot lines without leaving unresolved plot holes for each option. I can see very quickly the more choices you have to deviate from the main plot, the harder it would be to write. You're essentially writing several different stories at once. I have a similar issue with my story concept, (with a character who can do small things to alter time.) thus am curious how to go about it.
    – BugFolk
    Jan 10, 2018 at 20:48

4 Answers 4


While not a program I would suggest using a flowchart.

A flowchart is a type of diagram that represents an algorithm, workflow or process, showing the steps as boxes of various kinds, and their order by connecting them with arrows.

Since you mention visual novels in your question 2 good examples I know of are the flowcharts that you can find for the translations of the visual novels Tsukihime and Fate/Stay night.

Fate/Stay Night flowchart

While not the full image of Fate/Stay Night's you can track down the original .pdf file (it's included in Mirror Moon's translation of the original game and the Realta Nua PC Translation (the latter is what I'd recommend)).

You can see how the flowchart can not only track progress, but also allows you to play with choices and variable management during planning for branching storylines ie. in Fate Stay Night you see how it shows where it branches at the end of the 3rd day and that there is a check to see if you continue with the Fate Route (Blonde1) or Heaven's Feel Route (Purple).

As for a program you might want to try yEd. The link there takes you to the Software Recommendations SE Site where I asked for software for making Character Relationship Maps. In a way Character Relationship Maps are very similar to flowcharts and using yDe myself I can say that you could make a flowchart similar to Fate/Stay Night's in it.

1: I say Blonde because the route colours match to the heroines who Shirou becomes romantically involved with. Fate = Saber who has Blonde hair, Unlimited Blade Works = Rin who generally wears Red, Heaven's Feel = Sakura who has Purple Hair

  • 3
    You may want to add time slots as well. When there are multiple storylines such as in time travel this will makes sure everything adds up.
    – Boondoggle
    Jan 10, 2018 at 23:20
  • The problem with using a flowchart, as I see it, is that you are very limited in the amount of text your can include. I'm looking to have up to 300 words before any choice is offered. This wouldn't work with a flowchart. Jan 14, 2018 at 19:52
  • 1
    @S.Mitchell then you're looking for something that will author for you which either requires programming knowledge or you'd need something to note down which pages to turn to (like in those old choose your adventure books). however in yEd when you create an object you can give it a URL and this url can also be a link to a file as such if you separate your "scenes" in seperate files in yEd you can create your flow chart and connect the object to them. ofcause again this is meant to assist you in authoring, not do it for you
    – Memor-X
    Jan 14, 2018 at 21:35
  • 1
    to add, the second scene in Unlimited Blade Works contains well over 300 lines as it includes Rin's explanation of the Holy Grail War, trip to the church to see Kotomine and the trip back before Ilya's and Berserker's attack. yet the actual choice is not powered via the flow chart but programmed into the engine Type-Moon uses
    – Memor-X
    Jan 14, 2018 at 21:39

I am using Ink by Inkle Studios. It's writer-oriented and open source. They have a free editor/compiler that exports an elegant web version, and they have a Unity plugin. The syntax feels more sophisticated than other tools I've tried. Ink has evolved over a few versions, and was used on the game 80 Days which is the best branching narrative game I've seen.

Rather than a flowchart or mindmap, Ink is more like coding in HTML – it uses markup syntax to handle the interactivity. Story sections are defined by index names, and typically end with several choices which redirect the reader to other index points in the text. At it's basic level, Ink is similar to the CYOA books except you don't "turn to page 23" you jump to an index point by name. This makes writing more intuitive for non-programmers.

Ink is also designed to exhaust the choices, so the next time the reader returns to a section the option he picked last time is removed. This works within the text as well, for instance changing the dialog or descriptions the second and third times through. The options can also be randomized, or only appear once conditional variables have been satisfied.


There are several tools you can use to create this: here's a few

  • the amazing Ink (already mentioned), which also has a plugin for Unity
  • Twine to write your branching stories and export to HTML, very visual overview
  • Yarn Spinner, which includes a compiler to signal unreached branches and logical inconsistencies
  • Chatmapper, specifically designed for dialogue
  • Ren'Py, to create visual novels (uses python)

I want to add one more tool: Archivos. (No personal link, I just saw a demo from them and plan to check them out when I start writing more.)


First, ARCHIVOS helps Storytellers document the characters, places, and events of their stories, detailing the basic framework for the tale.

Then, Storytellers connect those story elements by defining the relationships between them that articulate not just the existence of the connection but also its nature (professional, personal, political, geographical, etc.).

The relationships in ARCHIVOS also support a hierarchy, like that of a parent to a child, or a manager to an employee. This framework will help identify and organize the structures within the story world.

As those structures become clear, Storytellers become true story architects, able to refine the and enhance the impact of their stories

This post of theirs about how to use it for LARPing seems to connect to a branching storyline -- some things are consistent, but choices lead to different EVENTS which can lead to other EVENTS, and you can map them out:

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.