Newsgroups: rec.arts.int-fiction
Path: nntp.gmd.de!Dortmund.Germany.EU.net!Germany.EU.net!EU.net!news.sprintlink.net!news-peer.sprintlink.net!howland.erols.net!newspump.sol.net!newsfeeds.sol.net!ix.netcom.com!erkyrath
From: erkyrath@netcom.com (Andrew Plotkin)
Subject: Re: Context-sensitive pronouns (was annoying pronouns)
Message-ID: <erkyrathE47v0v.IM0@netcom.com>
Organization: Netcom On-Line Services
X-Newsreader: TIN [version 1.2 PL2]
References: <erkyrathE45vru.JK@netcom.com> <19970118044600.XAA16762@ladder01.news.aol.com>
Date: Sat, 18 Jan 1997 18:22:06 GMT
Lines: 119
Sender: erkyrath@netcom10.netcom.com

Nulldogma (nulldogma@aol.com) wrote:
> Andrew Plotkin wrote:
> > It *would* be every time, inevitably, in some reasonable game
> situations.
> > I could make up an example here to demonstrate, but I'll spare you.
> Right 
> > now, there are no ambiguous cases (except in some very technical 
> > situations, which haven't even come up yet, which are better regarded as

> > bugs than "it" behaviors.) If the semantics of "it" change, so that 
> > suddenly there are ambiguous cases, do you see where this gets annoying?

> No.

> If you're going to mess around with "it" at all, I'd rather mess around
> with it to disambiguate, rather than to switch "it" entirely to a
> different object.

Er, I am arguing that we should not mess around with "it" at all. Sorry 
about the unclarity.

> I know that you, as a programmer, don't want to mess with "it" ever.

I'm arguing this as a player, not as a programmer.

> > From elsewhere:
> >
> > > In conversation, if someone brings up a new concept or something, we
> say,
> > > for example, "What's that?"  something else with "that," not "it."  Do
> we
> > > need a new word here as well? 
> >
> > However, that (no pun intended) is a very nice idea. "that" is the last 
> > thing the game mentioned; "it" is the last thing you mentioned. It's 
> > harder to get "that" right, but old-fashioned players (like me) have no 
> > expectations for it, so it's an all-around win.

> Except that this bears no particular resemblance to standard English
> usage, and so nobody's going to know how to use it unless you tell them
> first.

None of text adventure English bears any particular resemblance to
standard English, remember? It all has to be explained. The current usage
of "it" has to be explained -- that's how this whole discussion got
started! This usage of "that" would have to be explained, but I'm willing
to make that sacrifice, as it were. It's a *simple* explanation, at least. 

Just because we haven't changed the command syntax since the invention of 
"oops", doesn't mean I'm completely stuck in the mud about it... I just 
want my miracles to be backwards-compatibile.

I actually considered some sample exchanges, and I can think in the 
"that" modality quite well.

Box Room
You see two boxes (one rosewood and one mahogany), a compass, a silver key, 
and an iron key.
> take magnet
Taken.
> examine it
It's an old compass. The needle points to the iron key.
> take that
[The iron key] Taken.
> unlock rosewood box with it
Inside the rosewood box you see a plover's egg the size of an emerald, a 
diamond-shaped pear, and an antique fruitcake.
> take that
Which do you mean, the plover's egg the size of an emerald, the
diamond-shaped pear, or the antique fruitcake?
> egg
Taken.
> eat it
Yum, raw egg.
> north
Round Room
You see a partridge and a pear tree here.
> smell that
Which do you mean, the partridge or the pear tree?

Of course, if "that" refers to a list of objects which must be 
disambiguated, "those" should refer to the whole list (ie, "take those" 
is like "take egg, pear, cake".) This is an easy extension once the 
"that" stuff is coded, oy argh...

Note that, with this many different pronouns around, the very brief 
library messages like "Taken." and "Done." are really *too* brief. They 
should display the name of the object if "it" or "that" was used in the 
command. (Unless the user was asked to disambiguate, in which case it's 
redundant. Got all that?)

To create the "that" list, I would first add code to the DefArt() and 
related functions -- that takes care of most of it -- and of course an 
AddToDemonstrativeList() call which the game programmer could call at any 
time to add an object. 

There might have to be special case code for "look", since that spews out 
so many objects. Maybe only include objects listed in the "plain" list, 
after the room description itself and all describe properties are run... 
well, it would take experimentation.

Also, never set "that" to refer to an object which is already "it". The 
output of "examine compass" might call CDefArt(self), but we don't want 
it to become "that", because it's only mentioned because of the player's 
command. 

Unlike "it", this proposal for "that" does require some attention from the
game programmer to get it right in any given game.

Oh, let me say that it goes without saying that "pronouns" should list 
the "that" list as well as the standard pronouns.

--Z


-- 

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