This January, I joined psychobiotik's workshop to explore bio-simulations and compute shader. The idea of getting organic visuals through code invited me to imagine untold stories of evolution through generative art. I spent time learning about cellular automata- a discrete model. Intrigued by the simple rules that each cell follows to decides its state based on the neighborhood, I had to try.
Rule: Each cell remains unchanged until some neighboring cell has a modular value exactly one unit larger than that of the cell itself, at which point the cell copies its neighbor's value. - one dimensional CCA
The concept of cyclic cellular automata was first developed by David Griffeath at the University of Wisconsin and later presented in this paper by Fisch, Gravner and Griffeath '91.
Two dimensional CCA has four important parameters:
Range: This decided the size of the neighborhood under consideration to decide the state of a cell.
No of States: Maximum number of states a cell can perceive
Threshold: Value which is compared with the total count of neighborhood state values exactly one unit larger than that of the cell itself, for deciding state value change
Type of Neighborhood: Moore or Neumann neighborhood
Inspired by the Softology's implementation, I created a program to tweak parameters, along with making it audio-reactive. The program was implemented in Unity with core logic implemented by compute shader. parameters like Range, State, Threshold, and Neighborhood along with the color scheme assigned are connected to audio bands obtained by analyzing audio. The following video is made from the deliberate tweaking of some parameters along with audio connections.