Versions of this rig have been used for bird and butterflies. The particles are goaled to a nurbs extruded cylinder which has controls to adjust the path. Animate just the lead locator and the path follows. The path is using the frameCache nodes to offset animation.
All the custom attributes are located on the particles for easy editing:
~ scale per particle.
~ rotate to velocity per particle and banking rotation.
~ goal weight and goal offset per particle.
~ along and around path offset per particle.
~ overall animated noise for fluttery look per particle.
~ proximity avoidance per particle.