5 ms·
The core benefit of CRDTs is to avoid coordination between parties so they can independently mutate data structures and still converge on the final state. Mult
by manigandham 5y ago
The core benefit of CRDTs is to avoid coordination between parties so they can independently mutate data structures and still converge on the final state.
Multiplayer games almost always have a central game server/service that has authority on state so it already provides the coordination. CRDTs are unnecessary and would be extremely slow and limiting.
- jillesvangurp 5y agoSimilar problems but very different challenges and goals indeed. The main challenge with document editing is avoiding conflicts, correctness and avoiding corruption/data loss. The main challenges with shared game state (which could include very complicated things like modifiable geometry) is scaling it to massive amounts of users with minimal latency and minimizing undesirable/temporary inconsistencies due to people randomly disappearing, having networking issues, etc.
- swagasaurus-rex 5y agoAnother consideration is UDP. Games on anywhere but browsers use UDP because it's fast – no round trip necessary, no acknowledge packets, no waiting on missing ranges to free up data from the buffer. CRDTs need TCP/IP for the guarantee of getting all of the data without data loss. Only when a CRDT is fully up-to-date can you be sure that the resulting data structure is synchronized. This means UDP wouldn't be ideal for communicating CRDTs