All Projects → jfgreen → rusty-boids

jfgreen / rusty-boids

Licence: MIT license
Rust implementation of Boids simulation

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to rusty-boids

Boids-2D
My simple, tiny, tidy take on the classical Boids algorithm by Craig Reynolds. #MadeWithUnity
Stars: ✭ 19 (-24%)
Mutual labels:  boids, boids-simulation
nvjob-boids
#NVJOB Simple Boids (Flocks of Birds, Fish and Insects). Flocking Simulation. Free Unity Asset.
Stars: ✭ 55 (+120%)
Mutual labels:  boids, boids-simulation
Compose-boids-flocking
Jetpack Compose Boids | Flocking Insect 🐜. bird or Fish simulation using Jetpack Compose Desktop 🚀, using Canvas API 🎨
Stars: ✭ 36 (+44%)
Mutual labels:  boids, boids-simulation
boids
boids example using Quil and PixiJS
Stars: ✭ 14 (-44%)
Mutual labels:  boids
Flocking
2D Flocking in the Unity3D game engine using Craig Reynolds' boids
Stars: ✭ 31 (+24%)
Mutual labels:  boids
boids
🦢 The boids flocking simulation in Wasm using Ebiten!
Stars: ✭ 56 (+124%)
Mutual labels:  boids
Swarm
Swarm movement simulation
Stars: ✭ 21 (-16%)
Mutual labels:  boids
Rust Doom
A Doom Renderer written in Rust.
Stars: ✭ 2,048 (+8092%)
Mutual labels:  glutin

Rust Boids

This is a 2D boid simulator written in Rust. 🕊

cargo run --release -- -c example-config.toml

Aims:

  • Fast, CPU based simulation.
  • Support as many boids as possible.
  • Render at 60fps on commodity hardware.

This is achieved by using:

  • Approximate "neighbour grid" data structure.
  • Lookup table based FOV culling
  • (In progress) Parameters that expose performance/accuracy tradeoffs to the user.

It also shows how the glutin, gl and cgmath crates can be used together to build a simulation. In particular, it demonstrates the boilerplate needed to do useful work with OpenGL.

A big list of things worth doing or looking into are listed in TODO.md.

Configuring

The simulation parameters can be set via a toml configuration file.

See example-config.toml for an explination of the different parameters.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].