[MUD-Dev] Dynamic muds

Christopher Allen gmfangs at asmrb.org
Tue Sep 21 20:52:29 New Zealand Standard Time 1999


Ryan <ixiterra at microworld.com> wrote:
> I've only been reading this mailing list for about 2 months, so forgive me
> if something similar to this has been asked before. . .
> I've been programming an LPMUD for about 4 years now, I believe in quality
> and perfection, not mass marketing and trying to get
> a mud out there to test the waters before it even has toes ;). I've only
> been doing it on my home computer and have not really
> had any others start programming/building on it yet. As I said, I want it
> to be of high quality, and something I think that affects
> the quality of room descriptions are those that are dynamic. Most of you
> appear to be mud administrators or hardcore players, but
> this is aimed at people who build lots of areas for muds. Are truly
dynamic
> rooms, in your opinion, worth spending the extra
> effort? In dynamic, I mean that the description changes with day/night,
> seasons, etc. It obviously requires extra work, but not an
> entire re-write. I want to make sure that, when my mud does go alpha on
the
> internet, that builders will be willing do to this and
> not be daunted by the task. There is more than dynamic rooms too, there
are
> intelligent NPCs among other things. But what is
> your opinion? As for administrators, if you have gone the dynamic route,
> what was the feedback from your builders? And players,
> what do you think of dynamic rooms and how they add to the atmosphere of a
mud?

I find that writing dynamic descriptions is quite difficult, but over time
it becomes easier to do as you have existing dynamic descriptions to draw
from as examples.

Currently we don't have any day, night, timeofday, etc. adjectives -- the
only adjective we have is the 'oneof' adjective which we alias as curly
braces {} because we use it so much.

Here are some dynamic room descriptions in XML from the upcoming Skotos
BasicLib. (BTW, we intend on making commercial games using this library, but
intend on releasing the BasicLib for non-commercial games):

<object id="OBJ(test:area:tent)">
  <thing gender="#0">
    <details>
      <detail id="flap entrance" ref="flap entrance" prime="#0"
face="outside">
        <names>
          <name sname="flap"/>
          <name sname="entrance"/>
        </names>
        <adjectives/>
        <descs>
          <desc type="look">
             There is {{a tent|a} flap leading
             {in|inside}{.|the tent} |{with|}{a single|an}
             entrance leading {in|inside} - a tent flap.}
          </desc>
        </descs>
        <exit dest="NREF(test:area:tent|inside tent)"/>
      </detail>
      <detail id="flap exit" ref="flap exit" prime="#0" face="inside">
        <names>
          <name sname="flap"/>
          <name sname="exit"/>
          <name sname="out"/>
        </names>
        <adjectives/>
        <descs>
          <desc type="look">
             There is {{a tent|a} flap leading out. |{a
             single|an} exit leading out - a tent flap.}
          </desc>
        </descs>
        <exit dest="NREF(test:area:herbarium|1)"/>
      </detail>
      <detail id="inside tent" ref="inside tent" prime="#1" face="outside">
        <names>
          <name sname="room"/>
        </names>
        <adjectives/>
        <descs>
          <desc type="brief">Twilight's Tent</desc>
          <desc type="look">
             You are inside {a large|an oversize|a} tent.
             There is a {faint|slight|dim|} {red|} glow
             coming from a pot in the {center|middle} {of
             the tent.|.} {The {tent|air} {smells of
             smoke.|is slightly hazy with smoke} |A
             {faint|slight} haze of smoke fills the
             {air.|tent.} |} There is { {a tent|a} flap
             leading out. | {a single|an} exit leading out
             - a tent flap.}
          </desc>
        </descs>
        <exit dest="NREF(test:area:herbarium|1)"/>
      </detail>
      <detail id="outside tent" ref="outside tent" prime="#1"
face="outside">
        <names>
          <name sname="tent" pname="tents"/>
        </names>
        <adjectives/>
        <descs>
          <desc type="look">A simple tent.</desc>
        </descs>
        <exit dest="NREF(test:area:herbarium|1)"/>
      </detail>
    </details>
  </thing>
</object>

Here is another more complex example -- an NPC named twilight:

<object id="OBJ(players:twilight)">
  <thing gender="#1">
    <details>
      <detail id="twilight" ref="twilight" prime="#1">
        <names>
          <name sname="twilight"/>
          <name sname="person" pname="people"/>
          <name sname="catperson" pname="catfolk"/>
          <name sname="cat" pname="cats"/>
          <name sname="feline" pname="felines"/>
          <name sname="humanoid" pname="humanoids"/>
        </names>
        <adjectives/>
        <descs>
          <desc type="brief">Twilight</desc>
          <desc type="look">
             You {see|notice|observe} {that {he|Twilight}
             is|} a {feline|catlike|} {being|creature}
             {with|covered from head to {toe|foot} with}
             grey fur {. |. He has {deep grey eyes. |grey
             eyes {and|with} a long grey mane {covering
             |enveloping } his head, running down his
             shoulders and along his back {and down to {the
             base of ||} his tail||}. } |, a long grey mane
             {covering |enveloping} his head, running down
             his shoulders and along his back {and down to
             {the base of ||} his tail ||}, {and|with} deep
             grey eyes. }
          </desc>
        </descs>
        <exit>
          <dir/>
        </exit>
      </detail>
      <detail id="twilight's claws" ref="twilight's claws" prime="#0">
        <names>
          <name sname="claw" pname="claws"/>
          <name sname="claws" pname="claws"/>
          <name sname="fingernail" pname="fingernails"/>
          <name sname="nails" pname="nails"/>
          <name sname="nail" pname="nails"/>
          <name sname="finger" pname="fingers"/>
          <name sname="hand" pname="hands"/>
        </names>
        <adjectives/>
        <descs>
          <desc type="brief">claws</desc>
          <desc type="look">
             You {see|notice|observe} {that {he|Twilight}
             has|} {very sharp|wicked {looking|}}
             {catlike|feline|} claws at the end of {each
             finger|his hands}{.|, which {appear|seem} to
             be retractible.}
          </desc>
        </descs>
        <exit>
          <dir/>
        </exit>
      </detail>
      <detail id="twilight's eyes" ref="twilight's eyes" prime="#0">
        <names>
          <name sname="eye" pname="eyes"/>
        </names>
        <adjectives/>
        <descs>
          <desc type="brief">eyes</desc>
          <desc type="look">
             You {see|notice|observe} {that {he|Twilight}
             has} {deep|} grey eyes, with {dark|}
             {slitted|} {catlike|feline} pupils {.|that
             change shape depending on the brightness.}
          </desc>
        </descs>
        <exit>
          <dir/>
        </exit>
      </detail>
      <detail id="twilight's fur" ref="twilight's fur" prime="#0">
        <names>
          <name sname="fur" pname="fur"/>
          <name sname="hair" pname="hair"/>
          <name sname="mane" pname="manes"/>
        </names>
        <adjectives/>
        <descs>
          <desc type="brief">fur</desc>
          <desc type="look">
             You {see|notice|observe} {that {he|Twilight}
             has|} a {very||} {dense|thick} coat of fur
             that covers {him|Twilight} from head to
             {toe|foot}, which is {considerably||} longer
             {where it|and} forms a mane leading from
             {his|Twilight's} head and {runs|} down {to|}
             his shoulders {and {along} his back {and down
             to {the base of ||} his tail||}|}.
          </desc>
        </descs>
        <exit>
          <dir/>
        </exit>
      </detail>
      <detail id="twilight's tail" ref="twilight's tail" prime="#0">
        <names>
          <name sname="tail" pname="tails"/>
        </names>
        <adjectives/>
        <descs>
          <desc type="brief">tail</desc>
          <desc type="look">
             You {see|notice|observe} {that {he|Twilight}
             has a|a} {long|} tail covered in grey fur
             {.|.|that {twitches occasionally|twitches
             occasionally} at the {tip|end}.| {that trails
             down to|whose tip wraps around} his
             ankles.|which follows {behind|} him as
             {he|Twilight} moves.}
          </desc>
        </descs>
        <exit>
          <dir/>
        </exit>
      </detail>
      <detail id="twilight's teeth" ref="twilight's teeth" prime="#0">
        <names>
          <name sname="teeth" pname="teeth"/>
          <name sname="tooth" pname="teeth"/>
          <name sname="mouth" pname="mouths"/>
        </names>
        <adjectives/>
        <descs>
          <desc type="brief">teeth</desc>
          <desc type="look">
             You {see|notice|observe} {that in
             {his|Twilight's} mouth {he|Twilight} has|}
             {very sharp|wicked {looking|}}
             {catlike|feline|} {{glisteningly|} white|}
             teeth.
          </desc>
        </descs>
        <exit>
          <dir/>
        </exit>
      </detail>
    </details>
  </thing>
</object>

-------
Christopher Allen - Skotos Tech <ChristopherA at skotos.net>




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



More information about the MUD-Dev mailing list