Recently I came up with a system how to animate the fish object in the interface. As we are using html5 as our programming language the animation movements are based on a movement pattern based on x and y coordinates. Those are stored in a database and can be selected randomly. The interface stage is though defined by a pattern which limits the possible movements for each sector. As seen in the image below it is important to design different movements according to the position of the fish.
When the fish moves into one of the corners a curve movement is connected and the fish makes a turn. I think this can be a way to enable a smooth movement.