This photo isn’t quite up to snuff (it needs either a fore- or mid-plane subject) , but if I can figure out where I took it (random SF wanderings), I can start stalking it until I find what I’m looking for.
Basic models of flocking behavior are controlled by three simple rules: 1) separation: avoid crowding neighbours (short range repulsion); 2) alignment: steer towards average heading of neighbors; 3) cohesion: steer towards average position of neighbors (long range attraction). With these three simple rules, the flock moves in an extremely realistic way.