What is Twine? (For Developers)

A lot of developers (and some gamers) are kind of aware there’s this tool called “Twine” out there that makes web games, but don’t really know much about it. They don’t know why it’s popular and what it’s used for – most people by now have heard of Depression Quest, at least, but that’s the extent of their knowledge. There’s not really a good curation system out there for finding good games made in Twine.

I’ve made several games with Twine and it’s one of my favorite rapid game development tools, so I often end up being the person who explains it to my peers. With that in mind, I’ve decided to write this article to demystify “What is Twine?” for people who want more context and are already familiar with game development.


So… What Is Twine?


What a typical Twine game looks like without modification

Twine is a tool for creating interactive fiction , where players read content and then interact by clicking links in the text. It uses a very simple visual flowchart, and scripting largely involves creating hyperlinks between these nodes, or “passages”. It outputs an .html file with all of the information in it, making it immediately playable online as well as highly customizable – anything you can do to a web page, you can do with Twine. The main interaction in Twine games is clicking a hyperlink.


What the tool itself looks like – 1.4 on the left, 2.0 on the right

The system is incredibly easy to use. It takes about five minutes for most people to get a handle on it and create their own barebones game, even without any previous game development knowledge.

There’s several simple programming features built into it such as variables and if-statements. The Twine community has created many different Javascript macros that greatly expand the functionality of the tool, which can be added to a any given project with a simple copy-paste. There’s also themes you can download to change the appearance of the game (colors, backgrounds, effects), much like you can change the appearance of any given webpage. You can write your own CSS (like I do) to modify its appearance yourself.


Many people have heavily modified Twine’s aesthetics

The tool definitely has its limits. It really is built for text-based games, so heavy modification comes with a lot of working against the tool rather than with it. Heavy logic-driven games feel unwieldy because there’s no good editor that helps highlight and parse your scripts – it’s all placed in a single text-only bucket. Anything that requires extensive programming knowledge is probably best created in your own custom engine rather than using Twine. One nice thing about the javascript and html format, though, is that those who do want to experiment more can, and the popularity of those languages makes finding tutorials pretty easy for newcomers to programming.


Types of Interactive Fiction

To back up a moment: Twine’s style of interactive fiction is called “choice-based”, sometimes referred to “choose-your-own-adventure” or shortened to “CYOA”. You might remember this from old adventure game book, where the text says, “If you take the left door, turn to page 123. If you take the right door, turn to page 91.” There are few books like this still being made, and make fun coffee table books, such as To Be Or Not To Be.


A typical choose-your-own-adventure book, from Which Way Batman? via ComicsAlliance

With Twine, instead of turning a page the player clicks on hyperlinks to progress the story. There are other tools out there for choice-based interactive fiction – the successful Choice of Games publisher has been making them for a while, and inkle has been making waves with games like 80 Days, and I would classify Simogo’s excellent iOS game Device 6 as CYOA-style interactive fiction. An advantage of the digital nature compared to CYOA books is that the game can keep track of variables and states behind the scenes without the reader being aware of them.


A typical choose-your-own-adventure digital game, from Creatures Such as We

A type of CYOA are visual novels, popular in Japan but relatively absent from western gaming. Many of them involve clicking through a linear story (with text, backgrounds, characters, and sounds), with only a handful of scattered choice points that lead to different outcomes. Dating simulators follow a similar format, but usually have some more exposed stats you are attempting to balance. Sound novels are similar, except there are traditionally no choice points. If interested, I recommend Digital: A Love Story, Analog: A Hate Story, and Hatoful Boyfriend as good introductions to visual novel style CYOA. (I don’t actually play many of these myself, so my recommendations are sparse).


A typical visual novel, from Clannad

The other major type of interactive fiction is called “parser-based” or simply “parser”. This shorthand describes the kind of interaction in old school text adventures like Zork, where the player types a verb-noun phrase to the game in order to progress, i.e. “get lamp”. These phrases can be increasingly more complicated, such as “ask Jenny about the price of the lamp”. This genre was largely replaced by graphical adventure games in mainstream games, but it never really died out. A small niche of creators and players have continued to advance the medium – just most people aren’t paying much attention. If you want more information, I recommend checking out the work and writing of Emily Short.


A typical parser-based game, from Zork

There’s some other variations of interactive fiction – some combine the two techniques, and others that use multimedia representations. Since Twine format is .html, there are some Twine games that have integrated limited typed responses into their choice-based gameplay.

For comparison, some other  interactive fiction tools besides Twine are: Inform 7, Choicescript, Quest, Inklewriter, Undum, and Ren’Py.


Why Is Twine Popular and Who Is Using It?

A lot of people have heard about Twine or come across games made in the tool, but haven’t grokked why it’s so popular or what sets it apart from other tools.

Here’s the key elements:

  • The barrier to entry is extremely low. All you need is a functional computer and the ability to read and write. Art and programming skills and expensive hardware or software are unnecessary.
  • It’s extremely easy to share. It outputs to a simple html file, which can instantly be hosted and shared anywhere. It can be shared on dropbox or uploaded for free at la. It requires no installation or plugins and can be played directly in your browser. I could embed a Twine directly in a blog post.
  • It’s been evangelized by a core group of game developers who do a lot of outreach and help enable others to make games with tutorials, game jams, and workshops.

I first heard of Twine through Anna Anthropy, an indie game developer who has worked to bring game development tools to minorities or marginalized people who don’t have “traditional” backgrounds in computer science or game development, and is very vocal on this subject. As far as I can tell, she wrote the first tutorial for Twine as a game-making tool, and before that it had languished as an unfinished hypertext tool created by Chris Klimas.

