From: [email protected] (David Glasser)
Subject: [] Interactive Fiction Authorship FAQ (1/3)
Summary: This posting describes the Usenet newsgroup,
         and Interactive Fiction Authorship in general.
X-Disclaimer: Approval for postings in *.answers is based on form, not content.
X-Abuse-Info: Please be sure to forward a copy of ALL headers
X-Abuse-Info: Otherwise we will be unable to process your complaint properly
Date: Wed, 18 Oct 2000 08:10:40 GMT

Archive-name: games/interactive-fiction/authoring/part1
Posting-Frequency: monthly
Copyright: (c) 1999 David Glasser

        [] Interactive Fiction Authorship FAQ (1/3)
   Maintained by David Glasser ([email protected])
   This chunk contains parts 1-3 of the raif FAQ.
Part 1: Meta-FAQ information
  1.1: Recent Changes
     * Monday, 27th March 2000
     * Hugo is at 2.5.02.
     * TADS is at 2.5.2.
     * Inform Glulx is at G0.32.
     * Quest is at 2.14.
     * Mentioned maketrx.
     Tuesday, 25th January 2000
     * Whoops! raif was created in 1986, not 1992.
     * Fixed URL of Informary.
     Tuesday, 28th December 1999
     * Canonicalized all references to files on the IF-Archive, and added
       links to a redirector care of Stephen van Egmond.
     * Did some general pre-apocalypse tidying-up.
     Friday, 24th December 1999
     * Clarified PFE's disappearance.
     * Updated Quest to version 2.12.
     * Updated Hugo's version to 2.5.01d lib and fiddled with
       its platforms list.
     * Amiga ALAN is at the latest version, and Glk ALAN exists, albeit
       without source.
     * no longer requires reverse DNS lookup, saving me a
       long, confusing paragraph! (Of course, your ISP should still
       implement it.)
     * EPOC handhelds have Inform!
     * Glulx Inform is at G0.31.
     Sunday, 14th November 1999
     * Updated Hugo's library to and Inform's to 6/10.
     * Updated ALAN's website URL to .
     * Added some information on betatesting to [How do I become an IF
       author?: 4.1] .
     * Added more information on TADS documentation.
     * Added a "Which system should I use?" section ([Which IF system
       should I use?: 4.14] ), including information on Roger Firth's
       "Cloak of Darkness".
     * Added a section on making standalone executable versions of your
       games ([How do I create a standalone executable program out of an
       IF game?: 4.15] ).
     * Updated various editors stuff, specifically config files for vim
       and UltraEdit and the addition of FED, CodeWright, Multi-Edit, and
     * Added a description of SUDS.
     Sunday, 31st October 1999
     * Updated Hugo to 2.5.01c.
     * Fixed Quest's price.
     * Noted PFE's disappearance.
     Sunday, 10th October 1999
     * has decided to do evil advertising-related things, so I'm
       not using them anymore. Please use
        instead. (Oh, and it's on instead of
     * SPAG has also abandoned; I updated their URL.
     * This round of changes does seem to be a domain name party; a new
       Quest domain name, complete with website and email addresses.
     * Fixed the URL of Jerry's Hugo website and added the AGT authors
     * Added the IF assistance list.
     Monday, 30th August 1999
     * The editor article is finally in, though it certainly needs more
     * Added an article about Adam Cadre's patch site for Inform.
     * Added some information on Glulx Inform.
     Tuesday, 20th July 1999
     * After not being able to access uscom via telnet for far too long,
       moved FAQ to Please continue to use the
       address, though.
     * Updated TADS to 2.5.0 and added info on Visual Workbench.
     * Changed Hugo URL and email address.
     * SPAG is now maintained by Paul O'Brian.
     * Actually, Blorb supports JPEG.
     Thursday, 17th June 1999
     * Moved [Where can I find Infocom games?: 6.7] into its own section.
     Sunday, 13th June 1999
     * Added reference to the new Italian translation.
     * Added the Glulx URL.
     * Added the SPAG website URL.
     * Blorb does not support JPEG, so I changed the description to tell
       the truth.
     * Added QDK to Quest description.
     * Added links to the table of contents.
     Monday, 17th May 1999
     * Added information on the Italian IF newsgroup.
     * Added definitions for PC and NPC.
     * Added information on Cascade Mountain Publishing.
     * Updated Hugo to 3.0.
     * Updated TADS to 2.4.
     * Updated Inform to 6.21, added information on glux and Infix, and
       calmed mentions of 6.20's bugs.
     * Changed URL of MiningCo site to and DejaNews to Deja,
       because some sites just love being huge portals with trendy names.
     * Mark Engelberg's TADS tutorial is on GMD.
     * Updated Quest's version.
     * Modified ifMUD info to reflect new location.
  1.2: Contents
   PART 1: Meta-FAQ information
     * 1.1: Recent Changes
     * 1.2: Contents
     * 1.3: What is the FAQ for and where do I get it from?
     * 1.4: How is the FAQ composed?
     * 1.5: Acknowledgements and Copyright Notice
   PART 2: About the newsgroup
     * 2.1: What is the purpose of
     * 2.2: What topics are appropriate here...
     * 2.3: ...and what topics are not appropriate?
     * 2.4: Is there an archive of newsgroup postings?
     * 2.5: What abbreviations will I find on the newsgroups and in the
     * 2.6: What sort of events does IF community do?
     * 2.7: What is "mimesis"?
   PART 3: General Interactive Fiction information
     * 3.1: What is interactive fiction?
   PART 4: Programming IF
     * 4.1: How do I become an IF author?
     * 4.2: Who's going to appreciate my work; who cares about IF anyway?
     * 4.3: What about copyright; how can I protect my work?
     * 4.4: What authoring systems are available? (Hugo, Inform, TADS,
       ALAN, AGT, Quest, SUDS)
     * 4.5: What is Glk?
     * 4.6: What are VILE 0 ERRORS FROM HELL, and how should I avoid them
       in Inform?
     * 4.7: How do I find bug fixes for Inform?
     * 4.8: What editors can I use to write IF?
     * 4.9: What tools and utilities are available?
     * 4.10: Wouldn't a visual system be great for writing IF in?
     * 4.11: What support does Inform offer for graphics and sounds?
     * 4.12: What support does TADS offer for graphics and sounds?
     * 4.13: What support does Hugo offer for graphics and sounds?
     * 4.14: Which IF system should I use?
     * 4.15: How do I create a standalone executable program out of an IF
   PART 5: Writing IF: What has been written on the subject...
     * 5.1: in general?
     * 5.2: of the art of writing NPCs?
     * 5.3: of parsing?
     * 5.4: of plot/story in interactive fiction?
     * 5.5: of the educational value of interactive fiction?
   PART 6: Internet Index: What is available on...
     * 6.1: The IF-Archive?
     * 6.2: FTP?
     * 6.3: the World Wide Web?
     * 6.4: chat spaces (ifMUD)?
     * 6.5: 'zines?
     * 6.6: mailing lists?
     * 6.7: Where can I find Infocom games?
     * 6.8: Usenet
  1.3: What is the FAQ for and where do I get it from?
   This document is intended to serve as both a list of answers to
   frequently-asked questions (FAQ) for the newsgroup, and as a source of more general information for
   those interested in interactive fiction authorship and/or theory.
   The FAQ has been split into six parts. Each part will be updated as
   and when the maintainer feels it is necessary and has the time.
   [Recent Changes: 1.1] will detail major changes to the FAQ. The FAQ is
   split into three chunks: chunk 1 contains parts 1-3, chunk 2 contains
   part 4, and chunk three contains parts 5 and 6.
   If you see any problems with the FAQ, or have any suggestions, email
   me at [email protected] If your email address is in it and you have
   concerns about spammers, I'll be glad to obfuscate it in some way.
   The FAQ is posted to,,
   rec.answers, and news.answers on the 18th of each month.
   To get the most recent version of the FAQ, steer your web browser
   towards . From this site, you
   can retrieve the FAQ as plain text or HTML.
   There also is an Italian translation at
    by Lorenzo
   Marcantonio ([email protected]).
  1.4: How is the FAQ composed?
   The FAQ has been split into six separate parts.
   You are now reading part 1 (Meta-FAQ information). This answers
   questions about the FAQ itself, such as its availability and layout.
   There is also a full part-by-part contents at [Contents: 1.2] .
   Part 2 (About the newsgroup) describes
   Part 3 (General Interactive Fiction information) answers questions
   asked by people new to the newsgroup or interactive fiction in
   general. It does not cover writing IF.
   Part 4 (Programming IF) will be of interest to the (prospective)
   interactive fiction author. It includes details of the major authoring
   systems and other tools. It is mostly focused on the programming side
   of IF.
   Part 5 (Writing IF) contains an informal bibliography of Internet
   documents on interactive fiction theory, and information on the major
   discussions to be found in the archives. It is
   mostly focused on the writing side of IF.
   Finally, part 6 (Internet Index) contains brief descriptions and URLs
   of FTP and WWW sites and other Internet resources mentioned elsewhere
   in the FAQ, and describes the IF-Archive.
   It is recommended that those new to read part 1
   first (to get a feel for the FAQ), followed by part 3 (if you don't
   know much about IF) and then part 2 (to learn about the newsgroup),
   with parts 4 and 5 last, though only if you wish to write IF. Part 6
   should be referred to as needed, though the section on the IF-Archive
   is a must-read. Please read part 2 *before* posting *anything* to the
   newsgroup: it'll make it easier on everyone.
  1.5: Acknowledgements and Copyright Notice
   The FAQ is maintained by David Glasser ([email protected]).
   Many people have contributed to this document, so thanks to them. In
   particular, shiny stars to Jim Aikin, Adam Cadre, Volker Blasius, John
   Elliott, Julian Fleetwood, LucFrench, Stephen Granade, Neil K. Guy,
   Douglas Harter, John Hill, John Holder, Theodore Hwa, Jonadab the
   Unsightly One, Amir Karger, Stephen Kitt, Iain Merrick, Robin Munn,
   Graham Nelson, Chris Nebel, Bob Newell, Thomas Nilsson, Andrew
   Plotkin, Mike Roberts, Gunther Schmidl, Kent Tessman, Alex Warren,
   Roger Burton West, and John Wood, plus all the people I forgot to put
   here. Special thanks to Doug Harter for his efforts in scouring the
   newsgroup archives way back when (which sadly came to nought, but
   there you go), to Ivan Cockrum for providing webspace at
   in the past, Lorenzo Marcantonio for the FAQ's Italian translation,
   and Stephen Griffiths for a continuous stream of helpful comments.
   Previous editions were maintained by Julian Arnold
   ([email protected]), Jorn Barger ([email protected]) and David A. Graves
   ([email protected]).
   This FAQ is copyright 1998, 1999 by David Glasser. Please feel free to
   quote from this document, but you *must* acknowledge this source. The
   FAQ, or individual parts of it, may be freely distributed by any
   means. However, no charge may be made for the distribution (save for
   the cost of the media itself) and part 1, in its entirety and
   including this copyright notice and details of how to obtain the full
   FAQ, must be included with any and all distributions.
   I would consider it courteous to be informed by anyone wishing to
   quote from (well, in anything other than a Usenet post or email or
   whatever) or redistribute the FAQ.
   As this document is supplied gratis, with no demand or request for
   payment or other recompense, the maintainer is hereby pleased to
   announce that in no event whatsoever will he be held liable in any way
   for any loss of data, loss of earnings, loss of savings, general
   disappointment or other unhappiness resulting from the use of or abuse
   of or inability to use any and all information or misinformation
   within or indeed without this document, or from any admission or
   omission therein or thereof which either directly or indirectly causes
   any one, or any combination of two or more, of the aforementioned
   unpleasantries. On the other hand, feel free to attribute any good
   things which happen to you or those around you to this document in
   general, and to me in particular.
Part 2: About the newsgroup
  2.1: What is the purpose of is a reasonably low volume, high signal-to-noise
   newsgroup for the discussion of interactive fiction. Many threads are
   relevant to, and can be followed by, programmers and non-programmers
   In this newsgroup, we discuss the technical and artistic aspects of
   interactive fiction, as well as the actual processes of and tools for
   writing it. While we do mention specific IF games, it is typically in
   the context of comparing and contrasting their structure or artistic
   merit-- with emphasis on the development of IF as a literary genre
   and/or a form of computer-based art/entertainment.
   The two groups, and its sister-group, as you might imagine, complement each other
   rather nicely. They are however distinct from one another and you
   should bear in mind their particular charter before sending a post.
   Posting to more than one group is generally not a good idea. Select
   the appropriate newsgroup and post only to that one. Just as you would
   not post questions about how to solve a specific game in this group,
   please refrain from posting questions on IF design and implementation
   Remember, is a discussion group, and will only
   function if people contribute to it. So, while you ought to just read
   for a week or two to get a taste of the flavor of the group before
   spicing things up with your first post, don't lurk too long. We do
   want to hear from you...
   One must also realize that never discusses food
   in its off-topic posts. This is left up to raif.
  2.2: What topics are appropriate here?
   Topics related to interactive fiction design, theory, and
   implementation are appropriate, as is the discussion of IF
   implementation languages (authoring systems). Ideas on applying
   popular technologies (object oriented programming, incremental
   compilers, etc.) to problems in interactive fiction development
   (knowledge representation, natural language parsing, etc.) are
   welcomed. There are many pleas of a "how do I do this...?" nature with
   reference to the nuts'n'bolts of particular authoring systems (very
   nearly 100% of which are answered). You should put the name of the
   authoring system, enclosed in square brackets, at the beginning of the
   subject line of your post (e.g., "[Inform]", "[Hugo]", "[TADS]",
   etc.), as this allows people who do not wish to read about particular
   systems to maintain effective kill-files. It also often helps if you
   post a short piece of code that demonstrates your problem: we cannot
   read your mind and your post is useless if we can't understand your
   problem. However, try to keep your examples succinct and relevant:
   it's hard and boring to sift through pages of code to find one tiny
   error. Do not post very long or irrelevant pieces of code.
   Sometimes people post "giftware", clever pieces of code which solve a
   particular problem. These, too, should be kept as concise as possible.
   "Giftware" is usually placed in the public domain, but don't take this
   for granted. However, if you intend to post "giftware", please
   consider uploading your code to the IF-Archive [What is the
   IF-Archive?: 6.1] instead and posting a pointer to it to raif. This
   way your contribution will be given a permanent home on the Internet
   and will help to build a large literature library for the authoring
   system you have chosen.
   Posts on authoring Web-based hyperfiction are not inappropriate on, though it is true that there is not much of an
   audience on the newsgroup for this sort of thing.
   Reviews of interactive fiction games are gladly received on either
   newsgroup. The nature of a review may be such that it is relevant to
   both the interactive fiction newsgroups. This is an exception to the
   cross-posting rule. Whenever you do cross-post, whether it be for
   reviews or other purposes, please set your Followup-To: header to one
   or the other; this makes any followups be posted only to the most
   appropriate group. Post-competition reviews of IF Competition games
   [What sort of events does the IF community do?: 2.6] should be posted
   only to rgif.
   The other major exception to the crossposting rule is requests for
   betatesters for games. Such requests may appear on either, or both, of
   the newsgroups. However, please *do not* post replies to the
   newsgroups. Send your reply to the author via private e-mail.
   Otherwise, the resulting glut of "me too!" posts is extremely annoying
   to the other readers of the newsgroup. Many authors will in fact
   *ignore* such replies to the newsgroups, and will only respond to
   those sent by e-mail. If you are an author posting for betatesters,
   you should set your Followup-To: news header to the word 'poster' (no
   quotes). See [How do I become an IF author?: 4.1] for more information
   on betatesting your game.
   Lastly, game announcements are often crossposted to both of the
   groups, with a Followup-To: to rgif.
   Controversial viewpoints are sometimes posted and indeed are to be
   encouraged; when you post a dissenting view remember to attack the
   idea, not the person. Let us debate, not battle. raif has been very
   good as it comes to that; most fights have been misunderstandings that
   were soon fixed. Our flamewars rarely last a week, and there usually
   are only a handful per year: quite good for a newsgroup.
  2.3: ...and what topics are not appropriate?
   Please don't post questions about specific adventure game puzzles to
   this newsgroup, as it was set up for discussion of interactive fiction
   from the point of view of the *author*, not the *player*. Please post
   these queries to the newsgroup, not here. Also,
   it is usually considered impolite to post bug reports for games or
   other software (including authoring systems) to either newsgroup. The
   software's author/maintainer would no doubt welcome a private e-mail
   though (and you usually get your name in the credits of the next
   release). Bugs may be reported on the newsgroup(s) if it is a bug
   which can reasonably be assumed to detrimentally affect other users of
   the software and/or can be easily avoided or remedied. (Bugs in the
   old Infocom games are commonly reported on rgif, especially when they
   are humorous.)
   When discussing specific games, please be careful not to spoil them
   for readers who may not have played them. You have a few choices:
     * Simply do not post the "spoilers".
     * Encode them using rot13, a simple "encryption" scheme found on any
       decent newsreader. (Some silly programs call it Unscramble.
       Sheesh). If you can't find a rot13 descrambler, all you have to do
       is turn each a into an m, each b into an n, and so on.
     * put a "spoiler character" in your post right before the spoilers,
       with a warning like "SPOILERS FOR BAD GUYS AHEAD". A spoiler
       character is a control-L character (formfeed), and any good
       newsreader has a set of keys to push or a menu item to insert the
       character. When somebody reads the message, the newsreader should
       pause at the character to allow the rest of the message to be
       skipped if the reader does not want to read the spoiler.
       Unfortunately, not all newsreaders support the spoiler character;
       the author of this document believes that if everybody uses the
       spoiler character instead of ugly solutions like blank lines,
       those newsreaders that do not support the spoiler character will
       decide to do so.
     * Put a lot of blank lines in front of your spoiler.
   This is not a newsgroup for the discussion of traditional "static" or
   "passive" fiction. Literary magazine ads, advertisements for writers,
   and other general fiction topics should be posted to the appropriate
   newsgroup (alt.prose, misc.writing, rec.arts.books, rec.arts.poems,
   rec.arts.prose, etc.). However, this confusion has come up in the past
   (newcomers believing the group name means "International Fiction", for
   example), and a polite pointer is better than a "get this junk off the
   newsgroup" flame.
   Discussions of MUDs (multi-user dungeons) belong on*,
   although discussion of multi-player IF theory is certainly appropriate
   here. Information on LARPs (live-action role playing games) and FRPs
   (fantasy role playing games) can be found in
   Questions about the various "roguelike" games, such as "NetHack,"
   "Angband," etc. should be posted to*.
   Though posters may certainly post to raif in non-English languages,
   speakers of Italian may be pleased to learn that there is a newsgroup
   for Italian IF called it.comp.giochi.avventure.testuali.
   You should of course follow basic netiquette conventions such as:
     * Don't spam.
     * you also should avoid putting everything in lower-case
     * Don't flame others, you bastard!
     * Don't spam.
     * Well speling and gramer is good.
     * Don't flame people because they're spelling or grammer sucks.
     * Don't spam.
  2.4: Is there an archive of newsgroup postings?
   The very-nearly-complete and unabridged archives of posts to both
   interactive fiction newsgroups up until January 1997 are stored on the
   IF-Archive [What is the IF-Archive?: 6.1] at
   /if-archive/ . The archives
   have been converted to HTML, and are on the Web, fully indexed and
   linked by date and by thread, at .
   However, these archives only include posts before January 1997. If you
   are looking for more recent posts, check out .
   This does not go as far back as the archive, but
   it is up-to-date.
   Postings to are similarly archived on the
   IF-Archive, in the directory /if-archive/ . They
   have not been HTMLized, and is available from
  2.5: What abbreviations will I find on the newsgroups and in the FAQ?
   IF == Interactive Fiction, the subject of this FAQ
   raif ==, the newsgroup about writing IF
   rgif ==, the newsgroup about playing IF
   r*if == either of the above newsgroups
   PC == Player Character, the player's character inside a game. (Also,
   Personal Computer, which usually implies an Intel/Microsoft setup.)
   NPC == Non-Player Character, other characters inside a game.
   ifMUD == Interactive Fiction Multi-User Dungeon, or some such [Are
   there any IF-related chat spaces?: 6.4]
   You may see people referred to by nicknames, many of which are the
   same as their ifMUD [Are there any IF-related chat spaces?: 6.4]
   usernames. Most of these nicknames are similar to their real names;
   notable exceptions include Grocible (Neil K. Guy); Zarf (Andrew
   Plotkin); Whizzard (G. Kevin Wilson); devil (Andrew Pontious); and
   inky (Dan Shiovitz). Nobody's really sure who the Admiral Jota is.
   The FAQ often refers to files on the IF-Archive; see [What is the
   IF-Archive?: 6.1] for more information on that.
  2.6: What sort of events does the IF community do?
   Two annual IF traditions are the IF Competition and the XYZZY awards.
   The Annual I-F Competition, started in 1995, is open to all authors of
   interactive fiction. Entrant's games can be written in any language
   (i.e., BASIC, C, a dedicated authoring system, etc.), though use of
   one of the IF languages is recommended. The competition was founded by
   G. Kevin "Whizzard" Wilson, continued by David Dyte, and currently ran
   by Stephen Granade ([email protected]). More information about the
   IF Competition is available at .
   The XYZZY awards, hosted by Eileen Mullin of XYZZYnews, are an
   Oscar-style award ceremony each February on ifMUD, giving honor (and
   trophies!) to the best IF of the previous year. Anyone can vote on the
   numerous categories by going to .
  2.7: What is mimesis?
     mimesis (mi-me'sis, mi-) n. 1. The imitation or representation of
     aspects of the sensible world, especially human actions, in
     literature and art.
   [the following is stolen from a post to raif by Adam Cadre]
     In brief, there are generally two different things people on this
     group use the word "mimesis" to refer to:
     (1) The extent to which the player feels like she's experiencing
     what the game tells her she is, rather than experiencing the
     sensation of typing on a keyboard and watching words scroll by on a
     (2) The extent to which stuff in the game seems to work the way
     things work in real life, or at least the extent to which it
     maintains a degree of internal consistency.
   The idea of mimesis with regard to IF was started by Roger
   Giner-Sorolla in his "Crimes Against Mimesis" postings some time back
   on raif. You can find a copy of it at
   More recently, Adam "Bruce" Thornton wrote a very funny in-joke game
   called "Sins Against Mimesis".
Part 3: General Interactive Fiction information
  3.1: What is interactive fiction?
   "Interactive fiction" is a catch-all name for many forms of
   story-telling. Most forms are text-based (but see below) and feature
   some degree of reader, or player, participation, beyond the act of,
   say, turning the page of a book to read the next one.
   In the context of the name is most commonly used
   to refer to just one type: computer-based text adventures. These games
   involve the player entering textual commands in response to the game's
   output. In turn, this output is influenced by the player's input. An
   extremely simple example of this interplay between player input and
   game output (from "Zork") is:
     West of House
     You are standing in an open field west of a white house, with a
     boarded front door. There is a small mailbox here.
     Opening the small mailbox reveals a leaflet.
     >READ IT
     ZORK is a game of adventure, danger, and low cunning. In it you
     will explore some of the most amazing territory ever seen by
     mortals. No computer should be without one!"
   Although interactive fiction, in the sense of text adventures, is
   usually text-only, there has always been limited interest on in graphics and sound. It is widely considered
   that the most important, if not the defining, element of interactive
   fiction is the text-based user interface and the parser (that part of
   the program which analyzes and acts upon the player's input), and as
   long as this is kept there is no particular reason why the game's
   output cannot include, or consist entirely of, graphics (static or
   animated) and/or sound. A not insignificant number of "purists" would
   refute this, however. Recent updates to the major IF languages have
   simplified creation of graphical and aural IF.
   "Interactive fiction" is also used to refer to (Web-based)
   hyperfiction, where the reader selects links to progress though the
   story; "Choose Your Own Adventure" (CYOA) books, which are a sort of
   non-computer hyperfiction; multiple author, or contributory, fiction,
   where multiple authors write a story by each contributing, say, one
   chapter; and MUDs and MUSHes, which may loosely be described as
   multi-player text adventures. It has also been suggested that Role
   Playing Games (RPGs), such as "Dungeons & Dragons", present the
   ultimate in interactive fiction.
   Interactive movies have also been mentioned on the newsgroup from time
   to time. This is a rather poorly defined genre of film-making.
   Interactive movies seem to be the cinematic equivalent of CYOA books,
   rather than text adventures.
   Though the non-text adventure forms of IF are rarely discussed on the
   group, one must always keep in mind that the group was created (by
   famous Mac guru Adam C. Engst, circa 1986) without the intention of
   text adventures in mind. Though you may not, many people enjoy
   discussion of non-text adventure IF on the newsgroup, and so flaming
   newcomers with a "that's not what raif is for!" is not a good idea.