Thread: Interpolation
View Single Post
Old 01-09-2011, 06:40 PM
12171217 12171217 is offline
Join Date: Jan 2009
Posts: 453
12171217 has a spectacular aura about
Originally Posted by MrOmega View Post
Just wondering the actual performance benefits of this, but if the server guesses where the player will be and he isn't there, does the server take steps to correct this to make it smooth or do it make them 'choppy' even for this correction wouldn't it cause higher lag and Client1->Server->Client2 lag?
I haven't gone as in depth for that much yet. I only do the visual aspect right now. The server doesn't guess where the player will be, and neither does the client. The client knows the old position and the new position, and uses this to find out what could be in between. You really can't have any large error because of that. With extrapolation, the errors are large and obvious (Unless the player accelerates and decelerates slowly, Halo uses extrapolation), which is why I chose to implement interpolation in Graal, where you can change direction instantly.

The "actual performance benefits" should be large, since you can run an NPC on a .5 timeout and have it look just as good as a clientside .05 timeout. The server never "guesses where the player is" in this implementation as doing what the Valve article suggests would require an entire systems rewrite. Classic could implement prediction and interpolation, along with the history-stepping and stuff, with relative ease.
Reply With Quote