ID:162855
 
Besides the movement of the RPG I'm working on being choppy/slippery it also seems to queue up movement so that when I stop using the movement key after holding it down for continuous movement the PC (player character) continues to move.

Is there a way to counter this?

And is there any links to guides/faqs on movement of the PC (player character) when being controlled by the user in regards to speed, choppiness/smooth, etc?
It's called lag. Or a bad Move() proc.
In response to Kaiochao2536
Actually, the default movement in BYOND just isn't very good.
If you for example hit the left arrow key quickly followed by the up key then what will happen is the moving mob will instantly move one tile to the left then begin moving up. Without implamenting some sort of movement delay anyone hitting the arrow keys fast enough can make a mob look like it is doing this for a good few seconds after they have finished hitting arrow keys. You get similar results from just holding down a single arrow key, the mob will continue moving for a short while after the arrow key is released.
And this is all regardless of any lag of any sort. (The game isn't being hosted, so it can't be network lag, and the CPU useage of the game is less than 1%, so you can hardly call that lag)

Anyway, yeah. The best method I have found for fixing this problem is to implament a small movement delay (I use about 1/3rd of a second). And I am pretty sure there is a few movement delay demos on BYOND right now, and they should all help to fix, or at least limit the problem.
In response to The Magic Man
In the main demo list I don't see any, I'm using something by kunark atm that works decently. This has it at a fairly slow speed for what I wanted in my game atm, you can scale it up and down to a point eventually it gets choppy with too much tweaking.

mob/var
speed = 0 //movedelay by Kunark
movedelay = 4

client/Move()
if(mob.speed <= 0)
mob.speed = 1
..()
sleep(mob.movedelay)
mob.speed = 0
else
return


mob/Login()
speed = 0
..()