The main trick is to devise programs that actually produce changeable behaviors in the agents, so they can be selected for or against.
In breve, one can do a sophisticated version of the Boids simulation, using evolving swarms and the following additional rules:
Seek out food, which randomly teleports around
Feed their friends with excess food
Reproduce when energy (food) hits certain threshold
Die when they run out of energy, or reach maximum age
Land on the ground, rest, fly around again
Mutate in such a way as to improve/reduce reproduction
The breve model initially starts off with 10 Boids, which reproduce and die according to the given rules above. After 6000 iterations, the simulation stops, although depending upon the state of the model this takes an extended amount of time.
Repeated runs of the model showed widely varying results in Boid populations; some models capped at 10 (the default model auto-generates a new Boid whenever the count drops below 10), or zero when the auto-growth code was removed. Other models generated flocks of 50, 60, 100, 200 or more Boids with high levels of “evolution”.
In general, this is quite a sophisticated simulation that would be incredibly difficult to reproduce via other means. In the author’s opinion, this evolving swarms really demonstrate the utility and value of agent-based modeling and toolkits.