Back to the arena
ROLLBACK RELEASE · V0.2.7

Every frame. Both games.

Arena’s online matches now use rollback netcode. Your game no longer waits for your opponent: it plays on, and corrects itself the moment their real input arrives. Your input delay is set once, at the start of every match, from your ping.

Rollback netcode · release v0.2.7

YOUR INPUT DELAY

Set at the start of every match from your ping — then it stays fixed.

When a match starts, Arena measures the ping between the two players and picks each player’s input delay from their own one-way time: as small as the connection allows, from 1 to 5 frames. It then stays the same for the whole match, so your timing never shifts mid-match.

Round-trip ping and the input delay Arena chooses
Round-trip pingInput delay
20 ms1 frame
40–64 ms1–2 frames
135 ms4 frames
150–200 ms5 frames (maximum)
input delay, set from your ping at the start of each match — then fixed
1–5 frames
rewind window of saved snapshots
7 frames
target: a normal frame takes 16.7 ms
60 fps
IP addresses exposed: relay only
0
01 · HOW IT WORKS

Play now, correct instantly.

Each game runs with only a small, fixed input delay. Instead of waiting for the other player, it predicts their input and keeps going. When the real input arrives and differs from the prediction, the game goes back, replays with the right input and catches up — all in the time of one frame.

  1. 01

    A small, fixed delay

    Inputs are applied a few frames later on both games. The delay is set from the ping at the start of the match and stays fixed. That small delay hides most of the trip across the network.

  2. 02

    Predict the opponent

    When the opponent’s input for a frame has not arrived yet, the game predicts it and keeps playing instead of stopping.

  3. 03

    Roll back and replay

    If the real input differs, the game loads a saved state from a ring of snapshots of the last 7 frames, re-runs those frames with the right inputs and continues — in the time of one frame.

  4. 04

    Always identical

    A checksum of every frame keeps both games identical, frame by frame.

A rollback, frame by frame (simplified)

First pass
  1. 1: Confirmed
  2. 2: Confirmed
  3. 3: Confirmed
  4. 4: Predicted
  5. 5: Predicted
  6. 6: Predicted

The real input for frame 4 arrives, and it differs

After the rollback
  1. 3: Load the saved state
  2. 4: Replayed
  3. 5: Replayed
  4. 6: Replayed
  5. 7: Confirmed
Frames 1 to 3 are confirmed. Frames 4 to 6 were played with a predicted input. The real input for frame 4 arrives and differs, so the game loads the saved state of frame 3, replays frames 4 to 6 with the right input, and shows frame 7 on time.
02 · RELAY ONLY

One server. No exposed addresses.

All match traffic goes through the Arena server in the EU (Germany). There are no direct connections between players, so no player ever sees another player’s IP address.

Your IP address stays private

Players only talk to the Arena server, never directly to each other.

No hole punching

No direct connection to negotiate between two homes: the server carries every packet.

Why not connect players directly?

Hole punching is the trick that lets two games connect straight to each other, peer to peer. Arena deliberately doesn’t use it.

  • A direct connection reveals your address

    When two games connect directly, each player necessarily learns the other’s public IP address. A stranger could then target it: flooding your connection during a match (DDoS, “booting”), looking up your rough location and internet provider, or harassing you.

  • Some routers block it

    Routers and NATs that block hole punching would make matches fail, or fall back to a relay anyway.

  • The server sees every match

    With relay only, every packet goes through the Arena server: nobody ever sees another player’s address, and the server can also enforce accounts and match tickets.

The trade-off

The relay adds the path through the server: the ping is player → server → player instead of player → player. That is why the input delay is chosen from the measured round trip.

03 · WHAT CHANGED

Rollback vs the original online play.

The game’s original netcode is delay-based, in lockstep: each game waits for the other player’s input before it moves on. Lag becomes input delay and slowdowns. Rollback trades that waiting for brief corrections.

How the original netcode and Arena rollback compare
AspectOriginal netcodeArena rollback
How it worksDelay-based lockstep: each game waits for the other player’s input.Each game plays on with a predicted input and corrects itself when the real one arrives.
When there is lagIt becomes input delay and slowdowns — for both players.A small delay, set from the ping at the start of the match and then fixed; the rest shows up as brief corrections.
A late or lost packetBoth games wait for the missing input: a stutter or slowdown.The game keeps going on its prediction and corrects those frames when the input arrives.
Keeping both games in stepNeither game moves on without both inputs.Frames are re-run from a saved state; a checksum of every frame keeps both games identical.
Connection and privacyNot part of the netcode itself: it depends on how the connection is made.Relay only, through the Arena server (EU, Germany): no direct connections, no player sees another’s IP address.