Michael Toennies wrote: > > The word for it is "Client Prediction". It is the technique to "guess" > and/or calculate the moving > action of players with different lags to make them looking and playing as > all with the same lag > (and make it looking as there is no lag). > > We can simply implement the in cf. Not in the movement of course, but in the > damage. > To calculate the lag to the client is easy. We don't need a real exact > value. > Actually, this gets fairly complicated. For the server to determine lag, it must have client cooperation. Doing that is not hard. What is hard or impossible to to know that the client is telling the truth, and how to deal with varying lag. The changing lag of the connection is not really hard to determine, but the fact that it does change mean that you need to constantly keep checking the lag. The truthfulness of the client has never been assumed, and determining lag would require truthfulness (Otherwise, if the server basically gives a bonus (reduced damage), you can bet someone will come up with a hacked client that reports higher lag numbers even if the lag isn't bad - player does better, and everyone else seeing this feel cheated.) The fact the client is open source makes it very easy to make a non truthful client. From the getgo, it was always assumed that the client would not be trustworthy (server keeps all its data and doesn't care what the client thinks is going on). I'd really hate to change that.