Category Archives: Resources

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?

NakedTwine

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.

TwineFlowchart

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.

mosaic

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.

WhichWayBatman

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.

CreaturesSuchAsWe

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).

Clannad

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.

Zork

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.

Artifact Hunt, A Board Game Design Workshop

I haven’t been blogging much right as we race to finish Sunset Overdrive at work, so now seems like a good time to talk about and share a cool board game design workshop that I’ve run with Molly Jameson (@UltraRat), a fellow gameplay programmer, and Lisa Brown (@Wertle), a fellow designer. I’ve run this workshop three times for girl scout troops, and once for a young girls game coding after school class.

You can download the materials here:

http://www.lizengland.com/resources/ArtifactHunt.zip

(Full credit goes to Anthony Ortega and Juancho Buchanan, who created the workshop at Harrisburg University, who passed the lesson plan to Lisa Brown, who passed it on to me.)

It requires:

    • A large poster-sized printout of a very simple board / team
    • A rules handout / team
    • 4 token pieces / board
    • 2 player pieces / board
    • 2 dice / board
    • Pens or pencils

The first step is to set up the boards with all the pieces. I’ve found that teams of four are good for this, but it works well with anywhere from 2-5 students. We’ve run this workshop for 10-18 year olds and it’s worked out really well each time with minimal fuss.

The first thing you do is have the teams play the board game. If you look at the rules, you’ll notice that there are some major flaws in the game’s design. It’s incredibly easy to get a stalemate so that it’s impossible for either player to win. It’s easy to end up in a tie, where both players reach the finish with the same number of points. Almost every single group will one into these problems.

While teams are playing, walk around and make sure that if they have questions about the rules that you can explain them (especially for younger students). Play usually takes 5-10 minutes. We usually wait til everyone has played one full round, and a couple groups have usually played a second by then.

When all the teams finish the first round, that’s when you start to solicit feedback. Some good questions to ask:

    • Did you like the game? Did you not like it? Why?
    • Who won?
    • Did you think it was fair?
    • Did anyone do any battling? How was it?

Usually that’s all the questions we need in order to get teams to open up and talk about their experience. The important thing is to get them to express why they liked, or didn’t like, the game and to think about the mechanics and rules.

The next step is to have the team go back and, together, choose ONE rule that they will change. They can remove a rule, replace a rule, or add an entirely new rule. But they can only change ONE! After they have changed it, they will play it again as a team. This process usually takes about 10 minutes, sometimes a little longer.

I usually offer students extra dice, players, and tokens at this point if they want to involve those in their rules. Wile they are hammering out their ideas, walk around and ask them if they know what they are going to do, and encourage them to play the rules. Some groups will take a long time figuring it out, but we’ve never run into any that didn’t come up with something eventually.

When they are done, and everyone has changed a rule and played their games again, we stop them and ask them a series of questions:

    • What rule did your group change?
    • Did it make the game more fun? Why?
    • Did it cause any new problems? How would you fix that?
    • To the rest of the class, did anyone else change the same rule or do something similar?

You can do a second round, but this is usually where we end it. I sometimes bring handouts on free game-making software for students to take home.

Some of the changes we see are: added tokens to create asymmetrical play, the ability to ‘steal’ tokens from each other, changes in how score is calculated, changes in dice are rolled and calculated during battling, disallowing diagonal movement, allowing movement outside of the play space, removing or changing the movement penalty for carrying tokens.

At the end I usually talk a little about what design and iteration are, and how they are involved in making games. It’s important to only change one thing at a time because every change has cascading effects. If you change too much and the game is better or worse, you won’t necessarily know which change brought about that new dynamic. On top of that, this lesson gives students a chance to design without worrying about the technical or artistic skills involved in game development.

One of the great things is this lesson really runs itself. The kids – and young adults – are always engaged, they are having fun, and they are thinking critically when challenged to talk about the mechanics and how they make the game fun or not fun. I feel like it’s a very good introductory lesson to have at the beginning of a game design class or otherwise introduce students to design.

If you have any questions, feel free to leave a comment or contact me at my email – lizengland07 @ gmail.com