← Multiplayer & simulation

Multiplayer needs fresh state, not a longer queue

Authority ownership, snapshot deltas, interpolation, and the difference between a merged implementation and a qualified capacity result.

From the development archive

Retrospective based on the 24 October architecture audit and 26–28 October implementation evidence. Capacity and cross-device qualification remain scoped to their recorded results.

Four moments from a Windows authority-driven flight-path drone study.
Authority-driven drone study, 19 October 2026. These frames show a gameplay path; they are not a population-capacity benchmark.

Occasional lag is a symptom with several possible owners. Input may wait too long to be admitted. The authority may miss a tick. A transport queue may hold obsolete snapshots. A client may deliberately buffer remote state to interpolate it, or may simply be unable to render the next frame. Increasing one queue cannot resolve all of those cases.

The October multiplayer audit began by naming the existing pipeline. One headless authority owned the scene, Luau rules, physics, possession, and admission. Its documented baseline used a fixed 60 Hz loop and published snapshots every third tick. Clients submitted input and rendered interpolated state. Native and WebRTC transports shared the game-state contract, while retaining different transport mechanisms.

Ownership comes before smoothness

An authoritative model needs a clear answer to who may change a gameplay value. The server validates ownership, finite inputs, sequencing, and freshness. A client can produce a smooth approximation of a remote transform without becoming the owner of that object’s simulation.

Fiedler’s snapshot-interpolation article is useful background for this separation: transmit state, then reconstruct a visual approximation between received samples. The engineering issue in this project is how to retain enough recent information to handle jitter without turning old state into an ever-growing backlog.

Clients send bounded input to one authority; after rules and physics, relevance selection and acknowledged delta snapshots feed separate controlled-player prediction and remote interpolation on clients.
Conceptual single-server flow. Prediction is an optional controlled-player policy; it does not transfer authority or imply a distributed-world implementation. Open the full-size diagram.

The original audit also found a scaling risk in a fixed receive budget. A larger session can produce input faster than a shared intake allowance drains it. The subsequent work introduced bounded per-player inboxes and fairness rather than merely allowing a larger undifferentiated queue. A fresh held input is useful; a long sequence of obsolete held inputs usually is not.

Relevance should reduce work before encoding

The audited baseline built spatial interest and then encoded each peer’s selected state. Later work queried occupied cell ranges directly and followed the controlled actor. That ordering matters because a byte compressor cannot recover CPU time already spent gathering irrelevant state.

Compression has a similar semantic boundary. Acknowledged snapshots provide a baseline; lifecycle identity and generation information must survive omission, removal, reordering, and recovery. Fields that did not change can be omitted, while exact IDs and permission-like values must not be casually quantized.

Fiedler’s compression article is a useful comparison for the relationship between update rate, bandwidth, and representation. Its published example is not this project’s benchmark. OmiLith’s tracker separately calls for measuring capture, serialization, diffing, copying, retained baseline memory, and transport overhead. That distinction prevents a smaller application payload from masquerading as a complete network-cost improvement.

Local response and remote presentation differ

Prediction and reconciliation address the delay felt by a controlled player. Remote interpolation addresses irregular arrival of someone else’s state. Gambetta’s explanation makes the first relationship clear: locally apply input, then reconcile against authority acknowledgements. It does not justify predicting every remote event or replaying arbitrary gameplay on every client.

The work therefore keeps local prediction optional and separate from the remote playhead. Teleports, possession changes, scene replacement, and rejoining are discontinuities. They need explicit resets rather than a smooth line through a physically impossible path. Adaptive interpolation likewise needs declared bounds, warmup and starvation behavior, not a hidden delay that can grow indefinitely.

The reviewed implementation is deliberately narrower than that general explanation. Its opt-in local prediction is a capsule motor sweeping read-only authored static convex boxes. Imported collision, dynamic or kinematic contacts, remote players, and arbitrary possessed vehicles fall back to interpolation. Xbox prediction is not qualified. The flight-scene cover shows authority-driven behavior, not evidence of predicted vehicle simulation.

Read the milestone status carefully

Implementation commits and a cumulative merge exist for the single-server optimization. The audit snapshot also found the corresponding milestone and several acceptance issues still open. Recorded checks include pause/resume behavior and exact snapshot comparisons, but larger capacity qualification remained deferred in the diary.

That is why this note does not advertise a new player limit. A small fast scene, a successful join, and a merged branch answer different questions from a sustained dense population under loss and jitter. Distributed worlds are a separate open milestone with additional ownership, coordination, and durability problems. The single-server improvements create cleaner boundaries for that work; they do not claim it has already happened.

References & further reading

Primary papers and documentation related to the techniques discussed here. Research references explain the background; the article describes implementation and validation at its dated checkpoint.

  1. Glenn Fiedler — Snapshot Interpolation (2014)
  2. Glenn Fiedler — Snapshot Compression (2015)
  3. Gabriel Gambetta — Client-Side Prediction and Server Reconciliation

Have a thought or a question?
I'd love to hear it. ↗