Flocking Demo

Flocking demo


This program is a simple C++/OpenGL demo of flocking behaviour, as described in Craig Reynold’s seminal paper. It was done as part of a final project for a computer animation course with Dr. Robert Bridson, circa 2002. Unlike the vast majority of other flocking programs around, this one takes place on a 3D landscape.

The original version included some features (including multitexturing, particle systems and collision avoidance) that have been stripped from this version. However, the program does come with interactive sliders that allow you to play around with some of the simulation parameters.

The program does not use an engine, apart from OpenGL. The terrain rendering is done manually, while the animations make use of a very shaky windows BMP parser, as well as a Truspace ASCII format loader. (Engine support was a little less common in 2002).


The software is designed to run on GNU/Linux systems. It requires the use of the FLTK windowing toolkit. I recently (December 2012) built it on OpenSuse, using a 64-bit machine. I hope to make a Windows executable available in the near future.


This is an educational demo only. You might find that it is useful for computer animation or computer game projects. The software is being released without restrictions of any sort.


Update: Sept 9, 2013. I recently built this package on Ubuntu. To build from source, the requirements are: FLTK, X11. This built is for 64 bit machines. The textures will not work properly on 32 bit machines.

  • Executable: a linux executable can be found here.(built Sept 2013)
  • Source: linux source code will be posted shortly.


Visualizing links between boids.




Comments are closed.