0 1 . a u g u s t . 2 0 0 1

b o i d s

.

examples

There are seven example scenarios linked to here. Each page has its own 'sleeve notes' describing what's going on (and what the boids think is going on):

Basic Fellowship
Puppy Dog Obstacle Course
Pecking Hens
Pecking Hens II
Disordered Dropouts
Oddballs & Social Climbers
Crowded Oddballs

Back to ulunum

.

simulated herd instinct

The pages linked to from here contain little simulation models of artificial creatures moving around in a medium, interacting with one another basically by trying to follow or avoid each other. There's nothing very fancy going on here as far as each individual is concerned - it will simply scan its immediate territory for neighbours, decideif it likes them or not, and try to reposition itself accordingly.

Because the neighbours are trying to do the same, this can lead to pleasingly 'organic' flow of the population as a whole - simple rules give rise to complicated patterns. Things get especially interesting in the latter simulations where different groups of 'boids' have different ideas about what the nature of the game is - one group tries to follow another that tries to avoid them. Under these conditions, the population very rarely settles into a repetitive state for long.

These ideas were originally elaborated by Craig Reynolds, who coined the term 'boid'. His site contains a wealth of material, as well as links to many other flocking & swarming simulators out on the web.

Java

The java code generating the animations on the following pages is a small dead-end in my own software tree - I've since moved on to building more generic 3-dimensional versions of these algorithms (the ulu.sim.part packages). But the ones here are still flexible and expressive, and are available as the ulu.sim.boid package. Enjoy them!