Real cases

The idea you practise, in a real situation. Choose, see what actually happens, then reflect.

A case · you decide

Lag and the jumping player

Lag — the latency in a teen team's online game

The idea in play: travel time means each screen sees a slightly different world.

In testing at 200 ms latency, the other player's character jumps from spot to spot instead of moving smoothly.

Position updates arrive in bursts. Drawing each one the moment it lands makes the character teleport.

The client always holds the last two positions it received, each stamped with the time it was sent.

What should the team do about the jumping?

Sync two screens →

A case · you decide

Serva and Rollo settle a hit

Serva & Rollo — server authority, working with rollback

The idea in play: one source of truth, and a way to stay fair when an input arrives late.

Player A's screen shows a hit. Player B's screen shows a miss. Both clients insist they're right.

If each client decides for itself, whoever cheats or lags worst wins.

Rollo's job: when an input arrives late, rewind to the moment it was sent, apply it, and replay forward so the result is fair. On a server this is often called lag compensation.

Who decides whether it was a hit?

Sync two screens →

A case · you decide

Ticks and Relay tune the server

Ticks & Relay — a 17-year-old running a small multiplayer game for friends

The idea in play: a faster tick rate costs bandwidth and CPU, and interpolation can make a moderate rate feel smooth.

Kai's game server updates 10 times a second. Players say other characters stutter across the screen. His laptop server is already busy, and his friends' connections are slow.

Ticks knows the trade: 60 updates a second is six times the messages of 10.

Relay knows the other lever: each screen can smoothly draw the in-between positions from the last two updates it received.

What should Kai try first?

Sync two screens →