Big (mosly client-side) change to add client-side prediction and reconciliation.
It does so by updating inputs client-side at the same time they are sent server-side, with the client trying to guess the server tick at inputs arrival (with server correction over time). When the server sends inputs back the client will then recompute all predicted inputs starting from the server position/rotation (reconciliation).
To help debugging, this commit also add "server ghosts", a means of seeing immediate server entities positions in localhost (using another socket), and some (disabled by default) file logging of the entities position and velocity.
Big (mosly client-side) change to add client-side prediction and reconciliation.
It does so by updating inputs client-side at the same time they are sent server-side, with the client trying to guess the server tick at inputs arrival (with server correction over time). When the server sends inputs back the client will then recompute all predicted inputs starting from the server position/rotation (reconciliation).
To help debugging, this commit also add "server ghosts", a means of seeing immediate server entities positions in localhost (using another socket), and some (disabled by default) file logging of the entities position and velocity.