Why realtime multiplayer starts with determinism
Rollback netcode is only as good as the simulation underneath it. Here's why Playband is fixed-point and bit-identical from the first tick.
Most multiplayer bugs are not networking bugs. They are determinism bugs wearing a networking costume. Two clients run “the same” simulation, a float rounds differently on one machine, and three seconds later their worlds have silently diverged.
The contract
Playband’s physics core is fixed-point and integer-deterministic. Given the same inputs, every machine produces a bit-identical world state — the same hash, every tick:
client A, tick 1042 → 247100283052063675
client B, tick 1042 → 247100283052063675
That single property is what makes rollback netcode possible. When a late input arrives, we can rewind, replay, and know the result matches what the authoritative peer computed.
What it buys you
- Rollback that actually reconciles. Resimulation lands on the same state, so the correction is invisible.
- Cheap late-join. Snapshots are exact; a joiner replays into the identical world.
- Trustable replays. A short input log reproduces a whole match.
Determinism is not a feature you bolt on afterward. It is the floor the rest of the stack stands on — so we built it first.