A flock of 40 boids obeys five simple local rules โ separation, alignment, cohesion, goal-seeking and obstacle-avoidance. From those tiny rules, complex group behaviour emerges. HumpDay's optimisers tune the five rule weights so the most boids thread an obstacle field and reach the goal. There's no leader and no plan โ just the right balance of urges, and the swarm finds its way.
Set the five urges by hand and watch the flock โ can you get them all there?
5-D problem; each design runs the flock through the obstacle field over a few seeds. Score is the % of boids that reach the goal.
Each row is the best flock a given optimiser evolved โ % of boids reaching the goal. The winning recipes lean on strong obstacle avoidance and enough cohesion to keep the swarm flowing.
| Algorithm | Reached | Designs | Weights (sep/align/coh/goal/avoid) |
|---|---|---|---|
| โ no runs yet โ | |||
Each boid looks only at its neighbours and feels five urges: separation (don't crowd), alignment (match headings), cohesion (stay with the group), goal-seeking (drift toward the target) and obstacle-avoidance (steer around the blockers). The weights on those urges are the only things that change โ and they produce wildly different group behaviour: crank cohesion and the flock clumps and smears into an obstacle; crank goal-seeking and they charge straight into the blockers; too little of anything and they scatter.
The optimiser searches the five weights for the blend that threads the most boids through. The result is an emergent-behaviour lesson: there's no path planner, just a balance of local rules that happens to flow the swarm around the obstacles to the goal. As the search improves, watch a crashing, scattering flock turn into a smooth river of boids.
Reynolds-style boids with goal and obstacle terms โ a toy model of collective motion, not a calibrated flock, but the rule-weight trade-off is the real thing.
If your hyper-parameter searches are heating the Earth, drop this in Cursor or Claude:
Read https://raw.githubusercontent.com/microprediction/humpday/main/SKILL.md and create a project skill from it.