Sandbox cellular automata simulation
The simulation server is written in rust and therefore is cross-platform. The graphical frontend is written in C++ and uses SFML, so it is also cross-platform.
Requires Rust and Cargo.
cargo build --release
cargo run
The client is written in C++ and uses SFML. It is unix-only because of utilization of Unix sockets.
Requires SFML and CMake.
cmake -S . -B build
cmake --build build
./build/nito
- Simulation is implemented on a Rust backend
- Graphical frontend is implemented in C++ using SFML
- Multithreaded frontend and backend
- Flexible frontend window dimensions
- Simulation can vary in size and speed
- Water: falls and spreads
- Sand: falls and piles up
- Wood: stays in place, burns into embers
- Fire: flickers and decay
- Smoke: rises and decays, generated from burning embers
- Embers: generates fire and smoke, decays, turns into charcoal upon contact with water
- Charcoal: stays in place, burns into embers