500 fish. One cursor. Zero scripts. 🐟
Each fish scans its neighbors every frame and balances three forces: cohesion, alignment, separation. That's it. No animation curves, no keyframes — just emergent behavior.
Move your cursor and the whole school flows around it. Move away, and they re-form like nothing happened.
This is the Boids algorithm — the same one used in movie VFX and game AI. I rewrote it from scratch on raw canvas, optimized with a spatial hash grid so 900 fish run at 60fps.
Each fish has its own tail wiggle phase, so the school never looks like a uniform blob.
12 exposed properties. Customizable color.
Preview: https://kineticparticlescenes.framer.website/preview-schooling-fish
What color would you make them?





