[MUD-Dev] Time travel and Logging

JC Lawrence claw at under.Eng.Sun.COM
Mon Jan 5 14:32:56 CET 1998


I think I've answered this before...

On Mon, 29 Dec 1997 11:09:27 PST8PDT Ola wrote:

> I think you are pointing at an important problem with JCL's system.
> It becomes more apparent in a graphical system.  Where is the
> time-traveller observing from?  

The time traveller is observing from the viewpoint of the object he
has selected (which must therefore have also existed in the time
viewed).  I made what I think is a grevious performance trade-off in
that I now only log SAY/TELL type communications if the viewed-thru
object actually received the messages.  Objects which can't hear won't
log such text and thus can't be used to ressurect that text -- only
"hearing" objects will log.  

> What happens if something moves to
> the time-travellers position?  

Nothing.  If the time-watcher is viewing from a point in space, in
text mode he continues viewing from that point as if the new body were
transparent, in a 3D graphical presentation he'd see solid black
(assume all objects are opaque (cheap, occassionally unrealistic, but
safe))..

> What happens if the object in
> observation is moving?  

If the object the time-watcher is viewing from is moving, then he sees
what that moving object saw, as if he were moving there as well.  If
an object in the environment of the watched-thru object moves, the
time-watcher sees it move.

> Is the timetraveller moving in world
> coordinates, or local coordinates?  

The time-watcher's viewpoint can more in back-time coordinates.  The
time-watcher does not generally move in present time.

> Can the timetraveller open
> doors?  

No.  A time watcher can have no effect on the past.

> If not, can he walk through doors?  

Only if the object he is viewing thru did, or he can jump his
viewpoint from an object on one side of the door to an object on the
other side, or if the door is already open he can gradually migrate
his viewpoint across space thru the door. 

> Can he move at all?  

Sorta.  He can move the point that he is viewing thru from object to
object, or across free-space (very tight limits).

> Is
> he moving in "now" time, but observing in "past time" ?  

The character's position in present time has no general relation to
the position viewed in the past, and motions of the viewpoints in each
need not relate.

> How can you
> achieve this?  By providing two maps?  What if the viewpoint was
> inside a mountain in the past?

I recreate the state of the world as it existed at that time in the
past.  Literally.  I recreate the world __exactly__ as it was then.  I
then let the player peek in to see what was there.

This is done by having the server observe whenever there is a change
in the game world, and then storing the old state as well as the new
state.  Time travel then becomes merely a case of operating with the
older saved state (somewhere down the stack), as versus the current
state (top of the stack).

> It is all possible to solve, but requires some extra coding
> effort. Gfx engines usually provide the surface, objects may be
> empty...

Yup.  This is among the more minor problems.

--
J C Lawrence                               Internet: claw at null.net
                                           Internet: coder at ibm.net
----------(*)                        Internet: jc.lawrence at sun.com
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...



More information about the mud-dev-archive mailing list