Twine (software)

Free and open-source tool for making interactive fiction in the form of web pages

This article is about an open source publishing software. For other uses, see Twine (disambiguation).

Twine

Original author(s)| Chris Klimas[1]
Initial release| 2009; 16 years ago (2009)[1]
Stable release|

2.9.0[2] / 16 June 2024; 13 months ago (2024-06-16)[2]

Repository|

* github.com/klembot/twinejs

Written in| v2.*, TypeScript
v1.*, Python[3]
Operating system| Linux, macOS, Windows, Web application[1]
Type| Game engine, electronic publishing tool
License| GPL v3[4]
Website| twinery.org
As of| 2024-07-10

Twine is a free open-source tool created by Chris Klimas for making interactive fiction and hypertext fiction in the form of web pages. It is available on macOS, Windows, and Linux.[1]

## Software

[edit]

Twine emphasizes the visual structure of hypertext, and does not require knowledge of a programming language as many other game development tools do.[5] It is regarded as a tool which can be used by anyone interested in interactive fiction and experimental games.[5][6]

Twine 1 generated code using twee. Its frontend was derived from TiddlyWiki, with a similar but incompatible data format.

Twine 2 is a browser-based application written in HTML5 and Javascript, also available as a standalone desktop app; it also supports CSS.[5] It is currently in version 2.10.0, as of November 2024.[1]

Rather than using a fixed scripting language, Twine supports the use of different "story formats". In Twine 1, these mostly affected how a story was displayed rather than how it was written, but Twine 2 story formats combine style, semantic rules and markup conventions and are described as "dialects" of the Twine language.[7] There are many story formats;[8] they include Harlowe (the default format for Twine 2), SugarCube (based on the original format used by Twine 1), Snowman (which integrates JavaScript libraries into Twine) and Chapbook (a "second generation" format created and maintained by Twine creator Chris Klimas).[9] Twine 2 also supports "proofing formats", which are designed to output Twine content in a variety of ways to allow for on-screen proofing and error checking, as well as conversion of Twine stories into other formats.[8]

## Notable works

[edit]

* Rat Chaos (2012)
* Howling Dogs (2012)
* Depression Quest (2013)
* Queers in Love at the End of the World (2013)
* The Uncle Who Works for Nintendo (2014)
* The Writer Will Do Something (2015)
* The Temple of No (2016)
* Arc Symphony (2017)
* c ya laterrrr (2017)
* You Are Jeff Bezos (2018)

## Film

[edit]

Twine was used by writer Charlie Brooker in developing the interactive film Black Mirror: Bandersnatch.[10]

## References

[edit]

1. ^ a b c d e "Twinery: Twine Homepage". Retrieved 23 February 2025.
2. ^ a b "Twine v2.9.0 GitHub release". GitHub. 16 Jun 2024. Retrieved 10 July 2024.
3. ^ "tweecode/twine: twine/README.md". GitHub. 14 March 2015. Retrieved 13 April 2016.
4. ^ "Twine licenses". Twine Wiki. 20 September 2014. Retrieved 13 April 2016.
5. ^ a b c Petit, Carolyn (12 January 2013). "Power to the People: The Text Adventures of Twine". GameSpot UK. Retrieved 15 May 2013.
6. ^ Hudson, Laura (2014-11-19). "Twine, the Video-Game Technology for All". The New York Times. ISSN 0362-4331. Retrieved 2017-05-18.
7. ^ "Story Formats - Twine Cookbook". Retrieved 2021-02-22.
8. ^ a b M. C. DeMarco. "A Catalog of Twine Story Formats". Retrieved 2021-02-22.
9. ^ "Terms: Story Formats - Twine Cookbook". Retrieved 2021-02-22.
10. ^ Reynolds, Matt (28 December 2018). "The inside story of Bandersnatch, the weirdest Black Mirror tale yet". Wired UK. Retrieved 28 December 2018.

## External links

[edit]

* Official website
* Official Wiki
* Ellison, Cara (April 10, 2013). "Anna Anthropy and the Twine revolution". The Guardian.
* Hudson, Laura (Nov 19, 2014). "Twine, the Video-Game Technology for All". The New York Times Magazine.

* v
* t
* e

Game engines (list)

* Source port
* First-person shooter engine
* List of first-person shooter engines
* Game engine recreation
* List of game engine recreations
* Game creation system
* Game IDE
* List of visual novel engines
* id Tech

Proprietary|

| 1980s|

* Adventure Game Interpreter
* Cobra
* Filmation
* Freescape
* Gold Box
* Sierra Creative Interpreter
* SCUMM

|

1990s|

* 3D GameStudio
* Clickteam
* Dark Engine
* GameMaker
* Genie Engine
* GoldSrc
* Jedi
* LithTech
* Mugen
* Pie in the Sky
* Reality Lab
* RenderWare
* RPG Maker
* Sim RPG Maker
* Unreal Engine 1
* Virtools
* Virtual Theatre
* Voxel Space
* Zillions of Games

2000s|

* Anvil
* C4 Engine
* CryEngine
* Crystal Tools
* Euphoria
* Flare3D
* Frostbite
* Gamebryo
* GameSalad
* HeroEngine
* IW
* Leadwerks
* Marmalade
* MT Framework
* PhyreEngine
* Q
* RAGE
* Shark 3D
* Source
* Titan
* Unigine
* Unity
* Unreal Engine 2
* Unreal Engine 3
* Virtools 2.5
* Vicious Engine
* Vision
* Visual3D Game Engine

2010s|

* 4A Engine
* Amazon Lumberyard
* Bitsquid
* Buildbox
* Construct
* Creation Engine
* Decima
* Defold
* Felgo
* ForgeLight
* Fox Engine
* id Tech 5
* id Tech 6
* Ignite
* Luminous Engine
* Pixel Game Maker MV
* RE Engine
* Snowdrop
* Stencyl
* Source 2
* UbiArt Framework
* Unreal Engine 4

2020s|

* id Tech 7
* Unreal Engine 5
* S&box

Free and
open-source|

| 1970s|

* Z-machine

|

1990s|

* Adventure Game Studio
* Build
* Crystal Space
* Doom engine
* Game-Maker
* OHRRPGCE
* Quake engine
* Quake II engine
* Stratagus

2000s|

* Away3D
* Blender Game Engine
* Bork3D Game Engine
* Cocos2d
* Dim3
* Game Editor
* GDevelop
* id Tech 3
* id Tech 4
* Irrlicht Engine
* jMonkeyEngine
* Lightweight Java Game Library
* Löve
* OGRE
* Open Wonderland
* Panda3D
* Papervision3D
* Plasma
* Platinum Arts Sandbox
* Pygame
* Ren'Py
* Scratch
* Solar2D
* Thousand Parsec
* Torque
* Vassal Engine
* Wintermute Engine

2010s|

* Delta3D
* Godot
* GPUOpen
* Horde3D
* libGDX
* Moai
* OpenFL
* ORX
* PlayCanvas
* Raylib
* Snap!
* Stencyl
* Stride

2020s|

* Open 3D Engine

Portal:

* Free and open-source software

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template