You have just read a blog post written by Jason McIntosh.
Thank you kindly for your time and attention today.
This article was originally published, in modified form, at Opensource.com.
I am president and co-founder of the Interactive Fiction Technology Foundation (IFTF), a non-profit organization dedicated to the preservation and improvement of the technologies enabling the much-storied digital artform we call interactive fiction. OpenSource.com approached us earlier this year to suggest our writing an article about IFTF, the technologies and services it supports, and how it all intersects with open source. I find this a novel angle to the decades-long story I’ve grown quite used to telling, as IF has a history rather older than — but nonetheless quite enmeshed with — the modern FOSS movement. I hope you’ll enjoy my sharing it now.
By interactive fiction, I include any video game or digital artwork whose primary interaction with its human audience involves pushing text back and forth, one way or another. The term originates from the time in the 1980s when parser-driven text adventure games — epitomized in the United States by Zork, Hitchhiker’s Guide, and the rest of Infocom’s canon — defined home-computer entertainment. Its mainstream-commercial viability had guttered by the 1990s, allowing online hobbyist communities to pick up the banner and carry on the tradition, releasing both games and game-creation tools into the world as they went.
After a good quarter-century of work, criticism, and play, the term “interactive fiction” now embraces a broad and sparkling variety of work, from puzzle-laden text adventures to sprawling and introspective hypertexts. Regular online competitions and festivals provide a great place to peruse and play new work: the English-language IF world enjoys annual events including Spring Thing and IFComp, the latter a centerpiece of modern IF since 1995 — which also makes it the longest-lived continually running game-showcase event of its kind, in any genre. IFComp’s crop of judged-and-ranked entries from 2017 shows off the amazing diversity in form, style, and subject matter that text-based games can boast today.
(I specify “English-language” above because, as a perhaps inevitable effect of its focus on writing, IF communities do tend to self-segregate by language. There exist also annual IF events in French and Italian, for example, and I hear tell of at least one Chinese IF festival gearing up soon. Happily, these borders are porous: during the four years I myself managed IFComp, it welcomed English-translated work from all these international communities.)
Largely due to its focus on text, IF also presents some of the most accessible platforms for both play and authorship. Most anyone who can read digitally presented text — including users of assistive technology, such as text-to-speech software — can play the majority of IF work. Likewise, IF creation is open to all writers with a willingness to learn and work with the tools and techniques involved.
This brings us to examine IF’s long relationship with open source, which has long helped enable the art form’s ongoing and highly adaptive availability in the decades since its commercial heyday. Allow me to present an overview of contemporary open-source IF creation tools, and then move on to consider the ancient and sometimes curious tradition of IF works that share their source code as well.
For creating traditional parser-driven IF — where the user types in commands to interact with the game’s world, such as GO NORTH or GET LAMP or PET THE CAT or ASK ZOE ABOUT QUANTUM MECHANICS — a number of development platforms exist, most of which are open-source. The early 1990s saw the emergence of several hacker-friendly parser-game development kits, and those still in use today include TADS, Alan, and Quest — all open, with the latter two bearing FOSS licenses.
But by far the most prominent of these is Inform, first released by Graham Nelson in 1993 and now maintained by a team Nelson continues to lead. Inform source is semi-open, in an unusual fashion: Inform 6, the previous major version of this system, makes its source available through the Artistic License. This has more immediate relevance than may be obvious, since the otherwise proprietary Inform 7 holds Inform 6 at its core, translating its remarkable natural-language syntax into its predecessor’s more C-like code before letting it compile the work down into machine code.
Inform games run on a virtual machine, a surviving relic of the Infocom era when that publisher targeted a VM so that it could write a single game that would subsequently run on Apple II, Commodore 64, Atari 800, and all the other flavors of home computer one might have back when people said things like “home computer”. There exist fewer popular operating systems today, but Inform’s virtual machines — either the relatively modern Glulx or the charmingly antique Z-machine, a reverse-engineered clone of Infocom’s historical VM — bring a similar benefit, letting Inform-created work run on any computer for which someone has created an Inform interpeter. Right now, popular cross-platform interpeters include desktop programs like Lectrote and Gargoyle, or browser-based ones like Quixe and Parchment — all of which are open-source.
If the pace of Inform’s development has slowed down in its maturity, it remains vital through an ever-active, many-handed, and transparent ecosystem — just like most any other popular open-source project. In Inform’s case, this includes the aforementioned interpreters, a collection of language extensions (usually written in a mix of Inform 6 and 7), and, of course, all the work created with it and subsequently shared with the world, sometimes with source included. I’ll return to that latter topic later in this article.
IF creation tools invented in the twenty-first century tend to explore player interactions outside of the traditional parser, generating hypertext-driven work that any modern web browser can load. Chief among these is Twine, originally developed by Chris Klimas in 2009, and under active development by many contributors today as a GNU-licensed open-source project. (In fact, Twine can trace its OSS lineage back to Tiddlywiki, the project from which Klimas initially derived it.)
Twine benefits from a standing IFTF program dedicated to its support, allowing the public to help fund its ongoing maintenance and development. IFTF also directly supports two long-time public services, IFComp and the IF Archive, both of which depend upon and contribute back into open software and technologies.
Measured by mass, the bulk of the Archive lies in games, of course: years and years of games, reflecting decades of evolving game-design trends and IF tool development. So, at last, the fun part: let’s talk about open-source text games!
Lots of IF work shares its source code, and the community’s quick-start solution for finding it is simple: search the IFDB for the tag “source available”. (The IFDB is yet another long-running IF community service, in this case run privately by TADS creator Mike Roberts.) Those unshy about a rather more bare-bones interface may also wish to browse the
/games/source directory of the IF Archive, which groups its content by development platform and written language, as well as a whole lot of work either too miscellaneous or too ancient to categorize floating at the top.
A little bit of random sampling of these code-sharing games will reveal an interesting dilemma: unlike the wider world of open-source software, the IF community lacks a generally agreed-upon way of licensing all the code that it generates. Unlike a software tool — including all the tools we use to build IF — an interactive fiction game is a work of art in the most literal sense, meaning that an open-source license intended for software would fit it no better than it would any other work of prose or poetry. But then again, an IF game is also a piece of software, and one that exhibits source-code patterns and techniques that its creator may quite legitimately wish to share with the world. What is an open-source-aware IF creator to do?
Some games address this by passing their code into the public domain, either through explicit license or — as in the case of the original, 42-year-old Adventure by Crowther and Woods — through community fiat. Some try to split the difference, rolling their own license that allows for free re-use of a game’s exposed business logic but forbids the creation of work derived specifically from its prose. This represents the tack I took when I opened up the source of my own game, The Warbler’s Nest. Lord knows how well that’d stand up in court, but I didn’t have any better ideas at the time.
Naturally, you can find work that refuses to overthink all this and just puts everything under a single common license anyway, and never mind the naysayers. A prominent example here is Emily Short’s epic Counterfeit Monkey, released in its entirety under a Creative Commons 4.0 license. CC frowns at its application to code, but one could make the argument that the strangely prose-like nature of Inform 7 source makes it at least a little more compatible with a CC license than a typical software project.
If you have read this far and find yourself eager to start exploring the world of interactive fiction, open-source and otherwise, allow me to collect a few next-stop links for you:
As mentioned in the article, IFDB and the IF Archive both present browsable interfaces to over forty years’ worth of collected interactive fiction work, much of it playable in one’s web browser, and some requiring additional interpreter programs (the acquisition and installation of which IFDB can assist with).
IFComp’s annual results pages provide another view into the best of this forever free and archive-available work.
The Interactive Fiction Technology Foundation is a charitable non-profit organization that helps support Twine, IFComp, and the IF Archive, as well as efforts to improve accessibility of IF, explore IF’s use in education, and on and on. Do feel free to join its mailing list to receive IFTF’s monthly newsletter, or peruse its blog in the meantime. (Also, can we interest you in some attractively thematic merchandise?)
John Paul Wohlscheid wrote this article about open-source IF tools for itsfoss.com earlier this year, and I came across it while wrapping up my work on this opensource.com article. (Something in the air, hm?) It covers some platforms not mentioned here, so if you’re still hungry after my 2,000 words, go have a look.
Thanks to VM Brasseur for inviting me to write this article for Opensource.com and helping me to develop it, and to Jen Wike Huger for editing and facilitating its publication on that website.
Next post: I played Virtue’s Last Reward
Previous post: I read The Book of the New Sun (and re-read From Hell)
To share a response that links to this page from somewhere else on the web, paste its URL here.