[MUD-Dev] Dynamically changing room descriptions

Eli Stevens {KiZurich/GreySylk} c718157 at showme.missouri.edu
Tue May 25 01:53:51 CEST 1999


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.


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.  :)

-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.

-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.

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.  :)

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.

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

enum time = dawn, morning, noon, afternoon, dusk, evening, midnight, night
enum temp = magichot, veryhot, hot, warm, cool, cold, verycold, magiccold
enum weather = cloudless, hazy, partlycloudy, cloudy, darkcloudy, 
          lightprecipitation, heavyprecipitation, storm

(Please excuse the mixing of things XML-ish and C++ comments)

mountain desc =
<morning,noon,afternoon>         // the comma means OR

<cloudless,hazy,partlycloudy>    // if it is not cloudless, hazy or
                                 // partlycloudy, do not include this
                                 // in the final desc the player sees
    In the distance, snowy mountain slopes gleam where the sunlight hits
    them
</cloudless,hazy,partlycloudy>

<cloudy,lightprecipitation>
    In the distance, light grey clouds boil over snow-covered slopes
</cloudy,lightprecipitation>

<heavyprecipitation>
    In the distance, low, black clouds dump

    <magichot>
        swirling steams
    </magichot>

    <veryhot,hot,warm,cool>
        torrential rain
    </veryhot,hot,warm,cool>

    <cold,verycold,magiccold>
        thick snow
    </cold,verycold,magiccold>

    onto the far mountains' snow-covered slopes.
</heavyprecipitation>

<partlycloudy,cloudy,lightprecipitation>
    , leaving the peaks wreathed in mist.
</partlycloudy,cloudy,lightprecipitation>.

<cloudless,hazy>
    .
</cloudless,hazy>
</morning,noon,afternoon>

----

Anyway...

Silence is still working on his networking code...  Sigh
Eli - mailto:c718157 at showme.missouri.edu



_______________________________________________
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