Discussions about interactive fiction

Archive for February, 2010

Re: [TADS] Help: The Case of the Haunted Dial

Neil K. (fake-m…@anti-spam.address) wrote:
> In article <19970903122301.IAA13…@ladder02.news.aol.com>,
> morda…@aol.com (Mordacai) wrote:

> > [...]  There are no random numbers anywhere in the game, and, since
> > this happens in a completely random manner, I’m guessing it has something
> > to do with TADS itself, rather than the game code.  Could someone PLEASE
> > help me out here?

>  Well perhaps you could post your code. Then we could take a look at it and see.

Meanwhile, it the hope that it is something simple, here’s a dial/light
combination to take a look at:

#include <adv.t>
#include <std.t>

startroom: room
        sdesc = "Dial L For Light"
        ldesc = "On the wall next to your head is a dial. Above it
                is a light. "

mylight: fixeditem
        noun = ‘light’
        sdesc = "light"
        ldesc = {
                "A light is embedded in the wall. It’s currently ";
                if ( self.isActive )
                        "on. ";
                        "off. ";
        location = startroom
        isActive = nil

dial: dialItem
        noun = ‘dial’
        sdesc = "dial"
        maxsetting = 42
        location = startroom
        doTurnTo( actor, io ) = {
                inherited.doTurnTo( actor, io );
                if ( self.setting = 13 ) {
                        if ( not mylight.isActive ) {
                                "The light comes on! ";
                                mylight.isActive := true;
                } else if ( mylight.isActive ) {
                        "The light goes out. ";
                        mylight.isActive := nil;

 -=- Mark -=-

posted by admin in Uncategorized and have No Comments

Re: [TADS] Help: More of The Case of the Haunted Dial

Ok, here’s the code to the dial iself:

      sdesc="red dial"
      adjective=’red’ ‘safe’
      doTurnTo(actor, io)={if ( io = numObj ) {if ( numObj.value < 1 or
numObj.value > maxsetting ) {"There’s no such setting! ";} else if (
numObj.value <> self.setting )  {self.setting := numObj.value; "Okay, it’s
now turned to "; say( self.setting ); ". ";{if (self.setting=350) {"The
light turns on. "; } else "Nothing happens.";}} else {"It’s already set to
"; say( self.setting ); "! ";}} else {"I don’t know how to turn ";
self.thedesc; " to that. ";}}

And here, just for practicality’s sake, is the verbage for turn to:

turnVerb: deepverb
    verb = ‘turn’ ‘rotate’ ‘twist’ ‘set’
    sdesc = "turn"
    ioAction( toPrep ) = ‘TurnTo’
    ioAction( withPrep ) = ‘TurnWith’
    doAction = ‘Turn’

Now, can any one tell me why sometimes it will work just fine and other
times (with the exact same actions put in) the program will say "I don’t
understand that sentence," as it does when you do something completely
wrong?  My hair’s turning grey over this one.


posted by admin in Uncategorized and have Comments (2)

Spam on the newsgroup

Hey.  I just recently read the message about a home business which was
posted on this newsgroup.  Why do people sometimes post such messages to
public newsgroups which have absolutely nothing to do with what they’re
talking about, rather than sending it to individual mailboxes?  I’m not
saying that it is good or bad, personally, I don’t like spam, whatever the
form, but why do they do this?
If you want to reply to me directly, remove the "removethis." from my
E-mail address.  That’s just another defence against spam!

posted by admin in Uncategorized and have Comments (3)

[FAQ] Part E (For Theorists)

rec.arts.int-fiction Frequently-asked Questions
Maintained by Julian Arnold (jo…@arnod.demon.co.uk)




"What has been written on the subject…"

Several papers on IF design and theory are available from the
if-archive, in the directory "info/".  These are all available as ASCII
files, although some also exist in other formats.

  "…in general?"
  Graham Nelson’s (gra…@gnelson.demon.co.uk) "The Craft of Adventure"
  (available from the if-archive) is a treatise on writing interactive
  fiction.  This is currently in its 2nd edition and is also available
  as TeX source.  HTML versions are available from "The TADS Page" and

  Gerry Kevin Wilson (whizz…@pobox.com) has thoughtfully published his
  views on designing and writing interactive fiction in "Whizzard’s
  Guide to Text Adventure Authorship" (available from the if-archive).
  There are also two supplementary updates to this document.

  Gil Williamson’s (100271….@compuserve.com) book "Computer
  Adventures, The Secret Art" is now available as "literary freeware"
  (on the WWW from the "Interactive Fiction (IF) Authorship" page).
  This is primarily a "how to…" manual, and although many of the
  technical details are several years out of date, the book contains
  much of interest to the aspiring interactive fiction author.

  The Oz Project, directed by Joseph Bates at the Carnegie-Mellon School
  of Computer Science, is developing technology for high quality
  interactive fiction.  Focussing on the simulations behind the
  interface (which they call the deep structure of virtual reality)
  their goal is to provide users with the experience of living in a
  dramatically interesting simulated world populated with simulated

  Michael St. Hippolyte’s (m…@interport.net) paper, "A Plot Beyond A
  Line: New Ways to Be Nonlinear"
  (http://www.users.interport.net/~mash/nonlin.html) looks at the
  problems of linearity in interactive fiction, and suggests some
  possible solutions.

  David A. Graves’s (d…@cup.hp.com) three papers, "Second Generation
  Adventure Games" (which focuses on the physical world model, parsing,
  text generation, and simple agent planning), "Bringing Characters to
  Life" (a summary of the progress in Artificial Personality during the
  70′s and 80′s), and "Plot Automation" based on his presentation at the
  Computer Game Developer’s Conference in 1991.  All papers are
  available from the if-archive.

  Authoring system manuals may be of interest, even if you do not use
  the particular system.  Look for these in the if-archive, in the
  directory "programming/<authoring system name>/manual/", where
  <authoring system name> is, for example, tads.  Also there is online
  documentation available for several authoring systems, as noted under
  "[Online Documentation]" in the authoring system records in "What
  authoring systems are available?", part D.

  The "TADS manual" contains useful advice on designing an interactive
  fiction game (chapter 6), some of which is TADS-specific, and some
  honest information on the limitations of the text adventure format
  (appendix B).

  The Inform "Designer’s Manual" details the step-by-step implementation
  of a small game as a tutorial throughout the manual (this is, of
  course, Inform-specific).

  "…of the art of writing NPCs?"

  Phil Goetz (go…@cs.buffalo.edu) has made available two of his
  papers, his overview of computerized interactive fiction (in DVI,
  LaTeX, or HTML) and his notes on using SNePS (Semantic Network
  Processing System, a knowledge representation and reasoning system).
  Both can be found on his WWW page (http://www.cs.buffalo.edu/~goetz/).

  Dancer’s (r…@brisnet.org.au) paper "’Smart’ NPCs in Interactive
  Fiction" (http://www.brisnet.org.au/~dancer/smartnpc.html) gives
  theoretical and practical advice on writing believable NPCs.

  (See also: David Graves’ "Bringing Character To Life" under "…in
  general?", above.)

  "…of parsing?"

  (See also: David Graves’ "Second Generation Adventure Games" under
  "…in general?", above.)

  "…of plot/story in interactive fiction?"

  Paul Munn’s senior project paper "The Application of Directed Acyclic
  Graphs to First Generation Interactive Fiction" (available from the
  if-archive) contains ideas on the use of DAGs in interactive fiction
  and a TADS implementation of this, as well as information on the
  evolution of IF, past and future.

  "The Stage as a Character: Automatic Creation of Acts of God for
  Dramatic Effect"
  (http://rhodes.www.media.mit.edu/people/rhodes/Papers/aaai95.html), by
  Bradley Rhodes (rho…@media.mit.edu) and Pattie Maes
  (pat…@media.mit.edu), considers plot control in a multiple player

  (See also: David Graves’ "Plot Automation", and Michael St.
  Hippolyte’s "A Plot Beyond A Line: New Ways to Be Nonlinear" under
  "…in general?", above.)

  "…of the educational value of interactive fiction?"

  Brendan Desilets’ (desil…@k12s.phast.umass.edu) series of articles
  on interactive fiction as a teaching aid for middle school pupils is
  available from his Web page, "Teaching With Interactive Fiction: A
  Home Page for Educators and Other Readers."

A couple of ‘zines can also be found at the if-archive, in the
"magazines/" directory.

"XYZZYnews," also available in Adobe Acrobat format (.PDF), appears
bi-monthly and usually contains two or three articles on IF design, as
well as sneak previews of upcoming games, spoilers/hints for specific
games, and the occasional game review.  There is also a printed version
(subscription details are available at the back of each issue). The full
text for each issue is also available from the XYZZYnews Home Page,
where additional content can also be found.

"SPAG" appears irregularly (approximately bi-monthly).  Each issue is
chock-full of reviews of interactive fictions, both old and new.  See
also the "SPAG mailing list" entry in "Are there any interactive
fiction-related mailing lists?", part F (Internet Index).

For further references try Stephen Granade’s (sgran…@phy.duke.edu)
"Interactive Fiction Bibliography" (October 1995), available from the
if-archive, again in the "info/" directory.

"For small erections may be finished by their first architects; grand
ones, true ones, ever leave the copestone to posterity.  God keep me
from ever completing anything." — Herman Melville, "Moby Dick"
             [ Please reply to jo...@arnod.demon.co.uk ]

posted by admin in Uncategorized and have No Comments

[FAQ] Part F (Internet Index)

rec.arts.int-fiction Frequently-asked Questions
Maintained by Julian Arnold (jo…@arnod.demon.co.uk)




"Is there a single main site for interactive fiction materials?"

The if-archive is the world’s largest and most comprehensive repository
of interactive fiction-related material, including authoring systems,
tools and utilities, papers, references, and re-prints of magazine
articles, and of course games.  The URL is


Every file in the if-archive, together with a short description, is
listed in the (text) file "Master-Index".

Uploads of new material are encouraged.  Please send a covering e-mail
to the maintainer of the archive, Volker Blasius (blas…@gmd.de), with
a copy to David Kinder (dav…@monis.co.uk), describing the purpose of
your upload and what machines it works on.


(Please note the directory.  It is *not* "/if-archive/incoming/" nor is
it "/incoming/".  Files uploaded to the wrong place will probably die in

The if-archive (though not the incoming directory) is mirrored at the
following FTP sites, one of which may be more local to you, and thus
faster and easier to reach:


Many files in the if-archive can also be fetched via links on the WWW,
and a complete browsable index can be found on Stephen van Egmond’s
(svane…@truespectra.com) "Twisty Pages."

If you cannot find a particular file in the location stated in this FAQ
or elsewhere, be sure to also look in the incoming directory, as well as
"unprocessed/" in the if-archive, as it may not yet have reached it’s
permanent home.  This is particularly true for recent additions.

Volker and David make a monthly post to several newsgroups, including
rec.arts.int-fiction, detailing all recent additions to the if-archive.

It is worth mentioning that the Infocom games ("The Lurking Horror,"
"Planetfall," etc.) are *not* legally available on the Internet.  They
are still under copyright and may be bought.  The exception is "Zork",
which is available for free download from the Activision Web Page


"What is available via FTP?"

Well, as has been mentioned above, the if-archive, or one of its
mirrors, is the place to go if you want to download interactive fiction
software.  Really, if you can’t find what you want there, you probably
won’t find it anywhere.

The occasional file, especially games, may turn up at some of the larger
or platform-specific FTP sites, or on a relevant BBS.


"What is available on the World Wide Web?"

There are in fact a large number of WWW pages devoted to, or at least
relevant to, interactive fiction; too many to all be mentioned here.  A
near-comprehensive list can be obtained by searching a Web search
engine, such as AltaVista (http://www.altavista.digital.com/), for the
string "interactive fiction".

Following is a short list of some of the best general interactive
fiction WWW pages and various authoring system-specific pages.  Most of
the pages mentioned will contain links to other associated pages.  Pages
concerned with playing interactive fiction as opposed to authoring, or
the history of a particular company (such as Infocom) or game (such as
"Adventure") have not been included.

Interactive Fiction

Here are links to articles on game design, information about several
authoring systems, a history of interactive fiction, and a taxonomy of
plot devices.  The page is maintained by Neil Bowers (ne…@khoral.com).

Interactive Fiction – Welcome From the Mining Company

Maintainer Stephen Granade (sgran…@phy.duke.edu) has gathered as many
IF links as he could find, sorted them, organized them, and annotated
each one.  This site also includes a weekly column and a Q&A section.

To visit this site you will need a Frames-aware browser.

Interactive Fiction (IF) Authorship

As well as links to various articles on interactive fiction design and
the TADS and Inform authoring systems, this page has a number of useful
TADS modules, written by the maintainer, Stephen Granade

Interactive Fiction Criticism and Authorship

This excellent page, maintained by Stephen van Egmond
(svane…@truespectra.com), is an attempt to gather together many
resources (papers, news articles, reviews, etc.) relevant to interactive
fiction authorship and criticism in one place.  There are also fully
linked HTML versions of every article in the rec.arts.int-fiction

John’s Interactive Fiction Page

John Holder (jhol…@nmsu.edu) maintains a page containing a webbified
and modified version of an old (very old!) version of this FAQ, links to
the if-archive, and a discussion on parsers.

Oz Project Home Page

Scott Neal Reilly (w…@cs.cmu.edu) maintains this page.  Details of the
Oz Project, including a summary of its aims and links to several Oz
papers (gzipped postscript) are here.

Teaching with Interactive Fiction

This page, maintained by Brendan Desilets
(desil…@k12s.phast.umass.edu), has information on using interactive
fiction in education, primarily for middle-school pupils.

Twisty Pages    http://www.truespectra.com/~svanegmo/if-archive/

This page is notable for the excellent browsable index of the if-archive
which the maintainer, Steven van Egmond (svane…@truespectra.com) has

AGT Home Page   http://www.ca-probate.com/agt.htm

This is the official Home Page for the AGT authoring system.  It is
maintained by the co-author of that system, Mark Welch

The Alan Home Pages

These pages contain an HTML version of the Alan programmer’s manual,
sample code fragments, and links to the Alan executables.

GINAS Home Page

This page is maintained by GINAS’s author, Jeff Standish

Hugo – An Interactive Fiction Authoring System

This page is maintained by the author of Hugo, Kent Tessman
(tess…@cibc.ca).  It contains information on the authoring system and
links to relevant files.

Hugo Homepage   http://oak.kcsd.k12.pa.us/~jnichols/hugo/

Maintained by Jerome T. Nichols (jnich…@prolog.net), this page
has information and links of interest to the Hugo programmer, as well as
an on-line manual.

Inform 6: A Compiler For Interactive Fiction

Maintained by the author of Inform, Graham Nelson
(gra…@gnelson.demon.co.uk), this page has all the latest information
on all aspects of Inform, including HTML versions of associated manuals
and other documentation, such as the "Inform Designer’s Manual," and the
"Z-Machine Standards Document."

Inform Programming

This page, maintained by Andrew Clover (es…@csv.warwick.ac.uk), has a
history of the Inform library, and the usual links to various files.
Mike Phillips (m…@lawlib.wm.edu) maintains a US mirror of the page.

Deliriously Serious Softworks – Synapse Worldkit for Inform

Cliff Hall’s (cl…@tricon.net) page is a Web-based development
environment for Inform.  You can create, edit, compile, and even play
games online.

To visit this site you will need a JavaScript-aware browser.

Rexx-Adventure  http://www.io.com/~desantom/rad.html

This Home Page, maintained by the system’s author, Mike DeSanto
(desan…@io.com) has information about Rexx-Adventure and links to the
downloadable files.

TADS & Interactive Fiction Page

Devin Horn’s (darkv…@seanet.com) page concerns interactive fiction in
general, with particular emphasis on the TADS authoring system.

The TADS Page   http://www.tela.bc.ca/tela/tads/

This page, maintained by Neil K. Guy (t…@tela.bc.ca), is an attempt to
create a central starting point for people interested in TADS.  Of
particular note is the HTML version of the TADS manual, including the
2.2 updates (http://www.tela.bc.ca/tela/tads-manual/).

The TADS Programming Page

This page is maintained by Magnus Olsson (m…@df.lth.se) and has info on
and links to TADS stuff.

WorldClass Programming Page

Maintained by Magnus Olsson (m…@df.lth.se) this page concerns
WorldClass, a complete replacement library for TADS.  There are links to
the WorldClass manual and some modules.


"Are there any interactive fiction-related mailing lists?"

SPAG mailing list

This list distributes SPAG magazine to those who don’t want to go get it
themselves.  The list is intended only for distribution of SPAG.
Submissions should be sent directly to the editor, Gerry Kevin Wilson

To subscribe send email to spag-requ…@df.lth.se with "subscribe <your
email address>" (without the quotes) in the *body* of the message.

Z-machine mailing list

Intended for discussion of the Z-machine, an abstract machine designed
by Infocom to run their text adventures, topics on this list include
details of Z-machine operation, its interpeters (ZIP, Frotz, etc.),
and compilers producing Z-machine code (ie, Inform).

To subscribe send email to majord…@gmd.de with "subscribe z-machine
<your email address>" (without the quotes) in the *body* of the message.


"What are those interactive fiction newsgroups again?"

There are two newsgroups dedicated to interactive fiction.

The group to which this document applies, rec.arts.int-fiction, is a
discussion group for those interested in artistic or technical aspects
of interactive fiction, primarily the processes of and problems posed by
methods of design and implementation of interactive fiction, including
planning, plotting, programming, and writing.  For further information
see part B (Introduction to the Newsgroup).

The other group, rec.games.int-fiction, is primarily for players of
extant interactive fiction games.  Posters ask for help with or spoilers
for particular games, post reviews, and ask for information about games,
companies, and people.  For further information see the
rec.games.int-fiction FAQ (occasionally posted to the newsgroup,
otherwise available from the if-archive in the directory

"For small erections may be finished by their first architects; grand
ones, true ones, ever leave the copestone to posterity.  God keep me
from ever completing anything." — Herman Melville, "Moby Dick"
             [ Please reply to jo...@arnod.demon.co.uk ]

posted by admin in Uncategorized and have No Comments

[TADS] ask X about Y.

Well, it’s taken 4 years to notice it, but I see that the 2.0 manual and the
current ADV.T file handle >ASK X about Y in two different ways, and the
ADV.T method is infinitely superior.

By the manual, we have:

verDoAskAbout(a, i) = {}
doAskAbout(a, i) =
     case FredObject:
       "\"Fred’s a great guy.\"\n";


Looking in the ADV.T file, I note that the method has switched from
using objects to examining words (a far superior method in that it
avoids some nasty disambiguation problems with questions.)  It works

askWord(word, lst) =
     case ‘fred’:
     case ‘flintstone’:
       "\"Fred’s a great guy.\"\n";


Granted, it’s a little more work, but again, if you have three
different Freds in your  game, this can really help you out.

This is of course, probably obvious to most TADS users already,
but I figure if I can overlook it for years, then others can too.

G. Kevin Wilson: Freelance Writer and Game Designer.  Resumes on demand.

posted by admin in Uncategorized and have No Comments

flame (don't bother to read)

>This is a test.
>I told you not to bother reading it.

This is a flame.
I told you not to bother reading it.

posted by admin in Uncategorized and have No Comments

Re: [Inform] Superclasses

Neil Brown (n…@highmount.demon.co.uk) wrote:
> Has anyone cracked superclasses? And are they available with Inform
> 6.05?

I think I’ve gotten them right. And the third-edition Inform manual,
which contains the class/superclass system, says it’s for Inform 6.04 and

> I have a situation where a class definition defines the before property,
> in order to capture a ‘in’ command in certain conditions. But several of
> the rooms that have this class also need to define the before property,
> and quite often also need to capture a direction command. Can the
> superclass feature of Inform handle this?

No. The inheritance of "before" routines is old; it goes back to Inform 5
and probably earlier, long before the :: operator existed. It works

The way it works is, the "before" property is "additive". This means that
if you have

Class roomclass
  with before [...]; ! function1

Object roomobj
  class roomclass,
  with before [...]; ! function2

then roomobj’s "before" property will actually be two words long, and
contain both function addresses. Just as if you’d done

[ function1; ... ];
[ function2; ... ];

Object roomobj
    before function2 function1;

Now, the before-clause checker knows that if a "before" property contains
two functions like this, instead of one, it should run the first one, and
then run the second one only if the first one returns 0.

Ignoring the technical details I’ve just explained:

First the object’s "before" function is run. If that returns a nonzero
value, that’s all that happens. If it *does* return zero (rfalse), then
the parent class’s "before" function is run. If that also returns zero,
the whole "before" process returns zero and the library continues to the
standard verb routine.

So you could do stuff like this:

Class roomclass
  with before [;
      switch (noun) {
        in_obj: "Going inside is boring.";
        default: rfalse;

Object roomobj
  class roomclass,
  with before [;
      switch (noun) {
        e_obj: "The god of the east kicks you.";
        default: rfalse;

and I think that’s what you want.

Actually the "default: rfalse" is redundant; if there’s no default, it
just goes on to the end to the function, and hits the implicit return (0)
at the end.


"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the

posted by admin in Uncategorized and have Comment (1)

Re: Inform 6 16-bit MSDOS port failed

In article <5tv62c$…@newsstand.cit.cornell.edu>,
Robert A. Pelak <pe…@groo.msc.cornell.edu> wrote:

>In article <ant261149e61M…@gnelson.demon.co.uk>,
>Graham Nelson  <gra…@gnelson.demon.co.uk> wrote:
>>In article <5trfbm$…@scesie10.sie.siemens.at>, Martin Jerabek
>><URL:mailto:martin.jera…@siemens.at> wrote:

>>> too slow for me and I’m currently out of altruism. :-) (My guess is that
>>> there are assumptions in the source code that ints are 32 bit although
>>> the int32 type should be used in such cases; at least I found one such
>>> case in BPATCH.C.)
>>Please email me about this!  I can fix that one, anyway.  I have
>>tried to avoid such assumptions, but you’re the only 16-bit porter
>>left, I think.
>On the Mac ports, I quit trying to use 16 bit integers with Inform 6
>if I recall correctly.  Too much headache for the reducing the
>program’s memory footprint.

Well, Evan Day is/was trying to do a GS port of Inform (he’d done previous
versions).. so not quite the last 16 bit porter left.


posted by admin in Uncategorized and have No Comments

author wanted


does anyone know any interesting author or project who/that is NOT
northamerican or northern european and writes online fiction of remarkable
quality or deals with in an interesting way?

I am journalist with an German tv station and we are preparing a feature
about literature on the internet, we would like to include something very
different like e.g. the balinese who writes online fiction on a lap top at
the beach. if there is anyone/anything like that.

I would be very thankful for all kinds advises and hints,
please mail to b…@zeit.de

thanx, birte

posted by admin in Uncategorized and have No Comments