Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Rollback is really the best lag compensation tech we have, trusting a client to a very small degree to tell their state of the world (or rather a delta to current) is much better than most other contemporaries. Call of Duty still divides your RTT by half at the start of a match and rewinds by that much. On connections with asyncronous latency this can be extremely impactful.


I’m not sure your information wrt Call Of Duty is correct.

To my knowledge, the client timestamps their inputs and sends them to the server; the server will then rewind the state of the world to the time of the input before applying it. RTT isn’t an input. Each snapshot from the server includes the server world timestamp of that snapshot; the client will gently lerp its clock to match this per frame.

Source - I’m a COD engine developer the last ~15 years or so.


Oh, I remember you from T5 debug messages. You are most certainly more knowledgable about this topic than me.

My info might be outdated, but I've noticed that on asyncronous routes, there seems to be a large bias that's based on on assuming upstream latency == downstream latency. It might just be the clock not getting adjusted (even most NTP imlementations make this assumption), but it also has been since ~T7 that I even checked. Conditioning the network to add ~40ms to downstream latency could actually reproduce this behavior.

People don't really realize how hard of a problem sub-10ms clock sync can be on cursed networks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: