Writing AdviceWriting, Advice
ServiceScape Incorporated
ServiceScape Incorporated

Twine: A Tool for Writing Interactive "Choose Your Own Adventure" Stories


Have you ever considered writing your own choose your own adventure story? If so, you're in luck: Now, there's a free and open-source tool for making interactive fiction in the form of web pages.

Why Twine is a good writing tool

Twine's website explains that Twine is an open-source tool for telling interactive, nonlinear stories. That language felt too technical to me, so I would say that Twine is an app (or interactive web tool) that will help you create an interactive story so you can visualize your plot and see your characters' various choices as you develop your story. As you write, you will create a map of your story in a series of squares similar to post-it notes that you can link together to give your readers choices.

Twine provides a great way to visualize your story and learn some of the basics of coding at the same time. One of the cool features of Twine is that as the author, you have access to the story map and the ways various plot points interconnect, but your readers do not. Once you publish the file, your readers will not see your story map or your post-it notes. Instead, your readers will experience an immersive reading experience that feels like a game. Your narrative will appear on readers' screens, and they get to click on hyperlinks to indicate their choices.

Who would use Twine?

Twine is ideal for both new and experienced writers who want to try writing interactive fiction (IF). Twine makes it easy to write a story in which your characters make decisions that lead to multiple climaxes and result in various endings.

Prolific Twine author Anna Anthropy explained some of Twine's benefits to The Guardian: Aside from being free, it's really not programming at all – if you can write a story, you can make a Twine game. A lot of people have been making all this weird amazing stuff. Someone made a Twine game, In Memoriam, for his dead brother. Someone made a Twine game about what it's like to come out as bi in a lesbian community and be re-closeted. Someone made a game about what it's like to sacrifice to the devil and receive a strange new pneumatic body with which you take over the world. Twine is this amazing queer and woman-orientated game-making community that didn't even exist a year ago. As Anna Anthropy mentioned, Twine is a free writing tool for everyone, including writers from underrepresented and/or marginalized communities, because there are no barriers to entry.

Twine is a useful tool because it provides a visual way to evaluate the various turning points in your story. As you create a story on Twine, the story map helps you see what parts of your story do not connect naturally with the other plot lines. Twine will also help reveal which plot points are frivolous and unnecessary and which parts are essential to move the story along.

Another benefit of Twine is that you can publish work on the platform and build a loyal following of readers. You can also use Twine to find out what resonates most with your readers. Even if you do not envision publishing a choose your own adventure-style novel, Twine is an excellent way to play with various plot twists and find out if your story is appealing to your target demographic. Once you publish your story and make it available online, Twine readers can "play" and review your story. These reviews are a great source of feedback for what works and what doesn't work in your story. The reviews that I've read on Twine provide honest, helpful feedback that would be valuable to any writer. Reviews noted the positive aspects of the stories and well-developed characters, and they also mentioned when things felt overly dramatic or when the ending of the story left them feeling unfulfilled.

Your Twine tutorial

Go to Twine to get started. Your first choice as an interactive fiction writer is whether you want to install the app (currently available for Windows, Apple, and Linux platforms) or if you will use Twine via the internet.

When using the website, your story is saved in local storage on your personal web browser. Therefore, if you close your browser or clear cookies or your browser history before you've published your story, you will delete all of your hard work! If your browser has the option to Archive, make sure to archive your page every ten minutes or so.

If the thought of storing your story only on your local web browser makes you nervous, go ahead and download the Twine app. The Twine app will save your stories on your computer in the current user's files.

If you are accessing Twine via the website, you will start at the Twine welcome page where you can choose Tell Me More. I recommend clicking on the Twine 2 Guide hyperlink that appears after you click Tell Me More. The Twine 2 Guide will take you to the Twine Cookbook, which is basically an instruction manual to guide you through the process of creating your first non-linear story on Twine.

You can peruse the Twine Cookbook to learn more about the platform, including common terms, common questions, and how to get started. I recommend bookmarking the Twine Cookbook page, because I had to refer back to it quite a few times when trying to create my first Twine story.

Once you've had your fill of the Twine Cookbook, go back to your original Twine tab and click OK until you arrive at the Twine stories page. Click on the green rectangle on the right side of the screen that says + Story.

A pop-up box will appear prompting you to choose a name for your story. Don't worry, you can change this name later, but naming it will help you find it next time you want to work on it. For learning purposes, we will name our story First Day of School.

