Hey all, I have a few questions regarding prediction and extrapolation.
So, I am running the local agent ahead of the server. Initially, I simply determined the time the inputs would be received, and stored the simulation for the current game tick (on the server) as the outcome for the tick that the inputs would be received on the server (because then the server can just send the latest state to all the clients rather than very old states). As I write this, another question comes to mind:
Firstly, the method above isn't clean. It means that the other clients will see your position for t=10 as your actual t=0 position, or rather you'll be delayed by the upstream latency on their screen. So, instead I thought perhaps I should extrapolate the remote entities to the time that my inputs would be received (not the current server time, in other words, running the remote agents ahead) then sending the inputs as normal so they'll be processed at that same tick. But then it introduces the problem at the other end. My question is this; how would i run the local agent ahead, and therefore have the inputs arrive "on time" at the server?