[MUD-Dev] Early Attempts at Slaying the Lag Monster

Greg Boyd lextalionis at gmail.com
Wed Nov 24 16:59:26 CET 2004


I have been reading the lag discussion with interest because I have
been doing some research on earlier mechanisms to combat latency in
virtual worlds.

I did not want to pollute the original lag monster thread so I will
ask it as a parallel note.

The question involves two older ways of solving lag problems,
particularly in the early 1990's.

  1.  Smoothing or "dead reckoning" (I have found some information
  on it - not as rare as case #2)

I saw that Amanda mentioned "smoothing" as one of the ancient ways
to combat lag.  I have also read about this referred to as using a
"dead reckoning" algorithm.  In short, you take position, velocity,
and perhaps other physical elements and use
interpolation/extrapolation to let the client see smoothly moving
objects even if there is some congestion or dropped packets.
Clearly this allows you to also send less packets to the user.

I have found references to this type lag fighting technology for
virtual worlds as early as the early 1990's in the military program
called SIMNET.  Specifically, I have an electrical engineering
article from 1995.

It might have been going on in early commercial games too, but I'm
not sure.  I think it has probably been going on in the military as
far back as the 1980's because SIMNET is pretty old, but I'm not
sure about this either.

Question 1:  Does anyone have any article references I could find
describing this technology in detail before 1995?

  2.  Internal clock synch and adjustment (even more interesting for
  me - harder to find examples of this)

    A data packet contains information for rendering an object in
    virtual space and has a time stamp.  When this data packet is
    sent, it interrupts the game and "resets" some internal clock on
    the client computer so that it is synched with the primary game
    computer.

  OR

    Similar to the example above except the client computer adjusts
    some base clock offset value by calculating a difference between
    its current internal clock and the time stamp on the received
    packet.  (I have less of an idea how this worked in practice)

Question 2: Does anyone know of any references describing this
technology before 1995?  This one has been tougher for me.

Thank you for thinking about this with me.  I would appreciate any
leads at all.

Greg
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list