Ahh, yeah that's how I'd guess it works too (though perhaps multiple servers around the world?) I'd still not expect them to finish storage in the hot loop (ie prevent you from interacting til the storage step finishes). But maybe I'm misunderstanding
-
-
Replying to @Nadagast
But, the db is going to be set up to guarantee a lot of things that would not otherwise be necessary, thus, be a lot slower than necessary.
1 reply 0 retweets 3 likes -
Replying to @Jonathan_Blow @Nadagast
Collaborative editors are a bad example here because they were (at least until "CRDTs" became the fad) built on the "operational transform" model, which means they run off-line and sync, effectively. So the server side does not need to be in the edit loop.
2 replies 0 retweets 11 likes -
Hey Jonathan & Casey, I and
@martinkl build CRDTs for a living, & even convinced ex-Google-Wave engineer@josephgentle to switch from OT to CRDTs. I'd love to help/podcast/explain CRDTs if you need! Especially the best one for live games. https://gun.eco/distributed/matters.html …1 reply 0 retweets 5 likes -
Replying to @marknadal @Jonathan_Blow and
Personally I don't think either are very good so you're on your own there :)
2 replies 0 retweets 2 likes -
Replying to @cmuratori @marknadal and
I have no experience with these, but they look like general abstractions intended to be used in situations where you need to go the other way, and get specific, to achieve good performance.
2 replies 0 retweets 6 likes -
Replying to @Jonathan_Blow @cmuratori and
deadreckoning and all other distsys stuff can be thought of as CRDTs. (I hate jargon, btw) It is just math that makes sure game state does not diverge while latency happens. Casey, what's the alternative? (assuming no centralized server)
1 reply 0 retweets 3 likes -
Replying to @marknadal @Jonathan_Blow and
CRDTs and DR are completely different. Dead reckoning is a prediction algorithm that attempts to guess what information will eventually arrive at the node, and that information is then overwritten by the true information when it arrives...
2 replies 0 retweets 1 like -
Replying to @cmuratori @marknadal and
CRDTs are commutative information groups where new information arriving at a node is aggregated, and that the semantics are such that if the same set of information (in any order) arrives at any node, that node will have the same resulting state.
1 reply 0 retweets 3 likes -
Replying to @cmuratori @marknadal and
For the simplest possible example, an incrementing counter as a CRDT is just the collection of values received, and the state of the CRDT is the sum. Thus, sums arrive in any order, and if any two nodes receive the same set of values, they will (obviously) add to the same sum.
1 reply 0 retweets 0 likes
But a "dead reckoning" counter is a single value that is the current sum, and then an estimate, probably based on the short-term derivative, about what the sum will probably be in a few milliseconds. The correct sum will arrive from an authority, and replace the estimated sum.
-
-
Replying to @cmuratori @marknadal and
These are completely unrelated concepts and share nothing in common.
1 reply 0 retweets 0 likes -
Replying to @cmuratori @marknadal and
They also aren't trying to solve the same problem. CRDTs are trying to solve the peer-to-peer synchronization problem by removing any actual attempt at synchronization. Dead reckoning is trying to reduce the apparent latency of synchronization by using estimated future values.
1 reply 0 retweets 1 like - Show replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.