Flocking is a computer model for the coordinated motion of groups (or flocks) of entities called boids. Flocking represents typical group movement, as seen in bird flocks and fish schools, as combinations of simple steering behaviours for individual boids based on the position and velocities of nearby flockmates.
Flocking is useful for many types of games where groups of things must move in complex, coordinated ways. For instance, this applies to animals, monsters, soldiers, and crowd scenes. Flocking is used in games such as Unreal (Epic), Half-Life (Sierra), and Enemy Nations (Windward Studios).
The Flocking3D application is shown in the two images on this page. It involves the interaction of two different groups of boids: the yellow flock are the predators, the orange ones the prey. Over time, the boids in the orange flock are slowly eaten, although they try their best to avoid it. Both flocks must avoid obstacles and stay within the bounds of the scene.
The coding was carried out by the author and one of his students, Miss Sirinart Sakarin.
The Java and Java 3D techniques illustrated in Flocking3D include: