[17.50] Possible determinism issue involving belts, worms and lag
Posted: Thu Jun 20, 2019 7:23 am
Consider the scenario of standing on a circular belt next to some worms and/or spitters. If standing at the correct radius, one can just stand there indefinitely w/o being hit, as shown below:
As a non-server player participating in MP games, I've encountered a strange phenomenon when lag (be it due to network conditions, the local PC not keeping up, or a combination thereof) is introduced into the mix. What happens is the character appears to stay in one place for more than one tick, causing the worms to shoot directly at the circle, as if the player is in fact standing in place. I noticed this also happens sometimes when standing on the belts and shooting, where the act of shooting appears to decrease the character's movement speed on the belt - allowing the worms to adjust their aim and hit.
It is as though, if player input isn't received in time, they are considered not to move at all (i.e. ignoring the fact they stand on a moving belt). I claim that this is a determinism issue, because no player input is required to know the belt will influence the player's position on the next tick if he's currently standing on it - and this assumption appears to be broken.
Unfortunately I have no idea how to simulate lag locally, so I cannot test whether my explanation is the correct cause of my observations (and whether it's enough to reproduce it), but there's definitely something fishy going on.
As a non-server player participating in MP games, I've encountered a strange phenomenon when lag (be it due to network conditions, the local PC not keeping up, or a combination thereof) is introduced into the mix. What happens is the character appears to stay in one place for more than one tick, causing the worms to shoot directly at the circle, as if the player is in fact standing in place. I noticed this also happens sometimes when standing on the belts and shooting, where the act of shooting appears to decrease the character's movement speed on the belt - allowing the worms to adjust their aim and hit.
It is as though, if player input isn't received in time, they are considered not to move at all (i.e. ignoring the fact they stand on a moving belt). I claim that this is a determinism issue, because no player input is required to know the belt will influence the player's position on the next tick if he's currently standing on it - and this assumption appears to be broken.
Unfortunately I have no idea how to simulate lag locally, so I cannot test whether my explanation is the correct cause of my observations (and whether it's enough to reproduce it), but there's definitely something fishy going on.