[MUD-Dev] Fighting Lag

Elia Morling elia at familjen.se
Wed Mar 12 10:56:44 CET 2003


I'm currently working on a spartime project, Tildruin - a free
online rpg. The game is hybrid between text-based and graphical
interface, as the player can select his/her style of play. It is
possible to turn off graphics altogether and play MUD-style, but I
imagine most players will adopt a mixed style of point-and-click and
text commands.

We are currently in closed Alpha, but you can view screenshots here
to get a picture of what the view is like:

  http://www2.tildruin.com/screenshots.asp

The graphic engine uses isometric view and offers non turn based
animation. The client estimates the servers current frame upon
login, by evaluating pings. Each frame is 100 ms, which gives a
going communication rate of 10 fps.

In a perfect world all relayed messages would stick to the estimated
fps for excellent perceived performance. It is not the general "lag"
that proposes the largest challenge, it is an inconsistent "lag"
which is the problem. The problems cloud when messages arrive too
early and too late, causing jagged/unreliable animation. Up to this
point we have tried:

  1. Dropping frames (causing jumps of character location)

  2. Catching up frames (causing speedy-gonzales effects)

I'm currently working on a solution where the client adopts its
estimation of the servers current frame periodically based on
current lag/round-trip.  This will cause the client to "rewind" and
"fastforward" time to make up for the current lag, as the quality of
the players connection is far from constant during an entire session
and we need it to be as consitent as possible.

I'm asking for general input and wise suggestions. There must be
huge experience in this area. How have others solved this problem? 
Are there any articles or books on the topic?

I will gladly elaborate my problem further if it yet remains
unclear.

Elia



_______________________________________________
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