OVERVIEW
Simulating the behaviour of schools of fish using Craig Reynold's flocking model. The flocking model is primarily based on the following principles:
alignment (each fish will try to align itself with neighbouring fish)
cohesion (fish will try to swim / group together)
avoidance (fish are not allowed to bump into one another)
KEY FEATURES
Handling of basic obstacle avoidance (fish will not run through or spawn in obstacles)
School of fish always stays within a bounded region, giving artists more control over their behaviour