DISTRIBUTING OBJECT DATA TO MULTIPLE CLIENTS This document describes the possible method of relaying rapidly changing object data (mainly position) to several user clients. The object data usually consists of object position and orientation (a simple 4x4 matrix). Other parameters can be distributed if necessary. However, the data should be such in nature that missing a packet doesn't have any critical effect on the game. Designing the protocol to be "loss-safe" has a considerable advantage because we can use UDP as our protocol. This leads to faster response times. Also, acknowledging each packet is not required with this method. Initially, the user defines a maximum rate according to his/her internet connection. Every now and then the client can send packets back to the server containing the amount of packet loss. This can be computed by having a simple counter in each packet so that the client will know what packets it has missed. The maximum transfer rate can then be adjusted according to packet-loss value. If the amount of traffic starts to near the client's maximum transfer rate the server can start skipping data by not updating that often (ie. faster connection means smoother gameplay). Also, if an object's position has not been changed it doesn't have to be updated. However, for the more important packets (communication for example) that can't afford to be missed we need a more reliable method of transport. Either we will implement some sort of error-correction using the existing UDP connection, or use a TCP connection for such data. ++ Dazzt @ 31.08.1999