[MUD-Dev] Re: lockless system - foolproof?

J C Lawrence claw at under.engr.sgi.com
Wed Sep 2 13:49:53 CEST 1998


On Tue, 01 Sep 1998 21:56:46 -0600 
T Alexander Popiel<popiel at snugharbor.com> wrote:

> In message: <199809011749.KAA04222 at under.engr.sgi.com> J C Lawrence
> <claw at under.engr.sgi.com> writes:

>> This assumes that the propagation of shouts across the land is
>> assumed to be instantaneous.  Is that really an automatic
>> assumption?

> It certainly is for me, and probably for anyone with any experience
> playing on LPs, MUSHes, MOOs, or Dikus.  Umm, I think that's over
> 90% of the non-commercial MUDding playerbase.

Dunno.  I've been playing MUDs since the mid 1980's and never assumed
that SHOUTs propagated instantly.  Then again I started playing MUDs
with 300 baud modems so *nothing* propagated instantly.

> The neophyte logging on to a MUD with no prior experience will
> probably not make that assumption immediately, but I'd expect it to
> be assumed pretty quickly, if you give people command feedback and
> prompts; in traditional systems (like DOS) you don't get the command
> prompt back until the command has finished executing in entirety,
> and multitasking is hidden and the user is told to think of the
> computer doing only one thing at a time (because the general
> consensus seems to be that a user cannot grok concurrency).

This is pretty obvious in my environment, as was discussed under the
"Digging the Panama Canal" scenario.  For me, entering a command and
hitting ENTER returns a prompt as soon as the command parses
successfully (as indicated by the "Okay" ack -- see prior discussion
of ambiguity resolution for minor discussion (I think) on this).  The
command itself may execute at any time after the successful parse, and
depending on how that specific command was phrased as well as later
and earlier commands, may or may not execute in a defined sequence
with other commands entered.

  > dig panama canal
  Okay.
  > ...you may now enter more commands, but nothing has happened 
      yet from your "dig" command...
  You start digging the panama canal.
  ...long time passes...
  > l 
  You are standing in a large very deep hole in the ground that 
      you are in the process of digging.

The implicitly concurrent nature is communicated by the seperation of
the acks on command parse and the action ack on first command event
execution.  In the above example the player knows the instant his
character starts digging: he gets the, "You start digging the panama
canal" message.  He should pretty quickly pick up the distinction if
only due to the fact that the gets the "Okay" almost instantly and may
have to wait a fair bit (depending on what else he is doing) for the
other.

This concurrency is implict at a very low level with the command
structure, much in the way that type-ahead is expected and depended
upon with most other MUDs, such that players almost necessarily must
exercise the supports to do what they want (there's a bunch of
supports for commands of the form, "Start doing this and keep doing it
until I tell you to stop").  

> So I'd posit that even if it's not an automatic assumption, it's one
> that will happen often enough to warrant worrying about.  (One
> interesting way to document a non-instantaneous propogation would be
> to make something like the speed of sound real... and then make a
> quest about finding out how fast sound travels.)

Yes, this is different than your standard DIKU, LP, MUSH, etc.  Yes,
this could and may be viewed as an interface expectation and
transparency problem.  No, I'm not going to worry about it.  Generic
DIKU, MUSH, LP etc players are not my targets.

--
J C Lawrence                               Internet: claw at null.net
(Contractor)                               Internet: coder at ibm.net
---------(*)                     Internet: claw at under.engr.sgi.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...




More information about the mud-dev-archive mailing list