Netcode: Interpolation

December 6, 2025

Netcode Articles

Overview - TL;DR

Our time is quantized into ticks; the client sends their inputs on each tick, the server sends state on each tick. However, we don't want the display the world's state in "ticks", each object snapping from state to state. Instead, we interpolate between two states, and extrapolate if need be.

In an ideal world, we would interpolate just enough that the next state arrives exactly when we need it. However, the network doesn't like giving us an ideal world (packet loss, jitter, etc.), so we give ourselves some extra time. If we are running at 100 ticks per second - 10ms per tick - we would ideally have 10ms of interpolation, but we might use 20ms or 30ms instead. We can also extrapolate the last received state, but when we are wrong things look really wrong.

Intro

Hey!


alt text here - an image of (blank)
Text description here. Can be multiple lines too!

More text!

A link to something interesting...

Scroll up to article links