Lightning Bug category: typeof:synchronization There are multiple approaches to the sync, from sutble adjustments to complete resets. The very simplified model involves having each node maintain an excitement level which builds over time, and once it reaches a given threshold causes the node to flash (and reset the level). If a node is nearby a neighbour that flashes, the flash causes the node to also fire (and reset the excitement level). This slowly moves the nodes closer together over time. Original simplified model proposed by Richmond in 1930 source: Richmond, Carl A. "Fireflies flashing in unison." Science 71.1847 (1930): 537-538. cite;-f:1;https://zero.sci-hub.se/2227/40b764e0b2b3a5c769160823430c5ca4/richmond1930.pdf Although there was a hnt on this approach in 1915 source:https://www.nature.com/articles/096411a0 There were many incorrect theories involving random happenstance (gusts of wind) or leader-based protocols. These persisted until well into the 1930s: http://people.math.gatech.edu/~weiss/uploads/5/8/6/1/58618765/buck_synchronous_rhythmic_flashing_of_fireflies.pdf Implementation Details While I believe this approach could work strictly with pheromones, I have only implement this using a k-nearest-neighbours / quadtree based approach to find the neighbours within a given range (therefore providing a more top-down approach than would be nice in the model). Further Reading source: http://fiumsa.edu.bo/docentes/mramirez/RAMIREZ18%20%282%29.pdf source: https://sci-hub.se/https://dl.acm.org/citation.cfm?id=965421&dl=ACM&coll=DL source: https://sci-hub.se/https://www.jstor.org/stable/24950352 data:image/png;base64,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