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

Shawn Halpenny malachai at iname.com
Mon Jun 23 12:52:29 CEST 1997


Alex Oren wrote:
> 
> Which brings me back to the topic.
> 
> How would I implement the equivalent of room-spoofs in a
> coordinate-based setting?

You would spoof a room-object by cloning the existing room and
modifying the desired methods on that object to implement whatever
new functionality.  All references to the old room should map to the
new room until the spoofing is terminated (see aside below).

This applies in all cases, regardless of having coordinates or not. 
Having coordinates just implies that every single object exists at a
discrete and precise location in space.  If your entire world is a
set of room-objects, then spoofing any of them is easy.  The question
becomes:  If portions (or all of) your world do not exist as discrete
objects, how are "rooms"  spoofed?  My approach is to create a
dynamic room object that houses all objects within a certain distance
from the given point and then spoof that room object.

My case may result in somewhat different an answer than what you are
looking for, since it is possible for objects to exist at the same
location in space, without being contained, overlapping, fused, etc.

Of course, none of this answers your question if you are inquiring
about the actual mechanics of the spoofing (to which I would say it
depends on how your object model is designed, and that with
inheritance it becomes very easy to spoof).

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.

--
Shawn Halpenny

"At any given time there is a 50% chance I've become discontinuous
 on the probability axis."
                                             - Me



More information about the mud-dev-archive mailing list