Im making procedurally generated fish for an upcoming VR game Deep with Owen Harris. Here is a work in progress video.
All the fish in the video are parameterised, procedurally drawn, and procedurally animated. Each fish is controlled by a number of of simple behaviours such as separation, cohesion, alignment, wander, flee and follow. When the behaviours are combined, a complex system emerges and the fish will flock together. In the system, some of the fish are also programmed to respond to fish of a different type and to the camera. Code on my git: