3D Boids Simulation

About Screenshots BBC Talking with Animals Download Related Links

"boids" : cyber birds or bird-oids.

Boids were originally invented by Craig Reynolds and are quite simply a model of the flocking, herding or schooling behaviours observed with intelligent life-forms, especially birds.  The grouping behaviour of boids is produced by three fundamental steering behaviours:

Cohesion: The attraction of the boids to each other.
Alignment: The adjustment of each individual boid's velocity to match up with the rest of the flock's velocity.
Separation: The avoidance of any direct collisions with any other boids.

All the behaviour produced from each boid is a resultant combination of these three individual boid behaviours, within its local environment.  Boid behaviour therefore is a good model of a cellular automaton, where there can be an emergence of group behaviour.  The implementation of the boid behaviours can be varied using very basic or advanced programming techniques.  Basic boids would just inhabit a blank two dimensional plane and follow simple averaging algorithms.  Advanced boids could live in a complex three dimensional environment with obstacles etc.  Their behaviour could be influenced by much finer details, like their field of vision and movement characteristics, which could even be particular to each boid.  This project features three extra optional behaviours:

Land Avoidance: A combination of collision detection and avoidance algorithms.
V-Formation: Without using any pre-designated leaders, the boids adjust their relative positions to form a V-Formation.  Thus naturally producing an emergent leader boid.
Random Behaviour: To generate natural noise and indirection.

Elaboration of boid details can go on and on indefinitely.  But the essence and underlying framework for all boid simulations, is just the deployment of the first three simple rules to produce the complex and fascinating emergent behaviour.

This simulation has been developed using Microsoft Visual C++, the Microsoft Foundation Classes, the C++ Standard Template Library and OpenGL.  Previously it used Direct3D Retained Mode, because early graphics cards did not fully support OpenGL at the time.  It also utilizes multi-threading to allow the user interface to be used without causing any interference to the rendering.  The application is a pure Win32 format, so it works on most 32-bit versions of Windows.  Such as NT4 (with service pack 3 or above) and Windows 2000.  The simulation also works fine with Windows XP and Windows Vista.

Contact details:

Copyright 1999