David A. Wheeler's Blog

Thu, 28 May 2009

Parchment: Running the Z-machine

I just learned of fun web application called Parchment. Parchment lets you play interactive fiction (I.F., aka “text adventure games”) using just your web browser. It only works with I.F. in “Z-machine” format, but that’s a very common format.

So go to the parchment site and try out something from their long list of interactive fiction… now you don’t need to install anything! That includes my small replayable puzzle “Accuse” (my Accuse source code is already available).

If you want more information about it, here’s a brief post about Parchment by its author, Atul Varma. Atul built this based on an existing program, Thomas Thurman’s Gnusto. Both are open source software (using the GPLv2 license). Once again, this demonstrates the neat thing about community-developed software; one person developed a program for one circumstance, and another extended it for a different circumstance.

There are several tools available for creating interactive fiction. I’ve been watching Inform 7 for a while, with interest, because it takes a radically different approach to writing code. Inform 7 is a natural-language programming language that tries to actively exploit features of natural language to make developing these kinds of things easier. You can see a brief Inform 7 tutorial if you’re curious, as well as the full Writing with Inform documentation. Inform 7 isn’t itself OSS, though significant portions are; inform 6 (a key substrate) and many other portions including the Inform 7 standard rules are released under the Artistic License 2.0. The extensions are released under the “Attribution Creative Commons licence”; that’s not normally a license used for software, but I think it’d meet the criteria for OSS, and Fedora approves of this license for content. I hope that someday the rest will be released as OSS as well. The logic behind Inform 7 is described in “Natural Language, Semantic Analysis and Interactive Fiction” by Graham Nelson. If you’re interested in some of the technical stuff behind it, the text of the Standard Rules, the text of the extensions, Inform 7 for programmers, and the Chart of Rules can tell you more.

path: /oss | Current Weblog | permanent link to this entry