A foray into Python coding of Boids algorithm, simulating flocking to study emergent behavior. The three primary variables governing flocking behavior are here varied parametrically with additional control of  entity speed, acceleration, and awareness. Below, entities are bound within a home circle, resulting in radial patterns.
Group alignment is weighted above cohesion, resulting in the tangential patterns below.
The awareness of flock entities is reduced below, such that sub-groups begin to form.
A parametric study offers insight as to how flock behavior changes drastically with subtle variable manipulation. Below, separation, cohesion, alignment, awareness, and acceleration are all subjected to a sensitivity analysis.
Entities can be given a goal to steer towards while maintaining an awareness of other entities within the group. Below, the flock attempts to take on a human form.
The "human" flock is added to a forlorn basement, with each flock entity rendered as a light source.