Tree Cellular Automata
Kauri Remm, Aksel Martin Muru, Rasmus Lille
Code repository & runnable releases: https://github.com/murumart/cgiproject
To run the project, download a release from Github and extract the archive and run the executable file. The camera can be moved with WASD/right click/QE.
Description
Multi state cellular automata in 3d that tries to imitate the growth of a tree.
Currently we have the "leaf", "bark", and "flesh" cell types. Each cell in the 3D grid has values for each of the cell types and the highest (usually) value type is displayed on screen. For each pair of cell types we run a matching kernel over the previous generation of cells and populate the new generation according to the values gotten from the kernel (right now a sum).
Simulated on CPU using GDScript as a proof of concept (using a different thread so that it doesn't stall everything), plans to remake this in a compute shader.
Displaying the cell data is through just a ton of box mesh objects that get hidden and shown. Will be doing mesh generation in the future hopefully.

One of the boards from a design meeting.

One of our first working trees

The current simulation results in something like this. Sadly with a lower frame rate as the CPU needs to go through a deep nested loop for each iteration of the cells 😢.