ID:2024478
 
BYOND Version:509
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 47.0.2526.111
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
If you set both client.glide_size and mob.glide_size to 0, and move the mob in a variable rate, (say between 4 and 4-world.tick_lag ds (lag compensation, forgiving up to 1 world.tick_lag of delay from when they could move again to when we get a move command from them)) the client will start to fall behind the mob, catch up, repeat and basically jitter the moment byond misses a tick from overrun. a few seconds later they sync again.

It seems to happen if you manually set glide_size too, but its less noticeable, harder to trigger or pinpoint and only on fractional glide sizes.

It seems client.glide_size doesn't have issues if a tick is missed, but mob.glide_size does.

Right now all of /tg/station's code sets glide_size to 8px, I'm hoping to refactor movement code to get rid of that so we can toy around with more fps rates.

Ideally, there should be a way to just have the client follow it's eye mob's gliding, so they don't get out of sync, kinda like SYNC_STEPS but for the client. I figured this is what client.glide_size 0 does, or at least, should do.
Bumpping, it seems to happen regardless of the steps i outlined

and it happens mainly when switching from south to west as movement direction
Happening here too.
Bump
I'll put this high on my look-at list. If you have any suggestions for ways I can easily force a missed tick, that'd help.
In response to Lummox JR
Lummox JR wrote:
If you have any suggestions for ways I can easily force a missed tick, that'd help.

world
New()
spawn(0)
tick_miss()

proc
tick_miss()
while(world.tick_usage < 210);
spawn(rand(1,10))
.()


That being said, I modified my sight check test case to showcase it: https://tgstation13.org/msoshit/sightcheck.zip

Just move around in the box changing directions until it happens
Bumpty bump