I’m making a linear visual novel with partial interactivity that allows the player to influence small portions of the story, but I just want to know how one goes about drafting something like that. The interactivity feature allows you to build a relationship with some characters, this is what can change different parts of the story. Thing is that I have several other characters whose growth I would like to cover, but don’t know how.


How do you structure your story?

Code is more often read than written. You will spend more time analyzing the structure and flow of your story than adding to it. On the other hand, frictionless addition ensures you can capture your ideas as you have them, before inspiration fades. Try finding a format that's both easy to add to and easy to understand. Ultimately, visualization is an art, and you'll have to find an approach that works for you and your story.

Any series of decisions can be represented as a branching decision tree, but it's not necessarily the best way. You might have a scene that can occur in a number of branches. In a tree, you'd have to add the same cluster of nodes to every branch. What about two scenes which are interchangeable in a timeline? Three scenes?

And that's just for the basic flowchart structure in which each step advances the story and brings the resolution closer. Stories can be structured around rooms, through which the protagonist can move freely, altering conditions and switching available events on and off. The Princess Maker subgenre makes heavy use of stats. (Both can be boiled down to decision trees, but your design process and the player's experience will be different.)

Charting basics

Take a look at these charts for gamebooks. Gamebooks contain a numbered paragraph per scene, at the end of which the reader is called to make a choice for the character and proceed to another paragraph to read the consequences of said choice. They're not hypertext, however: past choices add state information in the form of found items, codewords, and the character's randomized statistics. Stories in the books can be structured differently, but here the designers of these charts tried to unify the format and generated the charts programmatically. The variety of gamebooks is not easy to represent on a fixed-format flowchart, yet the designers mostly succeeded.

Fighting Fantasy and other gamebooks whose charts are presented on this page are under copyright, so you'd need a copy of the book to know what scenes the numbers stand for.

Project Aon gamebooks are published under a permissive license; what's important for the purpose of this question is they're free to read. The charts are here.

Visualization techniques

The computer-generated charts could certainly use some improvement. They're a good starting point to analyze comparative story structures and to show the expressive capabilities of a basic flowchart, but it should not be the end -- freeform charting allows for many more visualization techniques. Here are some:

  • Nodes can have different shapes and sizes depending on the type of scene.

