Everything here, unless otherwise noted, is under licensing terms CC BY-NC-SA 4.0, links to and motivation for which you can read here. You may notice use of the "LAB" logo, which I've written an explanation about here.
Just like with cellular automata, following emergent properties of the system after just programming the behavior of a single unit can get some great results.
For the first two videos, the agents are following "flow fields" that influence them to go in a partcular direction. Read the code here.
For the next two, I have 'spokes' radiating outwards that, in addition to following a "flow field" also repulsed each other when they got closer. Read the code here.
This last one is an interactive one, which I'll soon have up on my website for you to interact with as well. For now, you can see this pre-recording of me interacting with it, as well as what the final image might look like. Read the code here.