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: