Humor

Client Guidance System

Ben Stokman
OneTwentyEight Blog
3 min readJul 16, 2017

--

Listen to the audio version

On almost every occasion, clients of a server will have different update speeds, which is the rate in which clients send and receive updates from the server. The server cannot not send updates to a client when they are needed, or the client will not know where the other clients are. The other clients would theoretically be able to guess where the other clients are; though the latency that the clients have to the server is larger than the difference in update rates, so the central authority of the server to keep everything in order.

Take, as an example, two clients. One client has an update rate of 60Hz (updates per second) and the other one has an update rate of 30Hz. If both clients are standing still, the server will repeatedly send the same coordinates over and over again to the clients at their preferred update rate.

However, clients move. The server sees that the client requests to move to a position that it isn’t, to a position that it wasn’t. However, other clients tell the server how they move to a position that they were to a position that weren’t; and how they want to know how the other clients other than the other clients move from a position that they aren’t to a position to they now aren’t not are.

In the event that the server has to make up positions that are not sent to it; the server takes the position that the client in which the position that is being made was, and subtracts the position it was before that from the position in which it was. The server then multiplies the distance by the fraction of time between now and the time that the client announced that it was moving from a position that it wasn’t to a position that it isn’t. The server than adds the result to the position where the client was. Then the server gets the position that the client, in theory, is.

In the event that the position in which the server knows thought that the client, in theory, is isn’t not not the position in which it actually is not the position that the client actually is. The server must resend a packet, using the steps for intermediate packets to the clients other than the other other clients.

Though there is still the possibility that the position in which the client in theory is is a place that it can’t not not be. The server fixes this issue by, instead of taking coordinate inputs, taking key inputs, where the server and the client independently calculate where the client is and where in theory is using game rules. Still the position in which the client in theory can be can possibly be not be the position in which it is. The server then updates the clients other than the other other clients in the same way for the non-key-input, though making sure that the clients stay where they can’t not be.

--

--