[T1] What exactly does interpolation do?

aNimAL

Contributor
Veteran XX
Some guy is saying I use interpolation when I hit him with the laser rifle. I thought interp was just for cg... any explanations
 
it shows the certain/actual position of your enemies instead of the locally predicted position (due to ping your computer doesn't know the actual position all the time).
 
the interpolate-setting affects the netcode (the way the enemy's position is updated/displayed), so yes.
 
Last edited:
you probably don't know this bew, but it was originally my arena clan that became cK. I'll be damned if i can remember the name of it before, but one of my arena "friends" convinced me to merge with him, and promptly fucked me out of having control. I was the original purple, but I left after a few weeks.
 
Ok, here's the long version:

You get updates from the server every x milliseconds. However, often times the game needs to render frames at a different rate, and it has to decide somehow where to put stuff if it doesn't have "fresh" information about it. Note that this isn't limited to players, it can also affect projectiles and flags.

So, what it does is take the last known speed of the object, and calculates where it will be after a very short time (interpolation time) if it retains that speed. The problem is that this is only accurate if the object does actually move in the same direction at the same speed, which is a very rare occurance.

Reducing interpolation to 0 causes objects to move only when you get info about them from the server. This makes movement appear choppier, and the predictions themselves less accurate. Judging the movement can be easier for some though, as having a large amount of interpolation can make objects look as if they were tugged along on strings instead of going at a somewhat steady rate.
 
just a side not to all this because it's always annoyed me a little...
the whole terms when someone says that "he/she is interpolating!!!" is just misuse of the term. If someone IS interpolating they are not cheating (it's on by default), when someone does not interpolate is when there's a problem. Interpolation is needed by netcode to reduce bandwidth.
 
Kwago said:
just a side not to all this because it's always annoyed me a little...
the whole terms when someone says that "he/she is interpolating!!!" is just misuse of the term. If someone IS interpolating they are not cheating (it's on by default), when someone does not interpolate is when there's a problem. Interpolation is needed by netcode to reduce bandwidth.
Interpolation is not needed to reduce bandwith. You can do that without ip too, only object movement won't be as fluid.
 
Interpolate doesn't take into account velocities or ping. It merely takes the current object position and adjusts it over "interpolate" ms to the new object position when you receive an update.

I believe 64ms was chosen because while Tribes updates at 32ms intervals internally, you only get ~16 updates/second max per object unless you are on a listen server ( 1000/16 = 62.5 ). This means when an update occurs, you will not be caught up to it until 64ms in the future, at which point you will probably get an updated position, leaving you 64ms behind again.

That is what causes the soupy warping that you can notice if you have been using 0 interpolate for a while and go back to 64. The data with 64 interp is not only wrong, but also varyingly wrong as it interpolates from 64ms behind to 0ms behind, and back to 64ms behind when a new update comes.
 
[meph]DooM! said:
Interpolate doesn't take into account velocities or ping. It merely takes the current object position and adjusts it over "interpolate" ms to the new object position when you receive an update.

I believe 64ms was chosen because while Tribes updates at 32ms intervals internally, you only get ~16 updates/second max per object unless you are on a listen server ( 1000/16 = 62.5 ). This means when an update occurs, you will not be caught up to it until 64ms in the future, at which point you will probably get an updated position, leaving you 64ms behind again.

That is what causes the soupy warping that you can notice if you have been using 0 interpolate for a while and go back to 64. The data with 64 interp is not only wrong, but also varyingly wrong as it interpolates from 64ms behind to 0ms behind, and back to 64ms behind when a new update comes.
So everyone should have it set to 0?
 
Back
Top