Newsgroups: rec.arts.int-fiction
Path: nntp.gmd.de!news.ruhr-uni-bochum.de!news-koe1.dfn.de!news-kar1.dfn.de!news-stu1.dfn.de!news.belwue.de!swidir.switch.ch!news.grnet.gr!btnet-feed2!btnet!netcom.net.uk!netcom.com!erkyrath
From: erkyrath@netcom.com (Andrew Plotkin)
Subject: Re: [INFORM] Implementing suspended-style multidescs
Message-ID: <erkyrathE2JM0o.J13@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
X-Newsreader: TIN [version 1.2 PL1]
References: <slrn5bau5d.qv.samael@marvin.bu.edu>
Date: Tue, 17 Dec 1996 05:31:36 GMT
Lines: 38
Sender: erkyrath@netcom19.netcom.com

R Othello Signes (samael@marvin.bu.edu) wrote:

> I'm interested in implementing something like the 'bots from Suspended (the
> best Infocom game, IMHO,) and I'm wondering what the most efficient way to
> do something like this is.

> Possibilities I've thought of:  Making a description routine for things like
>   if (player==Sensa) "There is a hollow object here.";
>   if (player==Poet) "There is a cage here."  

Yup, pretty much that's it. You can use a "switch" statement if you want 
to be a little more readable:

switch (player) {
  Sensa: 
    "...";
  Poet:
    "...";
}

Then you go insane writing 6*N object descriptions, and take up papier 
mache instead.

> etc.  Then question:  How to make an object unnoticable by certain players?
> That is, in Suspended, Auda cannot interact with the cage (Fred's container)
> at all.  ?  I think intercepting all verbs and quelching them if from Player
> X would be inefficient.

Much as I fear the "concealed" attribute, it might be the best solution 
here. Every time you switch players, run through all the objects that 
might be unnoticeable and set or clear "concealed".

--Z

-- 

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