Currently I have a 2D game in which the player and a computer controlled (non-player) sprite move from point to point collecting tokens in a continuous environment. The player and the non-player sprite are usually moving between two different points at different times, not together. One aspect of this game is tricking the player into believing that they are playing a multi-player game with another person, when in reality the other character is controlled by the computer.
The non-player sprites are currently controlled by a boid algorithm, which results in movement that is very smooth and linear. Since players use arrow keys to control their sprite, the smooth linear movement of the non-player sprites is not particularly convincing for tricking the player into believing the other character is human controlled. Adding random perturbations to the boid algorithm increases believe-ability, but does not exactly look natural.
I feel this should be easy, but for some reason I'm just not seeing it, so here is my question: Is there a simple algorithm for sprite motion between two 2D points that would realistically simulate a human controlling a sprite with arrow keys?