ID:118015
 
Resolved
BYOND Version:490
Operating System:Windows 7 Home Premium
Web Browser:Firefox 6.0.1
Applies to:Dream Seeker
Status: Resolved (490.1104)

This issue has been resolved.
Descriptive Problem Summary:
Using the pixel movement built into the 490 beta, using just enough code to make it move in pixels, the mob under player control will change speed drastically.
Numbered Steps to Reproduce Problem:
Using below snippet, hold an arrow in one direction, at some point it will change speed, and then possibly change back to normal.
Code Snippet (if applicable) to Reproduce Problem:
world
fps = 40
mob = /mob/ship

mob
ship
icon = 'blah.dmi'
icon_state = "ship"
step_size = 10


Expected Results:
Mob will move at a constant speed while holding down a movement key.
Actual Results:
Speed changes at random without letting off of key or pressing a different key.
Does the problem occur: Every time.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked?

N/A, Pixel movement wasn't added before 490.

Workarounds: Unknown

I didn't see any drastic changes in speeds like you seem to be talking about, at least offline.

Online, I had to deal with major network delay problems: http://files.byondhome.com/Fugsnarf/Bshaorifjroea.png, which although they resolved my other issue where I talked about it, I don't think they fixed. There's not a lot of information to go off of for it.

As for this, it's subtle, but if you've got the eye for it (and the pet peeves of a perfectionist like me) you can notice slight jumps in speed, whether there are slow downs or speed ups. They don't last long, and it doesn't affect the gameplay much. I can guarantee that it's there, though.

It's much more noticeable when there's a smooth animation and you aren't worrying about the flicking movement state. I fixed that in my Megaman test with no gravity. If you look closely, you can notice the change in speeds: http://files.byondhome.com/Fugsnarf/Megaman%20Files2.zip

I'm not imagining it, I can at least say that, I noticed the same thing on the demo lummox posted with the update. It's not about a smooth animation with this, its just a speed issue.

I suppose the best way to describe it is it goes this fast> . . . .

Then, at random it will go> ........, twice as many moves in the same amount of time.

I don't think it should be a computer issue, I am on a laptop, but its fairly new(only a yearish old), 2 ghzx2 cpu, enough integrated video it should be able to run most any byond game fairly well.
Dot Shot drastically slows down for me once I get about 60 enemies on screen, if its a performance issue.
Fugsnarf wrote:
Online, I had to deal with major network delay problems: http://files.byondhome.com/Fugsnarf/Bshaorifjroea.png, which although they resolved my other issue where I talked about it, I don't think they fixed. There's not a lot of information to go off of for it.

One bug per report; I fixed the collision issue, which was easy to investigate and fix.

As for this, it's subtle, but if you've got the eye for it (and the pet peeves of a perfectionist like me) you can notice slight jumps in speed, whether there are slow downs or speed ups. They don't last long, and it doesn't affect the gameplay much. I can guarantee that it's there, though.

Can you get some debugging info on whether the move commands are actually getting through? I think the issue is an imperfection in the timer loop.
I threw this in:

client/North()
..()
world<<world.time


And no matter what I set fps or tick_lag to I it will skip number occasionally when outputting world.time



EDIT: Nevermind, It only skips for the first few ticks while holding down the movement key, I would assume this is while it registers the keydown+repeat.


EDIT2: Okay, new this is where I don't even know what the check for. I'm still seeing the same behavior I'm trying to report, but the world.time seems to be following the same trend. The numbers outputting from world.time are consistently correct, however I'm watching the mob move and the numbers scroll at the same time, and when I see the mob speed up, the output starts scrolling twice as fast.

This would either indicate my processor is running full bore(which is not the case, I'm showing 10 percent at max) or the ticks are changing speed.
Fixed: Timing discrepancies between the client and server, combined with the client swallowing repeated commands, caused some move commands to get lost. Now the client's over-repeat prevention is based on world.fps.
Issue appears to be completely resolved, thank you.