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.
If my friends didn’t occasionally force me out, I’d have nothing but photos of my dog. But I’d be happy with that too. 🥰