Quake internet play only became acceptable when client side prediction was implemented, I'm sure it would be better to have real prediction instead of simple interpolation.
What an amazing look into one of the greatest minds in programming!
Thank you for this treasure.
The relevant bits:
I am now allowing the client to guess at the results of the users movement until the authoritative response from the server comes through. This is a biiiig architectural change. The client now needs to know about solidity of objects, friction, gravity, etc. I am sad to see the elegent client-as-terminal setup go away, but I am practical above idealistic.
The server is still the final word, so the client is allways repredicting it's movement based off of the last known good message from the server.
Comments
Quake internet play only became acceptable when client side prediction was implemented, I'm sure it would be better to have real prediction instead of simple interpolation.
https://raw.githubusercontent.com/ESWAT/john-carmack-plan-ar...
What an amazing look into one of the greatest minds in programming!
Thank you for this treasure.
The relevant bits: