Visions Of Chaos Boids Tutorial

The idea for the Boids mode comes from the paper Flocks, Herds, and Schools: A Distributed Behavioral Model that Craig Reynolds published in 1987.

The principal of boids is to give a flock of boids (bird-oids) simple local rules to follow that control their movement. Over time these movements based on nearby flockmates lead to the overall flocking behaiour emerging.

These are the rules Craig specified in his paper;

Boids Separation
Separation: steer to avoid crowding local flockmates

Boids Alignment
Alignment: steer towards the average heading of local flockmates

Boids Cohesion
Cohesion: steer to move toward the average position of local flockmates

Using only those three rules can lead to very realistic flocking and schooling behaviours.

Boid Control Settings

Boids

Number of boids - How many individual boids are going to be used. The default 500 gives a decent realtime level on most PCs. Larger number of boids will lead to a slower simulation (you can always create an AVI of the larger boid runs and then watch it back realtime).

Maximum steer force - This sets how fast the boids can turn. Higher values lead to more quick and wiggly turns. Lower values lead too straighter slow turns.

Maximum speed - Top speed that any of the boids can travel at.

View distance - A % of the world size that each boid can see. This determines how many other neighbour boids will be used for the separation, alignment and cohesion calculations.

Wall style - Sets how the edges of the world the boids are in behave. Allows the boids to wrap around the edges of the world or be repelled away from the edges.

Starting flock style - Sets how the initial set of boids should be positioned in the world.

Boid Strength Settings

Boids

As the three changes to the boids' headings are made they can each be weighted by values.

Separation strength - How strong should the urge to separate from nearby flockmates be.

Alignment strength - How strong should the urge to align with nearby flockmates be.

Cohesion strength - How strong should the urge to move towards the middle of nearby flockmates be.

Avoid strength - Sets how strongly boids are repelled from the walls of the world if wraparound is not set.

TipTip: To cancel out the effect of any of the three behaviours, set their strength values to 0. The next few smple images show how the boids react with different strength values.

Boids

Separation=1, Alignment=0, Cohesion=0 - Boids move in an almost random fashion, but do avoid each other.

Boids

Separation=0, Alignment=1, Cohesion=0 - Boids line up in the same direction of each other.

Boids

Separation=0, Alignment=0, Cohesion=1 - Boids clump up together.

Boids

Separation=1, Alignment=1, Cohesion=1.5 - The default strength levels. All three rules working together result in emerging flocking behaviour over time.

If the boids get too clumpy, increase the separation strength and/or decrease the cohesion strength.

If the boids are not forming dense enough flocks, increase the view distance and/or increase the cohesion strength.

All of the strengths work together, so small changes are all that are needed most of the time.

Other Boids Settings

Boids

Background color - Allows any color to be specified as the background.

Boid size - How large the boids will be shown on screen.

Boid shape - Triangular, spherical or hidden. Hidden is good if you want to show the boid trails without showing the boids themselves.

Boids

Leave trails - When checked the paths the boids take will leave trails behind them.

Trail length - How long the trails should be.

Trail thickness - How wide the lines that make up the trails are.

Boids

World size - XYZ dimensions of the world the boids live in. Most of the time the default rectangular world works fine for most screen sizes.

Create AVI frames - When checked allows a movie to be made of the boids simulation.

Boids Examples