active: early 2007

Emergent Fish Behavior

From Simple Local Rules

For a class project Tom Batkiewicz and I simulated fish behavior in a physically realistic environment. We were trying to develop a model that was more realistic (in terms of behavior and physical interactions) than boids but simpler than the detailed physical fish model of Demetri Terzopoulos. Essentially, we wanted a model that would allow schools of hundreds of fish in real time with full collision detection on a single core PC, which we achieved.

Our fish model includes a simple box-shaped volume sensor, a global directional bias (i.e. swim forward most of the time), local directional biases (e.g., avoid obstacles, follow friendly fish, avoid predators), and force-based motion control. Our model is very general. For example, instead of avoiding pre-defined obstacles and predators, it processes general object properties like volume and relative velocity. This results in novel behaviors when the fish interact with new objects.

The sensor volume of a single fish
The sensor volume of a single fish
Schooling behavior
Schooling behavior
Obstacle avoidance
Obstacle avoidance
Predator avoidance
Predator avoidance