+3 votes
by (300 points)
closed by
Please explain to me like I'm five what Twee is. I'm confused to what exactly it is and what it has to do with Twine. I've just seen people say it's better but not explain exactly what it is. I thought it was a story format but then I saw it was capable of SugarCube and Harlowe and that baffled e more.

What is Twee exactly and what are its pros and cons vs Twine? Can it do anything Twine can't, because what I've seen implies it can yet is unclear to what extent.

Thank you so much.
closed with the note: Answered

2 Answers

+1 vote
by (480 points)
selected by
Best answer
Twee is basically Twine minus the interface. Rather than having a bunch of graphical blocks you can drag around that represent your passages, you use text files. Then when you want to play your game, you compile it into a .html with something like TweeGo.

More or less everything else is the same. You still use the same story formats, and you can straight-up copy-paste your passages from one to the other.

The primary advantage of Twee is one of scalability. Once you have a lot of passages Twine becomes a sea of mostly identical squares, that I find fairly difficult to keep organized. With Twee, you can split up your passages into as many files and folders as you like.

Also, it's more or less impossible to work with multiple people on one story in Twine, but that's fairly trivial in Twee with something like Git.
+2 votes
by (159k points)

To understand what TWEE is it may help to first understand about five of the main componients that are part of the Twine 2 Desktop application.


1. The Story Project file viewer (aka the Story Map)

This allows us to visualise the Passages that make up the Twine Project file, and the links between those passages.

2. The Standard Passage Editor.

This allows you to edit the Passage Name; assign Passage Tags; and edit the content of the Passage.

3. The JavaScript Passage Editor

4. The Stylesheet (CSS) Passage Editor.

5. The Twine Compiler.

This is responsible for combining the Standard / Javascript / Stylesheet passages that make up your project with a Story Format template to create a story HTML file. (eg. the Publish to File option)

Twine 2 (Desktop) uses a single text file to store all the information of a story project.


Three of the main componients that make up a TWEE based project are:

1. The TWEE Compiler.

This command line utility, like the Twine Compiler, is responsible for combining the Standard / Javascript / Stylesheet passages that make up your project with a Story Format template to create a story HTML file. There are a number of available compilers, one of the commonly used ones is TweeGo.

2. A Text Editor.

This is an application for editing the contents of a text file and there are many different brands of text editor available.

Generally the file extension given to a text file indicates the programming language of the code contained within that text file (eg .html contains HTML .js contains JavaScript, .css contains CSS) and this allows the editor to supply specifiy help / functionallity related to that language. Unfortunately because a .twee (.tw) file can contain different macro languages (eg. Harlowe's, SugarCube's, etc) the help for this file type is limited.

3. The text files that make up the project.

The Passages that make up a project can be spread across as many twee files as the Author wants, this allows the author to group files together within child-folders, they can also place the JavaScript and Stylesheet (CSS) of the project in language specific (.js and .css) files.  A single .twee file can contain as many passages as the author wishes.

The Twee Notation section of the TweeGo documentation describes the Passage structure of a twee file.


You get to use the Text Editor of your choice, which can be a great improvement over the basic Editors built in to the Twine 2 application. You can also configuare your text editor to suit your preferences: colour themes; font family & size; layout; etc.

Spreading the passages of a project across multiple files makes certain things easier to do.

1. Adding a specific set of passages to multiple project.

eg. If you have implemented a custom Inventory System and you want to use it in multiple projects then you simply need to add a copy of the relevant files to each of those TWEE projects.

2. Using a Version Control System to track the changes made to each (release) version of your project.

3. Allow multiple people to work on the project at the same time. (via a Version Control System)


by (300 points)
Thank you so much to both of you, this really cleared it up for me.