[MUD-Dev] Dynamically changing room descriptions

Jon A. Lambert jlsysinc at ix.netcom.com
Fri May 28 01:14:37 CEST 1999


On 25 May 99,, Eli Stevens (KiZurich/GreySyl wrote:
> On Sun, 16 May 1999, Jon A. Lambert wrote:
> >
> > There are four persons seated at a card table playing hearts surrounded 
> > by a crowd of onlookers, say twenty or so.  One of the players, myself, 
> > has a mouse on his shoulder.  Among the crowd is a gorgeous red-head of 
> > amazon-like proportions, a twelve foot giant with a horsefly on his nose, 
> > and a three foot gnome.  The entire party is located in the dusty main 
> > street of a small village.  On the north side of the street is a cafe 
> > with a sign in the window advertising 'All you can eat for 3 grotzees'.  
> > A waitress gazes out of the greasy window.  On the south side of the 
> > street is a four-story hotel.  Walking on the hotel's third-story ledge 
> > is a darkly-dressed cat burglar.  The village is surrounded by a 20 ft. 
> > wooden palisade; and nestled within snow covered mountains. 
> > 
> > Challenge:
> > Come up with a method of describing this scene from the vantage point of 
> > myself, the fly, the giant, the mouse, the gnome, the waitress and the 
> > cat-burglar. 
> > 
> > Such a method might take into account distance perception, foreground
> > to background, elevation, size, and ATTENTION.  
> > 
> > Any of the card players would be tuned into seeing the hand they are 
> > holding, the table, and the three other players in good detail.  The 
> > crowd as a whole might form the blurry backdrop, with some noticeable 
> > standouts.  I'd most likely not miss Xena's red-headed sister.  ;)
> > 
> > The waitress would see a blurred vision of a crowd gathered in the 
> > street, probably the least perceptive of the humanoids. 
> > 
> > The cat burglar might have the best perspective of all, yet miss the 
> > standouts in the crowd (giant and red-head) and the small mouse and fly.
> > Yet the cat burglar might be way to preoccupied with negotiating the 
> > ledge to notice much at all, especially the beautiful mountain view.
> > Then again, if he was just relaxing on the ledge (not working) he might 
> > grok the full detail of the scene.
> > 
> > Perhaps everyone but the giant would miss the fly or someone studying 
> > him.  If the fly was worrying the giant, he might not notice much else
> > other than the fly.

After reading your post and looking at this again, I am sorely pressed to 
see how this scenario can be implemented within the typical mud based on 
rooms and exits.  It seems more suitable for a spatial coordinate system. 

But I'm not so sure, perhaps a reasonable part of it can be accomplished. 

For instance, the waitress and the cat burglar are likely in separate 
rooms.  The cafe would possibly have two exits into the street, a door 
and a window.  A room implementation would likely need to account for 
visibility across exits; and have exits that have opaque/translucent 
properties, as well as other properties to support blocking and barrier 
destruction.

The card table with players seated around it with the encircled crowd 
imply that movement with rooms support interior spatiality and facing.
A graphical implementation and interface would be reasonably easy, but I 
imagine a text user interface might be cumbersome for the players.
And if you implement interior spatiality, you might just as well go all 
the way.  

The backdrop of the palisade, the mountains, and the sky would be 
problematic.  Perhaps it might be reasonable to add these descriptions
to areas/zones and allow nesting of areas/zones.  For instance the
street room is part of the village area, which in turn is part of the
mountain valley area, which in turn is part of the eastern shire weather
area.  These items would have smaller "focus priorities".

> A player can focus on the following, based on their recent actions:
>    none:   commands like relax, wake, etc.
>    self:   health, stats, score
>    specific person:   look <person>, attack <person>, etc.
>    your task:   various skills like lore, climb walls
>    other's activities:   watch, being near a fight (but not involved)
>    surroundings:  look(?), look <item>
>    people:   look(?), scan, etc.
>    elsewhere:   daydreaming, thinking, spells, etc.  
> Elsewhere would also be used when you are studying something besides
> whatever is taking action.
> 
> Every person has a primary and secondary focus.  The primary focus would
> pertain to whatever the person last did, while the secondary focus would
> be whatever the person was focusing on just before that.  
>
> Also, every object, body, action, room description element, etc. has a
> noteworthyness array for third party observers.  The array would give a
> rating of how noticable an event/object/person is to someone with a given
> focus.  I would assume that the instigator of an action would always
> notice it, as would the target in most situations.  :)

Nod.  A list needs to constructed on the fly for the user's viewpoint
in time, using many of the weightings you indicate.  Basically the 
weighting comes from two sources; the perceiver and the object to be
perceived.  

Here's another interesting dilema.  Is the user's view generated 
immediately after an action?  And/or everytime there is a state change
to an object in the user's view, or when an object enters or leaves that
view?  Or perhaps by regular timed pulses?  

