3 ms·
I find it fascinating when different people independently arrive at the same architecture when working on a hard problem like this. In my company we built our o
by giovannibonetti 7mo ago
I find it fascinating when different people independently arrive at the same architecture when working on a hard problem like this. In my company we built our offline-first apps with PowerSync, which has the same idea of optimistic local changes while waiting for the central server to acknowledge the definitive changes. In PowerSync's case, the sync engine reads Postgres replication logs directly.
- tyleo 7mo agoYeah, I'm surprised this pattern doesn't have a more general name. I've also used it to synchronize content for local multi-window editing applications: each window is its own process but routes through one "coordination" process to ensure consistent ordering. Easily solves some cross-process concurrency issues.
- Rohansi 7mo agoIn this case it's just a (transaction/commit) log. Very common in distributed systems, databases, and filesystems.
- Rohansi 7mo agoI misread the question but it could be a read-your-writes consistency of the transaction log!
- munificent 7mo agoIt does have a name: https://en.wikipedia.org/wiki/Client-side_prediction https://en.wikipedia.org/wiki/Client-side_prediction
- tyleo 7mo agoIt's not quite the same since we aren't doing any sort of interpolation. I would acknowledge it's a similar idea though. Perhaps the similarity is one reason we came to this solution as a game studio.