Twine Workshop


The most basic (and most useful) feature of Twine is creating links. In order to create a link, surround your text with double brackets, [[like this]].

Do you want to go [[left]] or [[right]]?

This will create a passage called left and right, respectively.

Screen Shot 2016-08-08 at 11.31.26 AM.png

Links, with hidden names

Let’s say you want to hide the names of the passage you are linking to (maybe you don’t want a player to know he or she is going to a passage called Dragon Attack, for example).

You could have the left choice lead to a passage where the player is attacked by a dragon, and right lead to a place where the player is not attacked by a dragon. Simply use an arrow, like this:



Screen Shot 2016-08-08 at 11.36.27 AM


This is really all you need to get started! You can create fun, compelling, thoughtful games and stories using just this structure. I recommend focusing on using these for today.

If you’re interested in more advanced features, you may want to check out the official guide or take a look at the forums and search for the topic you’re interested in. I’ve also outlined two features below, images and if-then statements.

Two advanced features


Putting images in your stories can be really fun, and it’s pretty easy. To link to an existing image, you simply need to use this:

<img src=”IMAGEURL”>

Where “IMAGEURL” is the URL of the image you want to link to, for example:

<img src=”“>

You can adjust the number in the width and height to change the size of your image, or add alt text, using this:

<img src=”” width=”500″ height=”300″ alt=”Panda”>

If-Then Statements

You can use if-then statements for a number of features. You can introduce a variable (for example, if the player has found an item such as a key) then check for that variable (if the player has found a key, open the door).

This forum post is a succinct guide. Beyond that, an example:

Screen Shot 2016-08-08 at 11.52.30 AM

The main things to note here are

Setting the key: 

You look around a find a key.

(set: $key to true)

You can go back to the [[start]]!

Checking for the key:

This door is locked and you need a key.

(if: $key is true)[You open the door! Go to the [[next room]]].
(else:)[The door is locked. You need a key.]

Other stuff to look at:

The official documentation: