[MUD-Dev] Mucking about in time

Eli Stevens wickedgrey at wickedgrey.com
Thu Oct 4 22:48:09 New Zealand Daylight Time 2001

Idea, half-baked:

Store each and every thing that happens in a mud on a stack of past
events.  Supply an "Undo" and "Redo" feature for each event.  Allow
the last event at any given time to be undone and pushed onto
another stack, available for redoing.  Doing so would pop it off of
the redo stack and back onto the undo stack.  In general, the redo
stack would only be used as temporary storage.

The mud can accept events that occur at any time.  If the time is
before the top event on the undo stack, they are popped off, undone,
moved to the redo stack, the new event is done, pushed onto the undo
stack, then each even on the redo stack is popped, redone, and
pushed onto the undo stack as well.

Presto, you have the ability to change the past.

Consider this timeline:

  t-15: Boffo hits Bubba for 4 hp, leaving him with 5 hp.
  t-10: Bubba hits Boffo, killing Boffo.
  t-05: Buffy hits Bubba, killing Bubba.
  t-00: Buffy casts "timeJump -20s flameSmack bubba"

Time gets unwound at this point, going back to just before Boffo's attack.

  t-20: Buffy casts "flameSmack Bubba" for 7 hp, leaving Bubba with 2 hp.
  t-15: Boffo hits Bubba for 4 hp, killing Bubba.
  t-10: Bubba cannot hit Boffo, he's dead.
  t-05: Buffy hits Bubba's corpse.
  t-00: the "timeJump -20s flameSmack bubba" event is discarded.

Hmm...  >:)

Nice points:

  - Scope doesn't matter (i.e. healing every player on the mud 10
  seconds ago uses the same CPU resources as healing one)

  - Contingency spells actually happen in the past, so crating
  never-ending feedback loops won't happen (Bubba kills Buffy,
  triggers her "upon death, timeJump -20s nova" and Bubba dies 20
  seconds ago - now Buffy is alive, and stays that way, tho if Bubba
  had one too there would be trouble)

Bad points:

  - Scope doesn't matter because it recomputes EVERYTHING...

  - No-one gets to react to the changes

Anyway, this was just something I was talking about with a friend.
Kinda nifty, I think...  But hard to actually make into a workable
system for any system with a noticeable CPU load.


Honor is a crutch for those unable to wage war on an uneven battlefield.

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list