--- title: >- Visualization 6 description: >- Eat your heart out, Conway! series: viz tags: tech art ---

Bottom Layer

Top Layer

This visualization is essentially the same as the previous, except that each layer now operates with different parameters than the other, allowing each to exhibit different behavior. Additionally, the top layer has been made to be responsive to the bottom, via a new mechanism where the age of an element on the top layer can be extended based on the number of bottom layer elements it neighbors. Finally, the UI now exposes the actual parameters which are used to tweak the behavior of each layer. Modifying any parameter will change the behavior of the associated layer in real-time. The default parameters have been chosen such that the top layer is now rather dependent on the bottom for sustenance, although it can venture away to some extent. However, by playing the parameters yourself you can find other behaviors and interesting cause-and-effects that aren't immediately obvious. Try it! An explanation of the parameters is as follows: On each tick, up to `maxNewElements` are created in each layer, where each new element neighbors an existing one. Additionally, on each tick, _all_ elements in a layer are iterated through. Each one's age is determined as follows: ``` age = (currentTick - birthTick) age -= (numNeighbors * neighborBonusScalar) age -= (numBottomLayerNeighbors * layerBonusScalar) // only for top layer ``` If an element's age is greater than or equal to the `ageOfDeath` for that layer, then the element is removed.