So, I have a secure system set up with my character rig that works by sending the key inputs you make to the sever, which they changes the character's velocities and stuff accordingly (i.e. you press Spacebar to jump, W to go forward, etc.). This works as intended, however there can be multiple seconds of lag between when you press the key, and when you see the action happen on your screen.
Visually, my system currently looks like this: Client input > Server interprets input > Server changes character motion > Server sends changes to client and client changes animations based on the new data
This results in a delay depending on server lag and your connection. What I'd optimally like to see is a near instant change on the client, which is then corrected by the server - but because the character uses body objects, determining where it should be corrected to (and how) becomes a problem.
My question is, how can I change this so that the input is much more responsive, while doing it in a way that would be secure (aka not putting all the character movement on the client)?
