The Free Interactive Fiction FAQ
version 1.0, 2002-12-21
Copyright (c) 2002 Benjamin Fan
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
License, Version 1.2; with no Invariant Sections, with no
Front-Cover Texts, and with no Back-Cover Texts. A copy of the
license is included in the section entitled "GNU Free
Documentation License".
For excerpts of this FAQ which omit the full text of the GNU
Free Documentation License, the license text can be found at
http://www.gnu.org/licenses/fdl.html
Certain specially-marked sections are used under the Open
Publication License.
_________________________________________________________
Table of Contents
1. Free Software and Interactive Fiction
1.1. What is free software?
1.2. What is interactive fiction?
1.3. Why was this FAQ written?
2. Free Interactive Fiction Projects
2.1. Free Game Systems
2.2. Other Free Software
2.2.1. Compilers
2.2.2. Interpreters
2.2.3. Integrated Development Environments
2.2.4. Miscellaneous
2.3. Projects Still Under Development
2.4. Projects Just Starting Up
2.5. Abandoned Projects
3. Free Interactive Fiction Games
3.1. What games are free?
3.2. Which games have source that is Free but contain
restrictions on the "Artistic Work"?
3.3. Which games are "almost" free?
4. Meta Information
4.1. About this FAQ
4.2. Changelog
A. Gnu Free Documentation License
_________________________________________________________
1. Free Software and Interactive Fiction
1.1. What is free software?
This section was excerpted from the Debian web site.
Many people new to free software find themselves confused
because the word "free" in the term "free software" is not
used the way they expect. To them free means "at no cost".
An English dictionary lists almost twenty different
meanings for "free". Only one of them is "at no cost". The
rest refer to liberty and lack of constraint. When we speak
of Free Software, we mean freedom, not price.
Software that is free only in the sense that you don't need
to pay to use it is hardly free at all. You may be
forbidden to pass it on, and you are almost certainly
prevented from improving it. Software licensed at no cost
is usually a weapon in a marketing campaign to promote a
related product or to drive a smaller competitor out of
business. There is no guarantee that it will stay free.
Truly free software is always free. Software that is placed
in the public domain can be snapped up and put into
non-free programs. Any improvements then made are lost to
society. To stay free, software must be copyrighted and
licensed.
...
While free software is not totally free of constraints
(only putting something in the public domain does that) it
gives the user the flexibility to do what they need in
order to get work done. At the same time, it protects the
rights of the author. Now that's freedom.
The preceding text was exerpted from the Debian web site,
section "What Does Free Mean? or What do you mean by Free
Software?", Copyright 1997-2001 SPI. It is used under the
terms and conditions of the Open Publication License. The
location of the original document can be found at
http://www.debian.org/intro/free The excerpted material may be
distributed only subject to the terms and conditions set forth
in the Open Publication License, Draft v1.0 or later (the
latest version is presently available at
http://www.opencontent.org/openpub/).
1.2. What is interactive fiction?
In the context of this FAQ, interactive fiction commonly
refers to computer-based text adventure games. These games
involve a single player typing text at a prompt and receiving
text responses from the computer. Different responses are
returned depending on the player input given in order to
provide a simulacrum of reality. These games often involve
solving puzzles and fulfilling quests in order to meet a goal.
For more information on interactive fiction, please see the
rec.arts.int-fiction FAQ, found at
http://www.ifarchive.org/if-archive/info/rec.arts.int-fiction.
FAQ.htm.
1.3. Why was this FAQ written?
The source code to a lot of interactive fiction games and
software has been made publically available. However, much of
it is not Free. For those people for whom Free Software is
important, it is difficult to determine exactly what is free.
This document tries to provide that information.
For the purposes of this FAQ, a game or piece of software is
considered t be free if it complies with the Debian Free
Software Guidelines (DFSG)
http://www.debian.org/social_contract#guidelines . It also
includes games in the public domain (which also fall under the
DFSG).
_________________________________________________________
2. Free Interactive Fiction Projects
2.1. Free Game Systems
* JACL JACL is an interpreted language for creating HTML-
based games. The JACL interpreter can be used with Apache
and mod_fastcgi or can be compiled to serve HTTP requests
directly. The project lead is Stuart Allen.
http://jacl.sourceforge.net/ The latest version 1.10.15
was released 2002-02-14. GNU General Public License.
* Cog Engine Project The Cog Engine Project is aimed at
simplifying the creation of online video games. The goal
is to create a flexible and powerful online gaming engine
whose format is simple enough for use by individuals with
no programming experience. The project lead is Steven M.
Castellotti. http://cogengine.sourceforge.net/ The latest
version 1.1.6 was released on 2002-07-14. GNU General
Public License.
* Interactive Fiction Mark Up Language The purpose of this
project is to develop an engine for running web based
Interactive Fiction (also known as text adventures) and to
develop a XML based Interactive Fiction Markup Language
(IFML). The project lead is Jenny Schmidt.
http://sourceforge.net/projects/ifml/ Development status:
Beta released 2002-05-11. zlib/libpng license
2.2. Other Free Software
2.2.1. Compilers
* No free IF compilers are available!!!
* vbccz is a patch written by David Given which allows C
code to be compiled into Z-code. Unfortunately, it
requires the use of the non-free VBCC compiler. The patch
itself is free and probably could be used as the basis of
a new entirely-free compiler.
http://www.cowlark.com/vbcc-z-compiler.html
2.2.2. Interpreters
* Zoom Zoom is a z-machine interpreter written by Andrew
Hunter. It was written from scratch using an interesting
optimization technique called "specialization". Although
it produces a larger executable, Zoom runs 50% faster than
Frotz. http://www.logicalshift.demon.co.uk/unix/zoom/ Zoom
plays version 3, 4, 5, 6, 7 and 8 z-machine files. GNU
General Public License.
* Glulxe Glulxe (for "Glulx Execute") is a Glulx interpreter
written by Andrew Plotkin.
http://www.eblong.com/zarf/glulx/ Glulxe is released under
a DFSG-compatible license.
* Nitfol Nitfol is an interpreter for z-machine games. It
includes a built-in debugger. Nitfol was written by Evin
Robertson. http://plover.net/~thumper/nitfol/ GNU General
Public License.
* ZPlet: A Z-Machine for Java ZPlet is an interpreter for
programs using the Z- Machine virtual machine invented by
Infocom for their interactive fiction. Runs under Java.
The project lead is Matthew Russotto.
http://sourceforge.net/projects/zplet/ Development Status:
Beta. The Beta software was released 2001-11-15. Artistic
License. To do: find out what z-machine versions ZPlet
supports.
* Frotz Frotz is a z-machine interpreter originally written
by Stefan Jokisch.
http://www.geocities.com/SiliconValley/Heights/3222/frotz.
html I'm believe that the original version of Frotz is in
the public domain and that the Unix version is under the
GNU General Public License.
* zip/xzip/jzip Zip was a z-machine interpreter in the
public domain. Several free ports including xzip (for X
Windows) and jzip (for shell console) were developed and
released under other free licenses.
http://sourceforge.net/projects/jzip/ BSD License.
* jASEA jASEA is a Java interpreter for Adrift written by
Mark Tilford. It is released under the GNU General Public
License. http://sourceforge.net/projects/jasea
2.2.3. Integrated Development Environments
* YonkYonk is an IDE for developing Inform games on the
MacOS platform. It was written by Scott Forbes.
http://www.ravenna.com/~forbes/yonk/ GNU General Public
License.
2.2.4. Miscellaneous
* GLK GLK is an API and specification for a common
input/output library used for interactive fiction. Andrew
Plotkin maintains this specification. Several free
implementations also written by Andrew Plotkin are found
here. http://eblong.com/zarf/glk/ The GLK libraries are
released under a DFSG-compatible license.
* Inform Warehouse A warehouse of utilities and story
source-code for Inform-based interactive fiction stories.
Include simple examples of how to write inform, to
libraries of useful utilities and objects, to full game
source-code. The project lead is Matt Albrecht.
http://sourceforge.net/projects/inform-warez/ GNU General
Public License and public domain.
* inform-mode inform-mode is an Emacs mode used to edit
Inform games. It is maintained by Rupert Lane.
http://rupert-lane.org/inform-mode/ GNU General Public
License.
2.3. Projects Still Under Development
* BlueSphere IF Authoring System The purpose of this project
is to build interactive fiction authoring software that is
both easy to use and incredibly powerful. Unlike other IF
authoring systems, the BlueSphere user interface will
focus on content creation - not programming.
http://sourceforge.net/projects/bluesphere/ Development
status: Pre-alpha released 2002-04-29. It appears that the
parser was developed. GNU General Public License.
* Python Universe Builder Python Universe Builder (PUB) is
an Interactive Fiction module for Python. It provides a
programming environment similar to that of Inform or TADS
but runs under any Python interpreter. Present goal is to
document the code.
http://sourceforge.net/projects/py-universe/ Development
status: Beta released 2001-02-21. Some files updated
2002-07-03. GNU Lesser General Public License.
2.4. Projects Just Starting Up
* AGATE AGATE (Adventure Game Authoring & Testing
Environment) is an interactive fiction IDE. It is intended
to do away with the traditional interactive fiction
development cycle of code-compile-test by allowing you to
develop the game as it runs.
http://sourceforge.net/projects/agateif/ Development
Status: Planning Stage, project started 2002-10-14. GNU
General Public License.
* Furry Ice Project Furry Ice is a modular technology for
developing story-based interactive media, such as
adventure games, edutainment, interactive fiction,
hyperstories, interactive stories, interactive tutorials
and interactive corporate presentations.
http://sourceforge.net/projects/furryice/ Development
Status: Planning stage, project started 2002-10-04. Zope
Public License.
* pyzzy: a Python Z-Machine pyzzy is a Z-Machine
implementation written in pure Python. It doesn't aim for
performance, but rather for code clearness and
availability of handy tools for z- code in-depth analyzis.
http://sourceforge.net/projects/pyzzy/ Status: Planning
stage, project started 2002-06-04. Some files were
produced. Python Software Foundation License.
* Viola Viola is an interpreter for Z-Machine games, like
those created by Infocom, written in Python. It will have
full support for all eight Z-Machine versions, and the
blorb resource format.
http://sourceforge.net/projects/viola/ Development Status:
Alpha. Some files were produced. GNU General Public
License.
2.5. Abandoned Free Projects
Projects which are abandoned, but which produced some source
code.
* Heroes of Suroden Like a MUD, but more an interactive
fiction which will suck you into our world. We're using an
OO approach using C++ to code it. A Perl web front end
will be used for "building" the world and the data base of
the world will be saved in XML format.
http://sourceforge.net/projects/suroden/ Development
Status: Pre-Alpha. The project source code is available,
last updated 2002-01-14. BSD license.
* MAGE Adventure Game Engine Complete open source system for
authoring and playing interactive fiction games.
http://sourceforge.net/projects/mage/ Development Status:
Pre-Alpha files released 1999-03-24. GPL license.
_________________________________________________________
3. Free Interactive Fiction Games
3.1. What games are free?
* The Magic Toyshop, by Garret Rees,
http://www.ifarchive.org/if-archive/games/source/inform/ma
gic-toyshop.inf, GPL2
* Night at the Computer Center, by Bonni Mierzejewska,
http://www.ifarchive.org/if-archive/games/source/inform/ni
ght.tgz, all rights given away, except for some notes
about attribution.
* Space Station, by David Ledgard,
http://www.ifarchive.org/if-archive/games/source/inform/sp
acest2.zip, Public Domain.
* Chateu Le Mont, by Paul Panks,
http://www.ifarchive.org/if-archive/games/source/basic/cha
teu.zip, Public Domain
* The Magic Flute, by Paul Panks,
http://www.ifarchive.org/if-archive/games/source/basic/mag
icflu.zip, Public Domain
* Pirate Adventure (Hugo), by Julian Arnold,
http://www.ifarchive.org/if-archive/games/source/hugo/pira
te_src.zip, Public Domain
* Golden Skull, by Neil K. Guy,
http://www.ifarchive.org/if-archive/games/source/tads/gold
src.zip
* The Dungeons of Thuria, by Brian Lingard,
http://www.ifarchive.org/if-archive/games/source/thuria.zi
p, written in C.
* Mansion, by James Garnett,
http://www.ifarchive.org/if-archive/games/source/mansion-1
9.2.tar.gz, written in C and Fortran.
* Napoleon, by Pete Chown
http://www.ifarchive.org/if-archive/games/source/napoleon-
1.02.tar.gz, written in C.
* Battlestar, by Brian Douglas Smith,
http://www.ifarchive.org/if-archive/games/source/batlstar.
zip, written in C, BSD license.
3.2. Which games have source that is Free but contain restrictions
on
the "Artistic Work"?
These games specify that the source code can be used, but
modified versions of the artistic work cannot be produced.
Normally, these would be considered non-Free under the
Guidelines, but I believe that it may be possible to separate
the source code from the underlying artistic text.
* The Plant, by Michael Roberts,
http://www.ifarchive.org/if-archive/games/source/tads/plan
tsrc_2.zip
* Shade, by Andrew Plotkin.
http://www.ifarchive.org/if-archive/games/source/inform/sh
ade-src.tar.Z. The "source code" portions can be freely
used, but the "story" and "game text" portions cannot.
* Common Ground, by Stephen Granade,
http://www.ifarchive.org/if-archive/games/source/tads/Grou
nd_src.zip. The source code can be freely used, but there
is a prohibition against "creating a new version of Common
Ground".
* Arrival, by Stephen Granade,
http://www.ifarchive.org/if-archive/games/source/tads/arrs
rc.zip. The source code can be freely used, but there is a
prohibition against "creating a new version of Arrival".
* Losing Your Grip, by Stephen Granade.
http://www.ifarchive.org/if-archive/games/source/tads/grip
src.zip. The source code can be freely used, but there is
a prohibition against "creating a new version of "Losing
Your Grip".
3.3. Which games are "almost" free?
* Paranoia, by Glenn Hutchings. The copyright notice states
that it is in the "Public Domain" but contradicts itself
by stipulating that it "may not be sold for profit". I'll
have to assume that this game is not actually in the
public domain, and I will remove this listing from the
next version of the FAQ.
_________________________________________________________
4. Meta Information
4.1. About this FAQ
4.2. Changelog
* Version 1.0, 2002-12-21. Original release.
_________________________________________________________
Two things:
1) The website referenced hasn't been updated in four years. You might
want to use my page instead
(http://www.cs.csubak.edu/~dgriffi/proj/frotz).
2) All versions of Frotz based on 2.40 and later are GPLed. Full story
is below.
Before version 2.40, Frotz was under a "no commercial use" license. At my
request for a less-restrictive license (BSDish or GPL), Stefan placed the
then unreleased Frotz 2.40 under the GPLed just before handing off Frotz
to me and Jim Dunleavy (currently nowhere to be found). Any version based
on 2.40 or later is also GPLed. This seems to include the DOS port, the
Unix port (includes MacOS 10), Windows Frotz 2002, Kwest, the upcoming new
port to PalmOS, and ports to the Amiga, Franklin eBookman, Dreamcast, and
Gameboy Advance (might be pre-2.40).
When 2.40 came out, the DOS version was the reference version. By and by,
the Unix version began to fill that role because no more development on
the DOS port was being done. I plan to pick up custody of the DOS port in
the next couple months unless someone else wants it (and can keep it up).
--
David Griffith
dgr...@cs.csubak.edu
I have a selection of (admittedly *very* incomplete) Inform source code,
under the GPL, at http://www.sslaxx.demon.co.uk/resources/InformCode.tar.gz
if you are interested in adding it to this FAQ.
--
Stuart "Sslaxx" Moore.
AIM: MrSslaxx
ICQ: 144089571
WEBSITE: http://www.sslaxx.demon.co.uk
LIVEJOURNAL: http://www.livejournal.com/users/sslaxx/
Bzzt. West End Games.
--
<a href="http://kuoi.asui.uidaho.edu/~kamikaze/"> Mark Hughes </a>
"We remain convinced that this is the best defensive posture to adopt in
order to minimize casualties when the Great Old Ones return from beyond
the stars to eat our brains." -Charlie Stross, _The Concrete Jungle_