3 ms·
I think the symmetric delay here makes sense, since you're trying to simulate the latency of a (likely) symmetric connection between another client and the serv
by chabons 4y ago
I think the symmetric delay here makes sense, since you're trying to simulate the latency of a (likely) symmetric connection between another client and the server.
If you only add latency on the transmission, then 2 actions taken at the same time by players with different amounts of physical latency will be processed at different times. If we assume the game clocks on each client and the server are in sync, then this creates a competitive advantage for the player with lower physical latency. For instance, if we have a timing battle (ie: Zhonya's hourglass), where both players know that at time 'T' they must each take an action, and the first to do so comes out on top, then the player with higher physical latency is at a disadvantage.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- bcrosby95 4y agoYou can accomplish this by putting it all on the client, all on the server, or a mix of both (what they chose). For all on the server, you could add latency right after receiving data from the client, but before game code processes it, and before sending data to the client. That said, there likely were technical considerations involved in their decision to do a mix of both.
- chabons 4y agoThat's a good point, I hadn't thought of having independent send a receive delays on the server, simulating a delayed connection from the client's perspective without having it participate. I now wonder too what those technical considerations are, since having the client add latency requires trusting the client to add the delay and not cheat.
- deleted 4y ago[deleted]