Once you name your story, your screen will switch to the Passages View, which looks like graph paper with a post-it note in the center that says: Untitled Passage Double-click this passage to edit it.

When you double click the passage, the square expands so you can begin to draft your story. First, fill in the line at the top that says "Untitled Passage." For our First Day of School story, let's name this passage "Where to sit?" You can change the name of the passage later, but it is much easier to organize and link your passages if you name each one.

In the main body of the enlarged square, you will see information instructing you to enter the body text of your passage, along with tips utilizing Twine's various interactive features. There is some crucial information in this square, so take the time to read through it and understand the various commands. As soon as you start typing your passage, the information will disappear, and you might feel confused about how to link to another passage, make a hook, or set a variable. At this point, writers with programming or coding experience will have an advantage over those of us with more analog brains.

I have to admit that my analog brain struggled when I tried to write my first Twine story, and I generated endless error messages before I finally achieved success. Trial and error, not the Twine Cookbook, is how I finally created an interactive story on Twine. It was worth the frustration and all those error messages, because the thrill of seeing that I created a story with options for readers made it all worth it. To save you time and frustration, I will share everything I learned so perhaps you will generate less error messages as you write your first story.

The simplest way to create a story map and give your readers interactive options is to link your passages together. It took me a while to learn that my story worked best if I envisioned each passage as a scene with one primary goal. I created each passage based on the central choice the character was facing. For the First Day of School story, the first passage has the character walk into the classroom and discover that there are only two empty seats left.

Once that scene felt complete, I clicked out of that passage and clicked the green + Passage button at the bottom right of the page, and I created my second passage. This passage would present the reader with the story's first choice. I named the passage "Seat Choice" and figured out how to give the reader two options.

To create options for your readers, click on the Link… button that is located on the left-hand side just above the text field. The first option is already selected by default, Create a hyperlink, with this text. In the blank line beside this option, I wrote "choose the seat at the front of the class, next to a worried-looking kid."

Beneath that is a bold line that says, When it is clicked, perform this action: which prompts you to choose which passage you want the reader to go to if they click that link. I hadn't written the passage yet, but I created and named the passage by filling in the Passage name. Now, if the reader clicked on "choose the seat at the front of the class, next to a worried-looking kid," Twine will take them to the passage "Front of the Class." I clicked the green Add button at the bottom right, and it generated the code to create that action.

Since I wanted readers to have more than one choice, I then clicked Link… again and repeated the process for choosing the seat in the back of the class near the window.

Seat Choice
If readers clicked this option, it would to take them to a passage titled "Window Seat."

Once I'd created my first choice, I decided to see what the story would look like to readers. I clicked out of the enlarged passage square and saw that my graph paper now featured more squares, and a few of them were linked together with arrows. I clicked on my first square and selected the triangle play button to start the story mode so I could identify any errors or mistakes. Once I did this, I quickly realized that I needed to link that initial passage to the next one, even though the reader did not need to make a choice for that first passage. Otherwise, the story would not advance past the character walking into the classroom and seeing only two empty seats, and readers would never even get to make a choice. I clicked on the first passage and clicked on the pencil icon to edit it. Once inside my first passage ("Where to sit"), I clicked Link… and selected the second option, Allow the entire page to be clicked.

The next line states, When it is clicked, perform this action:

I selected Go to this passage: and filled in "Seat Choice." I clicked the Add button, and then I went back to my Passage View and clicked the play button to see if it worked.

Reader View
This time, once I finished reading the first passage, I clicked on it, and my two seat choice selections popped up on the screen!

When I clicked on either choice, it took me to blank passages with the titles I'd specified. To continue writing my story, I will repeat these steps and continue linking passages together and testing the story to make sure it works as planned.

If you feel stuck at any point in the writing process, the Passages view is a great way to find inspiration.

Story View
Since this view shows your entire story on one screen, you can easily see which areas need more work and where there are opportunities to connect various plots.

Once I've completed and tested my story, I can publish it and share it with the world. I will simply click the arrow beside my story name at the bottom left of my screen and choose Publish to File.

In addition to Twine's really cool interactive features, Twine is a great tool for visualizing your plot and planning out your story. I hope this guide helps you figure out how to use Twine so you can start generating interactive stories for readers around the world to enjoy!

Get in-depth guidance delivered right to your inbox.