A patch note says the game “improved rollback netcode.” That sentence can describe a dozen different engineering changes: a rebuilt prediction loop, a lower threshold before the game offers to cancel a bad match, a fix for one-sided rollback, or simply a new input-delay curve. The words are used interchangeably by players and precisely by nobody.
This is the fighting-game half of that vocabulary — the rollback-era terms, what GGPO actually is, and what the numbers on screen mean. The genre-agnostic terms (tickrate, jitter, packet loss) live in our cross-genre netcode glossary, and the frame-level mechanics of Street Fighter 6 specifically are covered in the SF6 frame meter guide.
What this covers: Rollback vs delay-based netcode, GGPO’s origin and limits, input delay frames, spectator lag, ping spikes, and what happens when a prediction is wrong. Why it matters: A patch note claiming “improved rollback netcode” means something specific — and knowing which term changed tells you whether the fix touches your matches. Who should pick this: Anyone reading 2026 fighting-game patch notes, picking an online game to grind, or arguing about netcode in a Discord.
Fast answers
| Term | Plain-English meaning |
|---|---|
| Delay-based netcode | Both clients wait for the opponent’s input before advancing; costs artificial input lag |
| Input delay frames | How many frames your own input is held back to cover network travel time |
| Rollback netcode | The game advances on a guess and corrects itself when the real input arrives |
| Speculative execution | Running the simulation with predicted inputs before they’ve been confirmed |
| Rollback frames | How far in the past the simulation was rewound to apply a corrected input |
| GGPO | The open-source rollback networking SDK, first released by Tony Cannon |
| Determinism / lockstep | Two identical simulations fed identical inputs produce identical results |
| Desync | The two simulations have diverged and no longer agree on game state |
| Spectator lag | A delay deliberately added for viewers so they never trigger a rollback |
| One-sided rollback | Lag that punishes only the player whose clock is ahead |
Delay-based netcode and input delay frames
A fighting game is a deterministic simulation running at 60 frames per second, so one frame is about 16 ms of real time. Locally, both players’ inputs are read on the same frame. Online, the opponent’s input needs to travel, and GGPO’s own documentation notes that typical broadband connections take anywhere between 5 and 150 ms to send a packet — roughly 1 to 9 frames at 60 FPSframerate. How many images (frames) the game shows per second; higher = smoother motion. 60 fps is a common target..
The original answer was to wait. Delay-based (or input-delay) netcode holds your own input back by the same amount of time the network needs, so both inputs “arrive” together and the simulation stays in lockstep. The cost is the name: input delay frames are frames of artificial lag added on top of whatever the network already costs you.
How many? GGPO’s developer guide is blunt that a fighting game can afford very few — “any frame delay larger than 1 can be noticed by most intermediate players, and expert players may even notice a single frame of delay.” Some games let players pick (Skullgirls), while others fix it for everyone: Infil’s netcode history records Killer Instinct and Injustice 2 universally choosing 3 frames with no option to change it.
The failure mode of delay-based netcode is inconsistency, not delay. A spiky connection forces the game to pause and wait, and an adaptive system that raises delay on the fly tends to raise it too late and keep it inflated too long — Infil documents Mortal Kombat X’s delay-based netcode fluctuating between five and 20 frames. That is why the genre moved on.
What GGPO actually is
GGPO is the rollback networking SDK — “Good Game, Peace Out” — written by Tony Cannon, an EVO co-founder. Infil’s history traces its first release to late 2006, when it was a proof of concept for legacy fighting games on emulators; GGPO’s own site dates the SDK itself to 2009, and its documentation calls it the project that “pioneered the use of rollback networking in peer-to-peer games.” It is released under the MIT license.
GGPO’s job is the low-level half of rollback: it tracks inputs from every player, tells your game when a prediction was wrong, when to roll back, how far, and which corrected inputs to re-simulate with. What it does not do is perform the rollback for you. As Infil puts it, the act of actually performing the rollbacks “still falls on the developers” — the engine has to be able to save, load, and single-step its own state, which is why some games, including Killer Instinct, built their own rollback instead of using the library.
That split matters when you read “built on GGPO” or “rollback netcode” in marketing. The library is the referee, not the engine.
The rollback loop, term by term
- Determinism and lockstep. Rollback only works in a fully deterministic engine: given the same starting state and the same inputs, every machine must produce the same next frame. GGPO’s developer guide lists the three hard requirements — the simulation must be fully deterministic, the game state must be fully serializable, and the engine must be able to execute a frame of simulation without rendering it.
- Speculative execution. Rather than waiting for a packet, the game runs the frame immediately with a guess for the remote player. The SDK description defines this as sending inputs “immediately,” providing “the illusion of a zero-latency network.”
- Prediction. The guess itself is deliberately dumb. Rollback netcode duplicates the last known input from the opponent: if they were holding down-back, the game assumes they are still holding down-back. Infil notes this is accurate surprisingly often, because players change direction or press buttons on only a small fraction of frames.
- Rollback. When the real input arrives and contradicts the prediction, the engine reloads the previous game state, applies the correct input, and re-simulates forward to the present. All of this must finish inside a single rendered frame.
- Rollback frames. The distance of that rewind, measured in frames. Guilty Gear -Strive- puts the number on screen during its beta tests and defines it in plain language: “the average number of frames rolled-back during a set period of time,” which “increases when the connection is poor.”
- Desync. Determinism has failed — the two simulations no longer agree. GGPO ships a “sync test” mode specifically to catch this: a single-player session that performs a one-frame rollback every frame and raises an error when the state differs.
- Serialization. Converting the game’s state into a saveable buffer, and restoring it fast enough that rolling back several frames still fits in the frame budget. This is the expensive part of adding rollback to a finished game.
What happens when the prediction is wrong
If the corrected state differs from what the player already saw, they experience the visible artifact: a character snapping position, a move appearing a few frames into its startup, or a hit that looked like it connected rolling back into a block. This is not a bug in the usual sense — it is the correction being honest about the guess.
Two wrinkles deserve their own entries:
Ping spikes. Rollback’s advantage is locality. A delay-based game that panics during a spike may inflate input delay for many seconds afterward, while rollback only rewinds the few frames around the spike. That is why rollback tolerates lossy connections better; the cost, again, is a visible correction rather than a prolonged sluggish feel.
One-sided rollback. If one client’s clock runs ahead of the other’s, only the player who is ahead suffers constant large rollbacks on every input. Infil reports that Tony Cannon theorised this was one of the flaws of Street Fighter V’s rollback system, and that most implementations fix it by briefly pausing the leading player for a frame or two so the trailing player can catch up.
Spectator lag. Spectators do not need to be live. By running viewers 10, 20 or 30 frames in the past, the game has the inputs it needs before it simulates, so spectators effectively run on a fixed delay and never trigger a rollback — and they do not add to the pressure on the two players.
Input delay frames in 2026
Modern rollback games still keep a small fixed delay underneath the prediction, so that many of the opponent’s inputs arrive before they are needed and never force a rollback at all. What differs is who chooses it.
Street Fighter 6 uses an automatic curve rather than a player setting. Infil’s review of the game records the exact thresholds: matches under 100 ms ping add 0 delay frames, 100–199 ms adds 1, and 200+ ms adds 2 — with the catch that crossing a boundary raises the delay and it “never back[s] down again” during that match. Capcom’s director Takayuki Nakayama said ahead of launch that SF6’s rollback was not the same system as SF5’s and that it was built from scratch.
Tekken 8 exposes the choice directly. Harada confirmed prior to launch that rollback was “already installed,” and the shipped game carries a Rollback Setting in the options menu: “Prioritize Fluidity,” which smooths animation at the cost of added delay, or “Prioritize Response,” which reduces that delay in exchange for more visible stutter. Tekken 7, by contrast, shipped with variable rollback rather than delay-based netcode; Harada has said its rollback frame was 3.
| Game | Delay approach | Where the number lives |
|---|---|---|
| Street Fighter 6 | Automatic, ping-based (0 / 1 / 2 frames) | Hidden; rises on ping-boundary crossings |
| Tekken 8 | Player-selectable | Rollback Setting menu |
| Guilty Gear -Strive- | Fixed small delay under rollback | On-screen rollback-frames readout in beta |
Reading a patch note that says “improved rollback”
Once the terms are separated, the sentence resolves into a checklist. “Rebuilt rollback netcode” means new prediction and re-simulation code — an engine-level change, as with SF6. “Adjusted rollback behaviour” can be far narrower: Guilty Gear Strive’s 1.50 notes lowered “the Rollback frames threshold for the ‘Vote to Cancel Match’ button to appear,” which changes when the game offers you an out — not how it predicts.
If you want the mechanics behind the terms rather than the definitions, our rollback netcode explainer walks the prediction loop frame by frame. The practical payoff of understanding any of it is the same: you stop blaming the netcode for a correctable setup problem.