Skip to content

Modeling real-time play

Separate durable game state from ephemeral presence, cursor, voice, and transport events. Use tokens and field-level writes for durable entities, and derive views from them. Define update frequency, conflict scope, clock assumptions, and what happens when a peer reconnects.

CRDTs fit independent placements and mergeable edits. They do not automatically solve authoritative physics, latency compensation, collision ordering, or anti-cheat. Avoid writing every frame to a Chronicle: operation and document growth can become the bottleneck. Batch meaningful game events and plan compaction at a shared disconnected epoch boundary.

Use the relay or hybrid transport for connectivity, not trust. Choose an authoritative server for high-rate simulation, admission, or outcomes that must not be client-authored.