Nilium #1 I think the "player\dirx = Rand (-1,1)" is the reason. You're calling this every loop, so the direction is getting reset every frame, which would cause shaking (assuming the random number didn't somehow turn up 1 the whole time).