I noticed the diagonal movement is faster than the vertical/horizontal movement. If that's not intentional, you probably want to normalize the direction vector after adding up the axis.