It's my thought that both user actions and object state changes might
utilize the collective "list of interesting items" as filters when 
broadcast state-change messages to the room (or umm neighborhood).

Giant picks his nose -> sends the state change event to all the objects
that have giant currently on their "list of interesting items".
Probably not the card players or cat burglar, but perhaps the gnome 
who was last looking up at him. 
 
> -card player-
> For example, one of the card players has the
> skills "gamble," "cheat," and "watch":
> 
> gamble would focus the player on: task
> cheat would focus on: task
> watch could either focus on: activities
>   or in the case of watcing a specific player: person
> 
> For example, if a gambling card player scratched his/her nose, the array
> might look like this (with 0 being non-important, and 9 being very
> important), following the focuses above: 
> 
> noteworthyness to an observer = { 4, 2, 9, 1, 6, 2, 3, 1 }
> 
> If another player was cheating at that moment, they would use the "task"
> element of the "observer" array.  Since the element is only 1, the chance
> of that person notcing the scratch would be low.  However, if the cheating
> player was watching the scratcher just before they began to cheat (it is
> their secondary focus), the chance of them noticing would be much higher.

Velly interesting. 

> -fly/giant-
> Assuming the fly just bit the giant (or perhaps the fly could be
> considered as using the giant as a mount? :), the attack would focus the
> fly on the "specific person" (the giant).  The giant, having just been
> attacked by the fly, would focus on the specific person (the fly).  Being
> taller than most would increase the giant's people perception in general,
> but would also increase its notability.  The gnome would experience the
> exact opposite.
> 
> -burglar-
> Climbing walls would focus the player on the task as hand, and once seated
> on the ledge, the player could look at whatever he or she wished.  There
> might be a time in character generation (or after) where players could
> indicate the things that attract their attention.  Red hair, women, etc.
> should all be possibilities.

Ayuh.  I think allowing users to customize their perception interest has 
some utility.  For example, an adventuring party walking through a 
dungeon might wish to turn on, or temporarily attentuate, their 
perception of "looking for traps" or "looking for secret doors".  Or a 
pickpocket walking through a bazaar might attentuate "jewelry" or "watch 
out for cops".  Perhaps such character customizations are at the expense 
of perceiving other events:

 Jon > perceive red-head dames 
 In a booth at the far end of the bazaar, Amalie the fortune teller
 casually brushes her fingers through her hair.   
 Bubba > say to Jon, "Hi what's up?" 
 Bubba > say to Jon, "Hi what's up?" 
 Amalie turns over a card and smiles at her customer.
 Bubba > scream at Jon, "Are you listening?" 
 Bubba screams at you "Are you listening?"
 Jon > say to Bubba, "Sorry I didn't hear you, what were you saying"

 :-)
 
> Blah blah blah.  I think I have made my point clear.  What?  Implementing,
> you say?  Heh heh, you have got me.  Not much of a clue how.  :)
> 

Hehe... I didn't expect anyone to solve it, although your ideas are real 
good starts. :) 

> Hum - drugging a character could result in the importance/notability of
> events and such being all out of whack.  The drugged character might
> notice rocks in the grass in detail, and pick a brown shirt out of a crowd
> but not notice a dead and steaming body.  Hummm...
> 
> ----
> 
> Another half-baked idea of mine is to compose room descriptions solely
> from items present in the room. (not just swords and the like, but
> objects/items/stage props made specifically to describe the room).  The
> items would have descriptions that change according to the weather, time
> of day, etc.  They could also be reused (cobblestone streets look pretty
> much the same in front of an inn as in front of a park).  I know,
> description reuse usually spells death for interest in an area, but think
> if only the things that would remain constant were reused, and EVERYTHING
> in the rooms would change according to the conditions in the room.

Yes!  By implementing partial perception, lighting conditions, and even
differing descriptions based on time of day, one can add life to static 
rooms, even if no objects are just .

  <title>The bazaar</title>
  <day>A noisy bazaar filled with crowds of people...
  </day>
  <night>The bazaar is quiet, empty and the stalls dark...
  </night>

> A short example, one that might be seen from the rooftops and major
> streets of the above little town:
> 

<snipped XMLish things>
The idea of allowing builders to use a form of MRML <Mud Room Markup 
Language> is a most excellent idea, and probably a very easy addition to 
most muds!


--
--*     Jon A. Lambert - TychoMUD Email:jlsysinc at ix.netcom.com             *--
--*     Mud Server Developer's Page <http://pw1.netcom.com/~jlsysinc>      *--
--* To fight the empire is to be infected by its derangement. Whosoever    *--
--* defeats part of the empire becomes the empire; it proliferates like a  *--
--* a virus... thereby it becomes its enemies." -- P.K. Dick               *--


_______________________________________________
MUD-Dev maillist  -  MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev




More information about the mud-dev-archive mailing list