Copyright: (c) 1999 David Glasser
See reader questions & answers on this topic! - Help others by sharing your knowledge
[rec.arts.int-fiction] Interactive Fiction Authorship FAQ (1/3) Maintained by David Glasser (firstname.lastname@example.org) 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 2.5.01.4 and fiddled with its platforms list. * Amiga ALAN is at the latest version, and Glk ALAN exists, albeit without source. * ftp.gmd.de 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 2.5.01.3a and Inform's to 6/10. * Updated ALAN's website URL to <http://welcome.to/alan-if/>. * 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 ScopeEdit. * 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 * come.to has decided to do evil advertising-related things, so I'm not using them anymore. Please use <http://www.davidglasser.net/raiffaq/> instead. (Oh, and it's on davidglasser.net instead of textfire.com.) * SPAG has also abandoned come.to; 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 site. * Added the IF assistance list. Monday, 30th August 1999 * The editor article is finally in, though it certainly needs more work. * 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 textfire.com. Please continue to use the come.to 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 about.com 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 rec.arts.int-fiction? * 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 FAQ? * 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 game? 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 rec.arts.int-fiction, 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@example.com. 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.arts.int-fiction, rec.games.int-fiction, 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 <http://www.davidglasser.net/raiffaq/>. From this site, you can retrieve the FAQ as plain text or HTML. There also is an Italian translation at <http://space.tin.it/computer/lmarcant/raiffaq/index.html> by Lorenzo Marcantonio (firstname.lastname@example.org). _________________________________________________________________ 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 rec.arts.int-fiction. 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 rec.arts.int-fiction 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 rec.arts.int-fiction 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@example.com). 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 textfire.com 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 (firstname.lastname@example.org), Jorn Barger (email@example.com) and David A. Graves (firstname.lastname@example.org). 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 rec.arts.int-fiction? rec.arts.int-fiction 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 alike. 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, rec.arts.int-fiction and its sister-group rec.games.int-fiction, 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 in rec.games.int-fiction. Remember, rec.arts.int-fiction 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 rec.games.int-fiction 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 rec.arts.int-fiction, 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 rec.games.int-fiction, 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 rec.games.mud.*, 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 rec.games.frp.misc. Questions about the various "roguelike" games, such as "NetHack," "Angband," etc. should be posted to rec.games.roguelike.*. 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: * DO NOT USE ALL CAPS * 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/rec.arts.int-fiction/ . The rec.arts.int-fiction archives have been converted to HTML, and are on the Web, fully indexed and linked by date and by thread, at <http://bang.dhs.org/raif/>. However, these archives only include posts before January 1997. If you are looking for more recent posts, check out <http://www.deja.com/>. This does not go as far back as the rec.arts.int-fiction archive, but it is up-to-date. Postings to rec.games.int-fiction are similarly archived on the IF-Archive, in the directory /if-archive/rec.games.int-fiction/ . They have not been HTMLized, and rec.games.int-fiction is available from DejaNews. _________________________________________________________________ 2.5: What abbreviations will I find on the newsgroups and in the FAQ? IF == Interactive Fiction, the subject of this FAQ raif == rec.arts.int-fiction, the newsgroup about writing IF rgif == rec.games.int-fiction, 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@example.com). More information about the IF Competition is available at <http://www.textfire.com/>. 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 <http://www.xyzzynews.com/>. _________________________________________________________________ 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 screen; (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 <http://bang.dhs.org/library/design/index.html> 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 rec.arts.int-fiction 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. >OPEN THE MAILBOX Opening the small mailbox reveals a leaflet. >TAKE THE LEAFLET Taken. >READ IT "WELCOME TO ZORK! 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 rec.arts.int-fiction 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.