The character has a lot of inconsistent jitter when moving diagonally, depending on its subpixel coordinates. If you implement a full physics system with acceleration, friction, rubber bands, variable speeds... that's the correct approach you should expand on. On the other hand, if the character always has a speed of 1px per frame, you should snap his coordinates to the nearest pixel when he changes direction, so the the diagonal movements don't get any orthogonal movement frames.
If it ever matters (think group of bots that often change direction), you can have a smaller adjustment by moving the smallest distance towards the pixel diagonal instead of snapping to a pixel.
[Please log in to post a comment]