Not sure what it means but it's probably related to the rollback tech in the source 1 engine, which is pretty outdated.
Not sure what it means but it's probably related to the rollback tech in the source 1 engine, which is pretty outdated.
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.
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.
I assume the float they send will have a limit in accuracy however. So really it's not like ticks are 'gone', they're just getting much much smaller.
At the server, client input events exercise some localized net code layer on a purely ad-hoc basis (i.e. serviced in small batches the moment packets are received). Players involved in these interactions could receive immediate updates from the localized, ad-hoc simulation (i.e. "infinite" tick rate).
The global tick is responsible for synchronizing these ad-hoc buckets (i.e. the same player can't die to 2 different kill shots). Rollback would likely be required in some cases, but if the global simulation is ticking at 60hz and the likelihood of a rollback is low, I think it could feel really good.