A flocking simulation à la Boids:
http://www.vergenet.net/~conrad/boids/pseudocode.html
Play with the various sliders and buttons to change the flocking behaviour.
Note: Requires the <a href="http://www.sojamo.de/libraries/controlP5/">controlP5 library</a>.
The controlP5 library was not properly binding to variables when run as an applet. To fix this I created a number of "setter" functions to bind the sliders/buttons to.