This is an implementation of flocking behavior in 3d that I did for my game AI class. It uses a combination of cohesion, separation, velocity matching, and align behaviors. The cubes may represent fish or birds. I used boxes since at the point this video was made I had not yet made a model loader and the rotations were broken.