Newsgroups: rec.arts.int-fiction
Path: gmd.de!xlink.net!sol.ctr.columbia.edu!news.kei.com!ub!acsu.buffalo.edu!goetz
From: goetz@cs.buffalo.edu (Phil Goetz)
Subject: Re: Refs for Thesis: Spatial Relations in Muds
Message-ID: <CHxvCK.A8p@acsu.buffalo.edu>
Sender: nntp@acsu.buffalo.edu
Nntp-Posting-Host: thuban.cs.buffalo.edu
Organization: State University of New York at Buffalo/Comp Sci
References: <2e5mcd$3mu@nermal.cs.uoguelph.ca>
Date: Sun, 12 Dec 1993 20:24:20 GMT
Lines: 33

I represented the relations
"in/contains", "on/under", "by/by", and "partof/part" in my text adventure
_Inmate_ in 1986.  An edge in the semantic network
saying "X on Y" meant X was on Y; an edge saying "X part of Y" meant
X was a part of Y (e.g. a tire is part of a car).

Whenever an edge was
changed, the network was searched for other edges that caused other things
to happen to maintain consistency.  For instance, if you replaced the edge
"X in Y" with "X in Z", and "W part of X" was in the network, then replace
"W in Y" with "W in Z".  Note that the same conditions are tested for
"W in Z" as were tested for "X in Z", so if "V partof W" then "V in Z"
will be asserted.  Basically the same happened for "on" and "in".

There were restrictions on when an edge could be changed.  If
you tried to put X in Y, Y had to have remaining capacity large enough
for X.  If you tried to put X on Y, Y had to have enough surface area
left for X.

This caused problems with on/under.  I treated "under" as the opposite of
"on", so if I said the box was under the table, then the player picked
up the box, the table would come with it!  Also, I couldn't put a key
under a doormat, because the doormat was too large to fit on the key!
And when I did "hack" the key to have a large enough surface area for
the doormat to be on it, the key was still visible because I hadn't
represented the notion of hidden objects.  (I solved that problem by
adding an "invisible" flag and asserting that when one objects was
taken off another, the underlying object became visible.  But that
didn't let the key become invisible if the player tried to put the
key back under the mat.)

Phil
goetz@cs.buffalo.edu
