3 ms·
Are CRDTs used in multiplayer games? I see a lot of CRDT ideas on collaborative web development stuff but are they really necessary? I think most complex games
by xmorse 5y ago
Are CRDTs used in multiplayer games? I see a lot of CRDT ideas on collaborative web development stuff but are they really necessary? I think most complex games are able to handle updates without them, am I right?
- manigandham 5y agoThe 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