A curated list of interactive fiction frameworks, tools, and resources. Created by Yakira Dixon in 2014, currently maintained by Tristano Ajmone.
Newcomers to Interactive Fiction will find these links helpful:
-
Introduction to Interactive Fiction — by Emily Short; 8pp (PDF). Also available in other languages:
-
Italian » Introduzione alle Avventure Testuali
-
-
Brass Lantern’s Beginner’s Guide to Interactive Fiction — by Stephen Granade and Emily Short.
-
Zarf’s Interactive Fiction — an introductory website for IF newbies, by Andrew Plotkin (aka Zarf).
-
Player’s Cheat Sheet — a card to help new IF players with game commands (available in various languages).
ADRIFT (Adventure Development & Runner — Interactive Fiction Toolkit) is a GUI driven IF development system for Windows, allowing to create text adventures via dialog boxes and GUI controls instead of writing code. Supports graphics and sounds.
Developed by Campbell Wild since 1997, ADRIFT Developer (formerly called Adventure Generator) used to be a commercial product, then in 2011 it became freeware, and now the full source code is available on GitHub under BSD 3-Clause license.
There are different versions of ADRIFT, adventures created with a specific version of ADRIFT Developer should be played with the same version of ADRIFT Runner — but ADRIFT Runner 5 should be able to run adventures created for v4:
-
ADRIFT 5.0 (2011–)
-
ADRIFT 4.0 (2002–2012)
-
ADRIFT 3.9 (2001)
-
ADRIFT 2.0 (aka Adventure Generator, 1997) — legacy 16-bit DOS app
For more information, see also:
-
markdamonhughes.com/Aiee (Wayback Machine, 2018)
Aiee! is a cross-platform tool (Java) for creating and playing text adventures, or "interactive fiction". Aiee! adventures are written in a simple XML-based format, without the need for any programming experience. Aiee! adventures can even include illustrations and sound.
Alan (Adventure LANguage) is an a cross-platform open source authoring system based on a dedicated IF language with an English-like syntax, intended to simplify writing adventures for non-programmers. Its webiste also offers a dedicated IDE and other useful tools to aid IF authoring.
Alan was created in 1985 by Thomas Nilsson (now Thomas Nilefalk) and Göran Forslund, and is actively maintained by Thomas Nilefalk. The latest version is Alan 3.
For more information, see also:
Source repository:
Libraries for Alan 3:
-
github.com/AnssiR66/AlanStdLib — Alan Standard Library v2, by Anssi Räisänen.
-
ALAN Library v0.6.2 (at Alan Goodies) — an earlier library ported from Alan 2, still working with current Alan version, but today mainly used to compile legacy adventures and tutorials. Deprecated in favour of the new StdLib v2.
Alan in other languages:
-
github.com/tajmone/Alan3-Italian — Italian translation of the Alan StdLib 2, by Tristano Ajmone (incomplete Alpha).
Alan editors, IDEs and editor extensions:
-
AlanIDE — complete Alan Integrated Development Environment, by Alan author Thomas Nilefalk. In Java/Eclipse.
-
Sublime Alan — Alan 3 syntax for Sublime Text 3 (usable Alpha).
Syntax highlighters supporting Alan:
Alan-related projects:
-
github.com/alan-if/alan-docs — Alan IF Documentation Project.
-
github.com/alan-if/alan-by-examples — Learn ALAN IF through examples.
-
github.com/alan-if/alan-repository-template — GitHub repository template for Alan IF projects.
-
github.com/tajmone/alan-goodies — “Alan Goodies”, a collection of assorted Alan IF assets.
-
github.com/alan-if/alan-xsl-fopub — DocBook XSL Template for Alan PDF documentation via Asciidoctor-fopub; includes an XSLTHL Alan definition for Syntax Highlighting.
The Hugo Interactive Fiction Development System (1995-2006), created by Kent Tessman, is a cross-platform, free and open source (BSD-2-Clause license) programming language and set of tools for authoring and playing Interactive Fiction adventures, supporting images, sound and videos. The latest official Hugo release is v3.1.03 (2005).
💡
|
Suggested GitHub topics:
hugo-if
|
For more information, see also:
-
Hugo Wiki (care of Tristano Ajmone).
-
Not Dead Hugo — an active blog with precious news on Hugo.
Hugo official documentation, by Kent Tessman:
-
The Hugo Book (PDF) — at the IF Archive (direct download).
-
The Hugo Book (HTML) — New AsciiDoc port and HTML edition, revised with Kent Tessman supervision, Jan. 2020.
Tutorials and learning resources:
-
Hugo by Example (Wayback Machine, 2019) — a wiki on Hugo, by Royce Odle aka «Gerynar».
-
Jolt Country (Wayback Machine, 2018) — Unofficial Hugo discussion forum.
The Hugo Library, by Kent Tessman:
-
Hugo Library (v3.1.03.1) — at the IF Archive.
-
Hugo Library (v3.1.03.2) — on GitHub (care of Tristano Ajmone).
Third party libraries for Hugo:
-
Hugo Code Lab — a collection of Hugo libraries by Jonathan Blask.
-
IF Archive — library extensions for various purposes contributed by members of the IF community.
Editor syntaxes:
-
Hugo ConTEXT — Hugo syntax for ConTEXT (direct download), by Paul Lee, 2010.
-
Hugo EditPlus2 — Hugo syntax for EditPlus2 (direct download), by Ben Parrish, 2002.
-
Hugo Emerald — Hugo syntax for Emerald (direct download), by Jonathan Blask, 2012.
-
Hugo Kate — Hugo syntax for Kate (direct download), by Jonathan Blask, 2012.
-
Hugo mode — Hugo mode for Emacs, by Christopher Tate (GPLv2).
-
Hugo Npp — Hugo syntax for NotePad (direct download)++, by Jonathan Blask, 2011.
-
Hugo Source Edit — Hugo syntax for Source (direct download) Edit, by Jonathan Blask, 2012 .
-
Hugo Textpad — Hugo syntax for Textpad (direct download), by Jonathan Blask, 2012.
-
Hugo UltraEdit — Hugo syntax for UltraEdit (direct download), by Gunther Schmidl, 2010.
-
Hugo Vim — Hugo syntax file for Vim, by Marc Simpson.
-
Sublime Hugo — Hugo for Sublime Text 3, by Tristano Ajmone, 2019 (WIP).
Hugo source code:
-
github.com/tajmone/hugo (care of Tristano Ajmone).
-
github.com/curiousdannii/hugo (care of Dannii Willis).
-
github.com/0branch/hugo-unix (care of Marc Simpson).
-
github.com/realnc/homebrew-hugo — Homebrew tap for the Unix Hugo CLI tools.
-
-
github.com/juhana/hugojs — HugoJS, an online Hugo interpreter. Created from Hugo sources trans-compiled to JavaScript via Emscripten.
Syntax highlighters supporting Hugo:
-
Highlight (see:
langDefs/hugo.lang
).
To find games created with Hugo:
-
IFDB » Hugo — all Hugo games on the Interactive Fiction Database.
-
HugoJS — a collection of Hugo games playable on-line, in the browser.
See also:
Based on natural language.
See also:
Online tools:
-
I7 Thing Creator (I7TC) — by Juhana Leinonen. A web form to quickly create i7 objects and reponses; the produced code can then be pasted into the project’s source.
TADS (Text Adventure Development System).
For more information, see also:
TADS sources:
For more information, see also:
-
Fizmo — a generic Z-Machine interpreter-development library in plain C, used in various interpreters. Supports Z-code (1-5, 7 and 8).
-
Frotz — for Linux & Mac OS X, supports Z-Machine story files.
-
Gargoyle — for MS Windows, Linux & Mac OS X; supports most story file formats by including the following interpreters: Agility, Alan 2 and 3, Frotz (glk port), Glulxe, Hugo, Level 9, Magnetic, Scare, Tads 2/3.
-
Spatterlight — story files supported: AGT, Adrift, AdvSys, Alan, Glulx, Hugo, Level 9, Magnetic Scrolls, TADS (text-only), Quill, and Z-code (except v6).
-
Zoom — supports Z-code, TADS 2/3 and HUGO story files.
-
Twisty — supports Z-code and Glulx story files.
-
Text Fiction — supports Z-code (3, 5 and 8) story files.
-
Parchment — written in JavaScript, supports Z-Machine story files.
Traditionally, IF maps are represented by boxes connected by lines, representing the various rooms and their directions connections. They are intended to represent movements in the adventure world locations, not a physical representation of its geography — but sometimes «realistic» maps are provided with the game feelies, for aesthetic reasons.
Mapping tools can be used for either manually drawing maps from scratch, or to automatically build a map by analizying a game session transcript (live or saved). Some tools offer both functionality.
Many of the tools presented here are now hosted at the IF-Archive — they are old and don’t have any longer a website of their own. To avoid direct linking to their binary archives, a link to the “Mapping Tools” index page at IF-Archive will be provided instead:
-
IFM (Interactive Fiction Mapper, 1998–2014) — IFM is both a language for keeping track of gameplay progress and a command line tool (for Windows and Linux) capable of representing the collected map-data in different output formats (PostScript, Fig, ASCII text, and others) and offering many other features, including automapping. Windows executables can be downloaded from the IF Archive. Linux users can build IFM from the Bitbucket sources via GNU
make
. (Online Manual | Bitbucket | IFWiki) -
IFMapper — A map drawing tool, written in Ruby, with lots of features, including automapping. Can read and save IFM files and Inform/TADS3 source code files. Exports to PDF. (Online Manual | GitHub)
-
SVGmaps.zip
(2008) — A JavaScript framework for producing IF maps using the standard Scalable Vector Graphics (SVG) language.
-
Cocoa Mapre (2004) — (
cocoa_mapre0.6.7.dmg
) A tool for generating maps of Multi-User Dungeons on Mac OS X.
-
AutoREALM (2006) — A vector-based map drawing software (FOSS) designed for RPGs. Allows the creation of detailed full-color maps; ideal for the creation of elegant game maps where «room boxes» are superimposed on a realistic up-to-scale representation of the game world.
-
Campaign Cartographer — A commercial tool for drawing fantasy-style terrain maps — not the classic rooms/directions-based diagram IF maps, but ancient-looking «realistic» full-color maps, with villages, lakes, sea, forests. Execellent for creating feelies maps.
-
Frobot Magic Adventure Mapper (1998) — Automapping tool for Windows 95.
-
GUEmap — Map drawing tool, can also generate directions for moving around the map. GUEmap v1 (1998–1999) is Sharaware, GUEmap v2 (1998–2007) is now free and open source. Runs on Windows 95/98 or NT 4.0.
-
Informapper (1996) — A map drawing program for Windows, Spanish only user interface. Can export as a skeleton file for SINTAC. Can’t execute on modern versions of Windows.
-
Map Maker (1999) — A Windows 95/98/NT world-building tool for visually designing maps to be converted as AGT, AGX, Hugo and TADS source code. Can still be executed under Windows 10.
-
The Mapper (1994) — Automapping tool — comes as a
.COM
executable format. Can’t execute on modern versions of Windows. -
Trizbort (2010-today) — For drawing Infocom-style maps. Automapping feature. Saves in XML, exports to PDF or PNG. Actively developed.
-
Adventure Map Utility (1994) — A shell script that implements a domain-specific language for creating printable PostScript maps from plaintext input files.
-
asciimapper (2005) — A Perl script to create IFM maps from ASCII art maps. Intended as an easy way to draw a map and have it converted to IFM format.
-
ifm2i7 (2008) — A Perl program to convert maps in IFM format to Inform 7 source code.
-
informap (1999) — A perl script that draws maps out of Inform source code.
-
IFmapper (2001)
For a full list of IF story files extensions, see:
IF story files are distributed with different file extensions, depending on the IF authoring system used to create them and/or the output format the story has been compiled/converted to (in case of authoring systems that support multiple output formats, like Inform7, or when story files are converted from an old format to a newer one).
The following table resumes the most common story file extensions.
ext | format |
---|---|
|
Alan 3 story file. |
|
Quest source code and story file. |
|
Blorb wrapper, usually containing a story file. |
|
Compressed Quest story file. |
|
Floyd story file. |
|
TADS 2 story file. |
|
Glulx story file in a Blorb wrapper. |
|
Glulx story file in a Blorb wrapper. |
|
Hugo story file. |
|
Node-X story file. |
|
TADS 3 story file. |
|
TADS 3 story file. |
|
ADRIFT story file. |
|
T.A.G. story file. |
|
Twine story file. |
|
Glulx story file. |
|
Z-machine version 1 story file. |
|
Z-machine version 2 story file. |
|
Z-machine version 3 story file. |
|
Z-machine version 4 story file. |
|
Z-machine version 5 story file. |
|
Z-machine version 6 story file. |
|
Z-machine version 7 story file. |
|
Z-machine version 8 story file. |
|
Z-machine story file in a Blorb wrapper. |
|
Z-machine story file in a Blorb wrapper. |
The following table resumes some common extensions used by IF authoring systems as source, headers or resource files. In some IF authoring systems, the source code file and the story file distributed for playing are one and the same.
ext | format |
---|---|
|
Alan 3 multimedia resources file (same filename as its storyfile). |
|
Alan 2 source code file. |
|
Alan 3 source file. |
|
ADRIFT Language Resource file. |
|
Quest source code and story file. |
|
|
|
Inform 7 extension source code file. |
|
Inform 6 source code file. |
|
Inform 7 project folder. |
|
JACL source code file. |
|
Inform 7 source code. |
|
TADS source code file. |
|
T.A.B. game datafile |
|
ZIL source code. |
The following table resumes some other common file extensions related to IF that don’t belong to any of the previous categories.
ext | format |
---|---|
|
Saved game file. |
|
Transcript of a Z-Code gameplay. |
|
TADS 3 saved game file. |
The Z-machine was the virtual machine used by Infocom for their text adventures (the ‘Z’ stands for ‘Zork’). Originally developed in 1979 by Joel Berez and Marc Blank, it was later on decoded and reimplemented in the mid-1990s as an open standard by IF fans wishing to revive the genre and play the original Infocom adventures.
There are have been several variations of the Z-machine standard (z1 to z6), and present day IF interpreters support all of them for the sake of backward compatiblity. The Inform compiler supports creating adventures in Z-machine format. The Z-machine is a 16 bit virtual machine.
-
github.com/jeffnyman/zmachine — Jeff Nyman’s collection of documents on the Z-Machine.
Glulx is A 32-Bit Virtual Machine for IF, created by Andrew Plotkin.
-
Glulxe — by Andrew Plotkin; written in C, hosted on GitHub.
More Glulx interpreters are listed at the IF Archive dedicated section:
More Glulx tools are listed at the IF Archive dedicated section:
The T3 VM is the TADS 3 Virtual Machine, replacing the TADS 2 VM.
For more info, see:
-
The Interactive Fiction Competition (IFComp) — since 1995.
-
Spring Thing Festival of Interactive Fiction — since 2002.
-
The XYZZY Awards — since 1996.
For more learning resources, see also:
See also:
The Discoverer’s Digest focuses on Interactive Fiction’s philosophy, authorship, and exploring the possibilities of the medium. — everything from artistic mapping techniques to hooking your IF through a browser-based GPS system for IF in the real world!
-
http://discdigest.xyz (Wayback Machine, 2018)
-
Let’s Tell a Story Together — by Jimmy Maher, 2006. Readable online or downloadable in ePub or Mobipocket.
-
The Digital Antiquarian — Jimmy Maher’s blog articles downloadble as yearly volumes, in ePub or Mobipocket.
-
IF Gems — A selection of quotes from reviews of the annual Interactive Fiction competition (1995–2005), compiled by David Fisher; 183pp (PDF).
-
IF Theory Reader — by Kevin Jackson-Mead & J. Robinson Wheeler, 2011; 438pp (PDF). Also available for purchase as paperback and Kindle edition.
-
The Inform Beginner’s Guide — by Roger Firth and Sonja Kesserich, 2004; 284pp (PDF). Also available as paperback. Translations in other languages:
-
Italian » Guida a Inform per Principianti
-
-
The Inform Designer’s Manual (DM4) — by Graham Nelson, 2001; 572pp. Also available as paperback and Microsoft CHM eBook.
-
The Inform 7 Handbook — by Jim Aikin, 2015; 518pp.
-
The PAW Programming Bible — by AAVV, 2014; 333pp.
-
Twisty Little Passages — by Nick Montfort, 2005; 328pp, paperback or hardback.
-
Creating Interactive Fiction with Inform 7 — by Aaron A. Reed, 2010; 448 pp, paperback + eBook.
-
Writing Interactive Fiction with Twine — by Melissa Ford, 2016; 432pp. Available in eBook or paperback.
-
The Craft of the Adventure (2nd Ed) — by Graham Nelson, 1997; 37pp, PDF. Five Articles on the Design of Adventure Games.
-
The Craft of the Adventure (Ch.VIII of DM4) — by Graham Nelson, 2001. A chapter of The Inform Designer’s Manual dedicated to IF authoring guidelines.
-
Crimes Against Mimesis — by Roger Giner-Sorolla, 1996. (ReoCities link)
Tutorials by inki (Dan Shiovitz):
Tutorials by Emily Short:
Tutorials on Description:
-
Mapping the Tale: Scene Description in IF — by J. Robinson Wheeler
Scott Kim "Puzzle Master" articles and resources on puzzles and puzzles-creation:
-
The Interactive Fiction Authoring System Developer’s Guide — by Peer Schaefer, 2005; 24pp, PDF. A document for programmers who want to create a development system for IF, covering the most important aspects that the developer should consider, and the most important pitfalls he should avoid.
-
So you want to write a text adventuring authoring system… — by Alan Conroy, in XYZZYnews issue #14, 1998. In this 6 pages article, Alan Conroy discusses how he developed an adventure authoring system named Adventure Builder and the issues involved with writing your own. (TXT version)
-
DM4 » §24 The world model described — The Inform Designer’s Manual by Graham Nelson, 2001. Section 24 discusses world models.
-
Inform 7 for Programmers — by Ron Newcomb, 2009 (
i7_5U92
); multipart tutorial at IFWiki (HTML). -
Inform 7 Programmer’s Manual — by Ron Newcomb, 2011 (
i7_6G60
); 81pp, PDF. -
Welcome To Adventure: A Quick-Start Guide to Inform 7 — by Carolyn Vaneseltine, 2014; multipart tutorial (HTML).
-
The Foyer is a Room — Inform 7 Examples, Snippets and PDF handouts by John Timmons.
-
Exercises in Generated Prose — by Emily Short, 2009; blog entry.
-
Inform in four minutes — by Roger Firth, 2002; 4pp, PDF. A quick reference to the Inform language.
-
InfoLib at your fingertips — by Roger Firth, 2002; 6pp, PDF. A quick reference to the Inform Library.
Interactive Fiction has been employed in the classroom as a teaching aid in various fields: reading, foreign languages, litterature, history, computer programming, game design, and new media theory.
-
Teach with Inform — Inform7’s website educational resources page.
-
inform7.com/news/category/education^ — Inform7 News Section, «Education» category. RSS Feed subscription available.
-
Teaching IF — a list of IF courses in schools, curated by Emily Short.
-
Gaming The Past » Interactive Texts — A repository for theory, research , and implementations of simulation games for history education. Created and maintained by Jeremiah McCall. Offers Inform 7 and Twine resources.
-
The Foyer is a Room — Inform 7 Examples, Snippets and PDF handouts by John Timmons, created by educators for students and the classroom. Freely reusable material.
-
Viking Studies Course Materials — Includes various IF story files (30+). Gettysburg College (Gettysburg, PA).
-
Voices of Spoon River — An instructional IF game based by Creative Learning Environments Lab (Utah State University), based on Edgar Lee Masters' The Spoon River Anthology. (see also, IF Wiki » Voices of Spoon River)
-
Gaming the Past: Using Video Games to Teach Secondary History — by Jeremiah McCall. New York: Routledge, 2011. Available in paperback, hardback and digital editions (Kindle).
-
Student-designed text-based simulation games for learning history: A practical approach to using Inform 7 in the history classroom — by Jeremiah McCall (CC BY-NC-SA 3.0 US).
-
Interactive Fiction: ‘New Literacy’ Learning Opportunities for Children — by Deborah Kozdras, Denise Marie Haunstetter, and James R. King (2006), E-Learning, 3(4), pp. 519-533.
-
Goethe’s “Elective Affinities” as E-Learning: Developing Exercises for German Classes in the Secondary School Level 2 — by Wiebke Schwelgengraber, Mario Donick, and Franziska Schonfeld, presented at the E-Learning Baltics 2009 Conference.
-
Mixing Story and Simulation in Interactive Narrative — Mark O. Riedl, Andrew Stern, Don Dini.
-
rec.arts.int-fiction (Google Groups) — Discussions about interactive fiction.
-
rec.games.int-fiction (Google Groups) — All aspects of interactive fiction games.
-
it.comp.giochi.avventure.testuali (Google Groups)
-
ifmud.port4000.com:4002/bui (web client)
Since 1997 the ifMUD (a MUD forever voyaging) has been a gathering point for the IF community.
For more information, see also: