[MUD-Dev] DGN: Rooms, Directions, etc. - any alternatives?

J C Lawrence claw at kanga.nu
Tue May 25 14:37:32 CEST 2004


On Mon, 24 May 2004 12:04:35 -0400 
Otis Viles <drey at speakeasy.org> wrote:

> I believe it's mostly MOOs, MUCKs and MUSHes that do this but some
> MUDs tie a keyword to each exit so you can preserve NSEWUD but can
> also have "go door", "enter portal", etc. You're just changing the
> exit info from {direction, room vnum} data to {keyword, room vnum}.

The Tiny-*/MOO world does it via defined verbs on objects.  Some verbs
implement exits, some do other things.  Which verbs you use is (usually)
entirely arbitrary.  As a gross generality the normal tendency in GoP
games was for global coordinate systems (exits are named in relation to
a global compass), and for non-GoP games to use contextual exits which
are relative to the current location.  As such for Tiny=*/MOO games it
is not unusual in a lounge room/object to find exit verbs called,
"couch", "patio|porch|deck", "corridor|hall[way]", "kitchen" and
"window".

The intersection between subjective/contextual location systems and
global coordinate systems is particularly interesting, particularly in
the transitions between the two.  Consider a normal set of street
directions (in the US):

  Go north on highway XYQ.  Take exit 93 and take turn right at the next
  light onto Fubar Road.  Go East on Fubar for five blocks and then turn
  left by the McDonalds...

ie a steady flip-flop from global coordinates to relative directions to
landmark navigation.

The Skotos proximity system is worth looking at.  Its among the better
thought out cases that partially mixes the directional forms and comes
with some interesting human-level protocols.  They've numerous articles
on their site discussing it as well as a number of discussions on the
list here.

I'd also recommend looking in the MUD-Dev archives at the various
discussions a few years ago in regard to private namespaces ("private
namespace" is probably not a bad search string).  The discussion was
mostly more general than the handling of only exits, and related to the
general case of having no default non-generic names for objects, and
then allowing individual players to assign private names to the objects
and identities around them.  Thus you'd get sequences like:

  > look
  There is a troll here.
  > name troll Fred
  Okay.
  > look
  Fred is here.

This then got into all sorts of fun like namespace trading, invitation
systems that carried namespace settings, and namespace viruses.  However
there's no reason that the same sort of system couldn't be extended to
not only handling exits, but to handling auto-navigation and pathing
between locations.

  > look
  You are in the courtyard of Fortress Fract.
  > go elven forest
  You ponder for a bit figuring out the route.
  You start walking towards the Elven Forest.

Of course this could then be plugged into NPC and other AI/intelligence
systems beyond the (non-trivial) pathing problem:

  > look
  You are in the courtyard of Fortress Fract.
  A gatekeeper stands by the drawbridge.
  > go elven forest
  You go to ask the gatekeeper how to get to the Elven Forest.
  The gatekeeper gives you directions.  <click here for details>
  Do you want to follow his directions?
  > Yes
  You start walking towards the Elven Forest.

We also discussed a whole other twist where the world was laid out on a
simple global coordinate system (think X/Y/Z coordinates), but segments
of the world could be scaled mappings to other parts of the coordinate
space or could simply contain a disjoint and different sized coordinate
space within its boundaries (eg a TARDIS-like object which contains more
space inside that its exterior dimensions, or a small house whose doors
and windows, Alice-in-Wonderland-like exit all over the world and have
non-proportional sizes on each side of the exit (huge door on one side,
pinhole on the other)).  IIRC "nested coordinate spaces" should get you
going search wise.

--
J C Lawrence
---------(*)                Satan, oscillate my metallic sonatas.
claw at kanga.nu               He lived as a devil, eh?
http://www.kanga.nu/~claw/  Evil is a name of a foeman, as I live.

_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list