This project is part of a series of projects I created during the Intro to Compute Shaders workshop led by Arsiliath. The workshop introduces principles of programming used to model real time organic simulations on the GPU, using Unity and compute shaders (written in C# and HLSL respectively).
This project is my own exploration extending the concepts from one of the class assignments. Physarum simulations are based on a simplified set of principles about how the Physarum slime mold behaves to sense and optimize transport networks of nutrients. In this simplified system, each particle has a pair of sensors, and follows the strongest trail it can find left behind by other particles, while simultaneously leaving its own trail. These trails act like pheromones that guide the particle behavior and allow for indirect communication between particles, leading to interesting complex patterns and behaviors.
In my own exploration, I implemented multiple species of particles with separate pheromone trails that diffuse at different rates. I also allowed the particle behavior to change based on the local conditions of the substrate they are moving through. This leads to even more complex behaviors than are possible in the "basic" form of the simulation.