Boids Simulation

University Project (Year 2)
Windows
C++

View project on GitHub: 

GitHub Repository

In my second year at university, I created a boid simulation without the use of a game engine, using only C++. It features adjustable forces to control the behaviours exhibited by the flock of boids, and utilises techniques such as an octree to help with performance.

 

The project expanded my knowledge of performance optimisation algorithms, and how entity component systems work.

Entity Component System

Each boid is built from several different components to simulate an entity component system approach when creating game objects. These are the transform, model brain, and collider components, each responsible for a different aspect of the boids functionality.

 

Boid Behaviour

The boids use several adjustable forces to control their overall behaviour: separation; alignment; cohesion; wonder.

 

Octree

The project uses an octree, created by myself, to update the boids in batches, helping increase the boid count to several thousand with stable results.

Entity Component System

Each boid is built from several different components to simulate an entity component system approach when creating game objects. These are the brain, transform, and model components, each written by myself and responsible for a different aspect of the boids functionality.

 

Boid Behaviour

The boids use several adjustable forces to control their overall behaviour: separation; alignment; cohesion; wonder.

 

Octree

The project uses an octree, created by myself, to update the boids in batches, helping increase the boid count to several thousand with stable results.