finds.dev← search

// the find

MaxBittker/sandspiel

★ 3,136 · Rust · MIT · updated Mar 2026

Creative cellular automata browser game

A falling-sand cellular automata game that runs in the browser via Rust/WASM + WebGL. The simulation logic lives in Rust compiled to WASM, with a JS/WebGL layer handling rendering and a Firebase backend for sharing creations. It's for developers interested in WASM, cellular automata, or game-adjacent creative coding.

The Rust/WASM split is done right — simulation logic in `crate/src/species.rs` is pure Rust, keeping the hot loop fast and testable. WebGL fluid simulation layered on top of the particle system is a genuinely interesting combination that most falling-sand games skip. The sharing/forking mechanic via Firebase is complete enough to build a community around, not just a tech demo. It comes with a working benchmark runner, which shows the author actually cared about performance.

The architecture is split across Rust, vanilla JS, and TypeScript Firebase functions with no clear boundary documentation — onboarding is rough and `plan.md` in the root is an abandoned TODO file from 2018. Last meaningful activity is years old; the WASM ecosystem has moved and `wasm-pack` workflows have changed, so the build steps may not work cleanly anymore. The custom element system is hardcoded in `species.rs` — the README promises a user-programmable cellular automata API but it was never shipped. Test coverage is essentially zero: `crate/tests/web.rs` is a wasm-bindgen boilerplate stub.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →