Making a branching story people can read

The tool exports one file that runs anywhere. Keeping the branches from multiplying is the actual work.

The software is simple and the export is a single file. What defeats people is the shape of the story.

A freely branching tree beside a branch-and-rejoin structure.
A freely branching tree beside a branch-and-rejoin structure.

Branches multiply

Three choices per scene, five scenes deep, and you have two hundred and forty-three endings to write.

That is why unfinished branching stories outnumber finished ones so heavily. The structure promises freedom and delivers an amount of writing nobody can complete.

Branch and rejoin

The structure that works.

A choice changes the next scene or two, then the paths converge. What the reader saw differs; where they arrive does not.

The story stays finishable and the reader still experiences their choices as meaningful, because within the branch, they were. Most published interactive fiction is built this way.

Structure Scenes to write Finishable
Full branching, 5 deep Hundreds No
Branch and rejoin Dozens Yes
Spine with side scenes Dozens Yes
Single path with flavour choices Few Yes, and thin

Write the spine first

Write the story straight through, start to end, as though there were no choices.

Then add branches at the points where a choice is genuinely interesting. This gives you a finished story from the first week, which is the opposite of the usual experience.

Adding branches to a complete spine is additive. Starting from branches means never having a complete anything.

Make the choice visible

If a choice changes nothing the reader can see, they stop choosing carefully and start clicking.

The change does not have to be large. A different detail in the next paragraph, a character who remembers, an object that is now in their possession. Small, visible consequences keep attention on the choosing.

Remembering earlier choices is straightforward in these tools and it is what makes a rejoining structure feel like a branching one.

A path checklist with each route tested and dead ends marked.
A path checklist with each route tested and dead ends marked.

Test every path

You know the story, so you take the same route through it every time.

Somebody else takes the third option, then the second, and reaches a scene referring to a character they never met, or a link that goes nowhere.

List the paths and walk each one. Better still, watch one person play without helping, which finds things no amount of self-testing will.

Publishing

The export is one file. Upload it and it runs.

No installation for the reader, no platform account, no store. Put it at your own address with a line of introduction, and that address is where you send people for as long as you like.

Closely related: Playing and publishing text games, and How to host a game online for the adjacent problem.

Put it at an address

Branch and rejoin rather than branching freely, write the spine first, make every choice visibly change something, test every path before publishing, and put the exported file at your own address.

Questions people ask

What do branching story tools export?

Usually a single self-contained file. Open it in any browser and the story runs, with no installation for the reader.

What is the hard part?

Structure. Branches multiply faster than anyone expects, and a story that branches freely becomes unfinishable within a few scenes.

How do writers control that?

Branch and rejoin. Choices change what a reader sees and then converge, so the story has variety without doubling every scene.

Can it remember what the reader chose?

Yes, within a session, and in browser storage between visits if you want progress to persist.

Where should it be published?

At your own address. It is one file, so it uploads anywhere and opens on any device.

Keep reading