ID:2123989
 
Resolved
Changing step_size for the eye did not always take effect immediately, and pixel gliding had several more problems.
BYOND Version:511.1350
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 51.0.2704.103
Applies to:Dream Seeker
Status: Resolved (511.1351)

This issue has been resolved.
Descriptive Problem Summary:
Title. It interferes with sub-pixel movement especially.

Numbered Steps to Reproduce Problem:
Title, in action form.

Code Snippet (if applicable) to Reproduce Problem:
world/fps = 20
client/fps = 60
mob
Login()
spawn()
while(src)
step_size = 4
step(src, NORTH, 4)
sleep(world.tick_lag)
step_size = 3
step(src, NORTH, 3)
sleep(world.tick_lag)
step_size = 4
step(src, NORTH, 4)
sleep(world.tick_lag)
step_size = 6
step(src, NORTH, 6)
sleep(world.tick_lag)


Expected Results:
Smooth movement.

Actual Results:
A jerk every time step_size is changed. It is less noticeable when going from a bigger number to a smaller one, but still there.

Does the problem occur:
Every time, everywhere.

When does the problem NOT occur?
Never.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Not sure.

Workarounds:
Don't change the step_size. Ever.

I'm still getting jerkiness in 1350 even without changing step_size.
I need demos on this.
https://puu.sh/qnYhn/36d4f2dbe9.zip
https://puu.sh/qnYmo/6446b1f6b8.mp4 (Dream Seeker, no Daemon)
#include <kaiochao\shapes\shapes.dme>

/*
These are simple defaults for your project.
*/


world
fps = 10 // 10 frames per second
icon_size = 32 // 32x32 icon size by default

view = 6 // show up to 6 tiles outward from center (13x13 view)

maxx = 25
maxy = 25

client
fps = 60

turf
icon_state = "rect"
color = "silver"
New() color = (x + y) & 1 ? "#aaa" : "#bbb"

// Make objects move 8 pixels per tick when walking

mob
icon_state = "oval"
color = "blue"
step_size = 8

obj
step_size = 8
In response to Kaiochao
Funny enough, this is similar to the jumpiness that's always been present with tile gliding. I guess it seems more important for pixel movement because it never happened when we just used higher framerates.
Piggybacking off of Kaiochao:
http://files.byondhome.com/Kamuna/TestCases/ PixelGlideJerkiness.zip

#include <kaiochao\shapes\shapes.dme>

/*
These are simple defaults for your project.
*/


world
fps = 20 // 20 frames per second
icon_size = 32 // 32x32 icon size by default

view = 6 // show up to 6 tiles outward from center (13x13 view)

maxx = 25
maxy = 25

client
fps = 60

turf
icon_state = "rect"
color = "silver"
New() color = (x + y) & 1 ? "#aaa" : "#bbb"

// Make objects move 8 pixels per tick when walking

mob
icon_state = "oval"
color = "blue"
step_size = 8
Login()
. = ..()
spawn()
while(src)
step_size = 4
step(src, NORTH, 4)
sleep(world.tick_lag)
step_size = 3
step(src, NORTH, 3)
sleep(world.tick_lag)
step_size = 4
step(src, NORTH, 4)
sleep(world.tick_lag)
step_size = 6
step(src, NORTH, 6)
sleep(world.tick_lag)


obj
step_size = 8


Strangely, I don't get much jerkiness if any at all without changing step_size. If I do get some, it isn't noticeable.
I got plenty of jerkiness without changing step_size. I've fixed this for movables, but still need to make a change for the eye so it will be consistent.
Lummox JR resolved issue with message:
Changing step_size for the eye did not always take effect immediately, and pixel gliding had several more problems.
I notice a stutter/movement-animation playing when i stop moving for a second, might be related to this