Started by Arjun Pillai (@latentspace) ·
rollback netcode, explained to myself
6 sources · 52 min down the hole
How I got here
- Started with
- Why do fighting game players care so much about rollback?
- Ended at
- “ggpo rollback open source”
The Trail
- “rollback vs delay based netcode” (google.com)
- Netcode (en.wikipedia.org)
- GGPO (en.wikipedia.org)
- Client-side prediction (en.wikipedia.org)
shooters have been doing a version of this for decades
- “rollback netcode explained fighting games” (youtube.com)
- “ggpo rollback open source” (hn.algolia.com)
What I came away with
Delay-based netcode waits for the other player's inputs before advancing, so every bit of lag turns into sluggish controls. Rollback guesses that the opponent is still doing what they were doing, runs ahead, and if the guess was wrong it rewinds and re-simulates the last few frames. The game has to be fully deterministic, which is part of why it took so long to become standard.
Keep going
- Clippy was built on serious research and everyone still hated it · Arjun Pillai · 6 sources
- every benchmark eventually becomes a training target · Arjun Pillai · 5 sources
- Dota 2's prize pools were crowdfunded by cosmetics · Tomás Rinaldi · 5 sources
- from Deep Blue to AlphaZero to neural Stockfish · Kofi Asante · 6 sources