[MUD-Dev] Room-based vs. coordinate-based

clawrenc at cup.hp.com clawrenc at cup.hp.com
Tue Jul 1 13:19:03 CEST 1997


In <199706260440.VAA06955 at pc4.zennet.com>, on 06/25/97 
   at 09:47 PM, "Brandon J. Rickman" <ashes at pc4.zennet.com> said:

>On Mon, 23 Jun 1997, Shawn Halpenny <malachai at iname.com> wrote: 

>An aside--given:
>>Room R at time t=0.
>>An earthquake is scheduled to occur in R at t+5.
>>Room R is spoofed at t+2, creating R' which now exists in lieu of R.
>>Time t+5 arrives, the earthquake occurs.  Are the effects of the
>>  earthquake applied to R, R', or both?  Generalized:  are any
>>  actions occuring on R to be duplicated on R' and vice versa?
>  
>>Note:  the spoofing of R and the earthquake are independent events
>>and are completely unrelated in cause, execution, and effect.

>This is a great example of a particularly bad (and quite common) way
>of non-atomic coding.  "Scheduling" an event in this case is like
>declaring a prophecy: "There will be an earthquake in 5 ticks!"

Why do you define this as "bad"?  Given that you need to change the
semantics of the sceduled event from "There will be an earthquake at X
time," to "Decide at X time if there will be an earthquake then," I
don't see a problem (ie this is what I've been doing without trouble).

>I'll go out on a limb and claim that events must always immedidately
>originate from objects.  There should be no indirection of events,
>such  that an event might be scheduled by an object but actually be
>originated as a server action.

>In the above, R (for all practical purposes) is the originator of the
> earthquake.  But by scheduling the event at t+5, R has added
>indirection. Now at t+5 either the server emits the event only to R
>and no one sees it, or the server looks for R, can't find it, and
>dumps the event.

Yup.  An event is actually a message: a method call with a particular
payload in the form of arguments.  Its not to be seen, its to be
reacted to, thus causing effects which may be seen.

>I'm thinking cold-like frobs provide a way to solve this.  

Frobs?  How so?  

>Otherwise
>a tighter way of relating the spoofed object to the object of
>spoofing is needed.  Then R gets the event and passes it on to it's
>spoof.  This would need quite a bit of garbage collection.

See my prior discussion and definition of spoofs.  Its all handled
automagically -- there is no necessity for garbage collection or other
clean ups.  The spoof merely adds an automated form of indirection and
filtering.

--
J C Lawrence                           Internet: claw at null.net
(Contractor)                           Internet: coder at ibm.net
---------------(*)               Internet: clawrenc at cup.hp.com
...Honorary Member Clan McFUD -- Teamer's Avenging Monolith...




More information about the mud-dev-archive mailing list