Comment by setr
4 days ago
>because the current state is the sum of all previous states
I don't think that's true, except for the server? From the client's perspective, the current state is whatever the hell the server thinks is the sum of all previous state. So you generally don't need lossless message passing; you just need to be able to resync periodically, and trying to resend on lost messages is probably a waste of time if you can sync straight to current state
If the client/server were deterministically simulated -- thus every event must be fully represented on both sides to be in sync -- then sure, but I'm fairly positive no MMO does that
That’s not how it works in World of Warcraft though. The server only sends the client the absolute state of the world on login. Then it’s all relative updates. Like: unit X lost 13 hit points. The client derives the current state from that. So UDP is inappropriate because you need things to be ordered.