Experiments with emergent behaviour in 3D physics ecosystems

The term "boids" comes from a 1987 paper by Craig Reynolds where he demonstrated an artificial life program which simulated the flocking behavior of birds. More info here.

This project started during McGill Physics Hackathon 2019 and took inspiration from Sebastian Lague's Coding Adventure: Boids video. We were mesmerized by the emergent patterns in the flocks of boids (short for bird-oids) and, in particular, the physics forces that were driving these patterns. Our project is a heavily modified version of his here.

We then embarked on the journey to make a realistic 3D simulation of an underwater ecosystem. Our goal was to add onto the original project by modelling boid behaviour via Multi-Agent Reinforcement Learning in the Unity physics engine rather than outright defining boid behaviour. The reinforcement learning agent would be motivated by a predator boid which seeks out the smaller prey boid to eat them.

Check out the website for implementation details and videos!

Jumping fish GIF above.

Built With

Share this project: