Subject: room descriptions

From: John Garnett <[email-masked]>
Date: Thu, 25 Mar 1993 01:32:54 -0800

I have a room description (in a MOO) that looks like this:

  Light pools from two lamps overhanging a cluster of four tables pushed
  together to form one in the center of this dim drab grey-walled room.  Strips
  of electrical sockets ensquare the room just above the tops of the
  immitation wood tables hugging each of the four walls.  Cables snake from
  the sockets, feeding the strangely painted machines which are providing the
  sole relief from the monotony of grey.  Assorted chairs surround the central
  group of tables, some looking more inviting than others.  A parabolically
  curved mustard-colored screen obscures the door.  The lone table sharing a
  wall with the door sports an old blackboard.

Now, the problem is that those entering the room need to be able to
'look at tables' or 'look at machines' etc.  Now one way of handling this
would be to actually create objects representing the tables and the machines.

Problems with this include: 1) a bit of overhead incurred for every object
created and not all of these objects are really all that important except
that they add ambience/atmosphere.  2) the objects would appear once in
the long description and then again in the "You see blah, blah, and blah"
that represents the contents of the room.

The other way of handling it would be to make pseudo-objects which
aren't really objects but can be looked at and one can attempt to
get them (although the get will fail with some appropriate message.
I'm not sure if this is approach is desirable/doable in MOO but its often
done on LPmuds.

I'm sure you other MOO-Cows have dealt with this problem and have ideas
on how to make it go away.  Thanks for any and all suggestions.

--John Garnett

---

From: Judy Anderson <[email-masked]>
Date: Thu, 25 Mar 1993 09:10:05 -0800

On LambdaMOO Frand has implemented the Detailed Room which allows you
to add details like these that can be looked at; I don't remember
which other verbs might be supported by the detailed room, but it is
fully documented in Frand's Big Manual in the library.

The other approach to this problem is the Integrating Room, which
keeps objects out of the contents list and instead integrates them
into the description of the room; each object has a sentence
associated with it that gets printed into the description paragraph.
This is not as well documented (maybe not at all? or maybe only on
JaysHouseMOO, I haven't been paying attention).

There's even the Integrating Detailed Room, which layers integration
on top of the detailed room.  (What?  Multiple inheritance?  Who needs
that when we have verb copying?)  And about seventy five variations on
the theme.

Come to Lambda and steal code.

---

From: Clay Luther <[email-masked]>
Date: Thu, 25 Mar 1993 09:46:40 -0800

> would be to actually create objects representing the tables and the machines.

In the GN, we had two methods, objects with included descriptions and things
called "details" which weren't objects, but could be looked at in more detail.
We also had "state details" which could programmatically change their state.

On the House of Wax, however, we only support objects with included
descriptions (differently, though, than Lambda's implementation.)  The
overhead is really not that high and the programmability of this option is
better than using states or "faked objects."

-- 
Clay Luther                              [email-masked]
Software Engineer                        Vortech Data, Inc.
(214) 994-1377                           Fax (214) 994-1310

I dunno.

---

From: Jacqueline Hamilton <[email-masked]>
Date: Thu, 25 Mar 1993 10:30:33 -0800

> I have a room description (in a MOO) that looks like this:
   (room desc deleted) 
> would be to actually create objects representing the tables and the machines.

I'm sure theres a million ways it could be done sans objects.  I've
got a "window room" in Harper's Tale that allows you to "look window"
even though there is no actual exit in the room called "window".  Just
coded a special version of the "look" verb to see if dobjstr == "window".
If so, it then called another verb on the room called :look_out_window.
This other verb tells the player a different desc for the window, depending
on whether the window faced east or west.  Probably a rough way to do 
things, but then I was only allowing for windows, not multiple objects.
It'd be simple to add in more things you could look at, tho.

At any rate.  Just one example.

-j.