From: sorrow@maple.circa.ufl.edu
Subject: TECH: Synchronized communications between various machines
Date: Wed, 01 Apr 1992 06:37:36 GMT
Organization: The CIRCA Underground


I am currently trying to get real-time synchronous communications 
happening between various computers, but seem to have a problem 
getting different speed computers synchronized in a single virtual
world.

The first apparent way is to send out an "update event" when your
system does something, and then do nothing until all other systems
in the network return an explicit acknowledgment ( i.e. they have
all had time to process the event ).

This has a problem in that the faster systems are bogged down by the
slower systems ( the speed of the overall system is limited by the
speed of the slowest system ).

The next way is to find out a relative "speed index" of each machine,
and have each machine use an internal timing loop based on this speed
index to do frame interpolation.  There are many problems associated
with this though, since different factors affect the speed rating, such
as processor speed, bus speed, video speed, etc.  For example, for
a 3d animation system where would an Amiga 500 go against a 486 w/
fast VGA?  While the 486 obviously has a much faster processor, the
video may actually lag significantly behind the tightly coupled 
video/cpu interface of the Amiga.

If you have any suggestions as to how commercial games ( Falcon 3.0,
688 Attack Sub ) or various "virtual reality" systems do this I
would like any input.  I assume that many custom designed virtual
reality systems don't have this problem, since the hardware tends to
be homogenous ( i.e. identical systems across the board ).

Brian
