Original author(s) | Chris Klimas[1] |
---|---|
Initial release | 2009[1] |
Stable release | |
Repository | |
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 |
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]
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 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.9.0, as of June 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]
Twine was used by writer Charlie Brooker in developing the interactive film Black Mirror: Bandersnatch.[10]