Let's say your protagonist is a high school student who's preparing for the galactic battle magic tournament. So you have studying at school, training, interacting with friends, shopping, home life and chores, and browsing news on the Galactic Net before bed. (In that halcyon future, smartphones wouldn't be invented.)

  • Linear paths should be collapsed into a single node. (Spending time turning the pages in anticipation of a choice without being offered a choice is a narrative technique in gamebooks; in visual novels, it's just the normal continuous flow of story, possibly with changing backgrounds.)

Suppose our hero meets a rival. He can interact with her, or he can ignore her a walk home alone. In the latter case, you might have a number of scene changes for one choice: draw a long arrow, sign it, and fill in the details later.

  • There are some tightly bound clusters of nodes: likely, each cluster represents one scene where the character can try different actions, perhaps in a particular order, perhaps accumulating a score up to a threshold.

Suppose our hero interacts with the rival, instead. He can be friendly, adding friend points until the rival tells an important secret, or he can be rude enough to start a fight. So you mark "Rival Meeting - Dialogue" on the main chart and detail the dialogue and its possibly unique mechanics in a separate area.

  • Color-code state changes and the condition checks which make use of them.

So the previous scene can end in three important ways. Our protagonist, Hiro, can be friendly to his rival Odette so much she teaches him to parry Ayame's Seven Jade Sigils power attack, or he can start a fight and get kicked in the shins. So you add two arrows in the dialogue mini-chart pointing to "+ jade parry technique" in GREEN and "+ leg injury" in RED. Then, when Hiro faces Ayame in the tournament, you'll have the GREEN option where she launches the jade attack which Hiro flawlessly parries, the GRAY option where she performs the same jade attack which Hiro barely avoids, and the RED option where she does Catena Strike and Hiro trips and falls. Even though the scenes are apart in time and space, color-coding helps see what affects what.

  • Lists are fine too! Several mostly uniform options in a scene can easily go in a list, without adding more branches, if they don't affect the immediate flow of the story.

Hiro has a class in the morning. Is it: chemistry (make the whole school smell like baked bread), classical literature (fall asleep, get woken by the teacher), or math (invent a new pentagonal tiling)? Who cares, what's important is the training session in the afternoon.

  • Arrows! Different story branches can be visualized as long continuous arrows or ribbons flowing through the same scenes.

So you've got Hitomi's route and Ayame's route. There's a school assembly happening, during which Hiro is scolded by the headmaster for failing classical literature. You have a rectangular block listing things which might happen and the conditions which can trigger them: like, if the class immediately before was gym, Hiro is still winded; if it was classical literature, half the class is snoring; if Odette is friendly, she shouts a naughty word at the headmaster and ducks behind a palisade. Then you segue into "Hitomi winks" or "Ayame passes a note" and the story goes in two different directions from that shared scene.

For Princess Makers:

(A type of game where available events, available actions, and results are primarily (subtly or overtly) affected by the character's "vital statistics", which change throughout the game and resolve into a range of possible endings. The player's goal is to explore the solution space and find various endings. Does not necessarily feature princesses.)

if you're playing it by ear and assigning points the way you think is dramatically appropriate,

(instead of plotting the game as a decision flowchart and assigning points to replicate it)

make a simple mathematical model in a programming language of your choice and run the simulation a bunch of times to detect anomalies:

  • dead ends
  • unreachable branches
  • unfairly "pointless" clusters of choices leading to the same end (unfun to retry)
  • underused branches

Human testers are also necessary, but they're few and thorough in exploring routes (at least good playtesters are!). A simulation will be more representative of the collective experience of the general audience.


My ideal choice of tool would be a freeform graphical editor, a large screen and a tablet with a stylus (preferably in one device). Lacking those, I use a whiteboard, and plain old pen and paper.

Unlike narration and thoughts, I find the exact wording of dialogue lines often matters a lot at the design stage. I type dialogues in a plain-text editor in a sort of tree-like structure, using tabulation offsets to denote tree depth, make notes on custom conditions, and refine the conditions during the actual coding.

A word of Encouragement

Here's the flowchart for the critically acclaimed Season 1 of The Walking Dead (the game):

WARNING: large image.

It is surprisingly sparse where meaningful player choices are concerned (the diamonds are player choices, the rectangles with branches are automatic state conditionals). Notice how in both cases the two parallel branches are the same branch with minor cosmetic changes - the complexity of this chart could be significantly reduced with color-coded states.

And yet, it's a popular and critically acclaimed game.

The take-home lesson here is it's not that noticeable during play that certain decision points and characters are mechanically identical with regards to the flowchart; if they look differently are are described as acting differently in the text, the player will be excited for new / alternative content.


With visual novels, you have the additional advantage of asset reuse. As long as you haven't yet made or commissioned splash screens for pivotal events, nothing needs to go to waste. Better yet, get some free stock or placeholder assets and experiment.

  • Omigosh! Bless you, Bless you, Bless you, for this wonderful in depth explanation! When I was considering making this, I never even knew about flowcharts or decision trees! Now that I am aware, I know I won’t fail! Thank you so much!! – VNlover Sep 6 at 3:33

Look at images of “decision trees.” This might help you in terms of structure, because you can extrapolate from different branches how they both intentionally and unintentionally relate. I am not certain how this would look in a book. Stretching your imagination and floundering for awhile sounds ideal. You could also make the pages fold out. I don’t know. Manifold meaning and an obsession to gain clarity seem like the biggest things readers will experience if this is what I think it is.

  • This answer was very helpful! I would just like to point out that the medium I’m using for my story is a Visual Novel, not a physical book. In case you may not know what a Visual Novel (VN for short) is, here is an explanation ; A visual novel is an interactive game genre, which originated in Japan, featuring text-based story with narrative style of literature and interactivity aided by static or sprite-based visuals, most often using anime-style art or occasionally live-action stills. (Source: Wikipedia) – VNlover Sep 5 at 3:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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