In my off time I've written a script to simulate flocking in Octane. It does this by scattering a number of meshes and rotating them to face a certain direction, and applying the Boids rules to them repeatedly. The result is a realistic looking (and very configurable) school of fish, or flock of birds. You can generate the exact same sequence of movements over and over again without storing the translations/rotations - just by keeping the random seed value that you started with. In other words, for a convincing flock/school irrespective of size, it only takes around 32 bytes of storage.
You can make these fish do anything - you could tell them to collectively move over to a certain location, avoid a certain area, etc etc with minimal effort.
I've made a short movie clip of one such animation. I'd like to gauge interest - being a personal project, if there was enough interest I would spend more of my own time developing this into a configurable GUI and make it easier to use, then release it.