Several other women within the queer games scene picked up the tool and started using it to create their own games, teaching it to others, and organizing game jams to create more Twines, a shorthand for games or interactive stories made in Twine. I hesitate to try to define “queer games scene” since I am not part of it, and it’s not well-defined anyway in the same way that “indie games scene” is also largely undefined. Their games often (not always!) have commentary on issues close to their hearts  – gender, sexism, classism, oppression, sex, and trans topics.

Twine has spread outward thanks to their evangelism of the tool as a way for anybody to make games. The result is that “who” is using Twine is a constantly evolving group. It’s unmistakable that Twine is disproportionately popular among women and queer game developers and writers, and among people who have no previous game development experience. That doesn’t really define the limit of who makes Twine games, just the core group.

When many game development tools require or assume a large monetary investment (computer or console hardware, software tools) or time investment (the time needed to learn 3D modeling or programming in your free time), then making games for hobbyists becomes a luxury that many people cannot afford. Twine “democratizes” this process by cutting out these stumbling blocks and making it incredibly accessible – more than any other gamedev tool I’ve ever seen.

The result is that the community of people who make Twine games don’t actually overlap a whole lot with the communities of people making, say, Unity games or roguelike clones. Twine creators tend to represent more outsider voices compared to mainstream game development. The value here for observers is that people who would not be making games are using the medium to express themselves, often in very unusual (and sometimes subversive) ways. There are certainly traditional developers, like myself, that make small games in Twine, and as time goes on the type of people who use Twine to make games has diversified.

I would argue that due to its flexibility and ease of use, it makes for an excellent prototyping tool – one day I may write a follow-up on ways to use it for prototyping. Some people have gathered together to create collaborative anthology-style Twines, which is unusual in other gamedev tools but works well when your tool is so easy to use.  While most Twines are still freely distributed, it’s not unusual to find them sold on gumroad or itch.io for a small amount of money.

Some other people have written on the rise of Twine’s popularity and the loose community of people who make Twine games. I’ve linked to a few below if you want more context:


Types of Games Made in Twine

Many people making Twine games are those who don’t normally make games, have no invested interest in the meaning behind “game”, or who intentionally want to subvert games for their own purposes. All this leads to a really unusual collection of games.

I use a very broad definition of “game” – many Twines would not pass more rigorous definitions that some people hold. Twine games commonly lack concrete win/fail states, and many of them give you no choices with consequence but rather use the hyperlink model to ‘explore’ the game world and narrative instead of ‘beat’ it. Many are difficult to critique because they are obviously deeply personal games, so critiquing one may be on the level of critiquing a public diary entry.

Below I’ve identified what I feel are the different styles of games I see a lot in Twine, though by no means a comprehensive list. I’ve listed my own recommendations for games I think most people should try in each style to get a feel for what’s possible in Twine. Lots of games tend to cross several categories so I’ve placed them in the ones I felt best represented them.

Note that most of these games are very short and I’ve only linked to free ones.


Playful Gamelikes

I’m using this term deliberately to describe Twine games that take on a lot more ‘gamelike’ elements that feel familiar to traditional gamers – rpg stats, puzzles, scores, and similar elements. They don’t tend to break expectations quite as much as other styles of Twine games so I feel they are good introductions to the medium for regular gamers.

Adventure Games

Closer to the CYOA style of game books with non-linear storytelling and interesting choices. This would be Mass Effect without the combat, or Walking Dead.

Empathy Machines

These verge on the edge of simulation, putting the player into someone else’s – often personal – experiences. Many of these games are made to educate or reach out, while others are created purely for self-expression or as confessional vignettes.

Surrealism and Satire

Games that tell bizarre stories and unusual mechanics, taking advantage of the freedom of “text” to make whatever the hell they want. Most of these games also act as satire or commentary on some element of our world.

Socio-Political Commentary

A lot of Twine games fall into this category. These games use the medium in order to comment very directly on the state of politics or social issues. (Many other games touch on these topics, but some – like those I listed – are unambiguous).

Commentary on Games

These Twines use the game-like nature of the Twine medium to comment on gameplay and game structure.

Interactive Short Stories

These are normally linear games that use interaction as a way to explore the narrative. These are the more literary-focused Twines. (Use audio for all of these)

Interactive Poetry

A fairly self-explanatory style, these games are much more experimental and focus on a specific style of prose or arrangement of words.

Outside the Box

Some people have used Twine as tools or for unusual purposes that don’t really fit into other categories.


Readers – feel free to use the comments to link to other games you recommend (yours or others). Some of these may get caught in the spam filter, so if you comment and it doesn’t show up after a day, feel free to send me an email.

Special thanks to Caelyn Sandel and Javy Gwaltney for proofreading this for me and suggesting some of the games I missed.

2 Comments on "What is Twine? (For Developers)"

  • Great primer on Twine, Liz! Just wondering what you think of Inklewriter, as I see it as perhaps a less customisable version of Twine, but with a slightly lower barrier of entry. There’s a lot of stuff that seems to be built in to flag states and allow one to introduce logic into the narrative.

    Thanks for the article!

    • I haven’t tried Inklewriter yet, mostly because I am pretty resistant to editors that run in a browser (ironic since our tools at work all run in Chrome). Everything I’ve seen implies it’s pretty easy to use, but not sure how it compares to say Choice of Games’s or Undum’s frameworks. I stick to Twine and Ren’py for my own projects.

      But inkle’s games are absolutely wonderful, so that lends credence that the tool is very powerful.

Leave a Reply

Your email address will not be published.