Splashery
Grain Garden, a still.
True sizeNoneit has no size
Arcade · Built from a recipe

Grain Garden

A game has no size. It's as big as the screen it's played on.

PlaygroundThe others with no size

Every grain here is one splat, moved by a simple rule sixty times a second.

Shelf
Arcade
Kind
Built from a recipe
Sound
Yes
Licenses
Apache-2.0, MIT, BSD

How to play, in the Playground

Pick sand, water, oil, fire, seeds or stone, then hold and move to pour. Press 3D to tip the box.

Its controls

ControlKindRangeStart
Play or pauseTap
PlayButton
ViewList2 choices2D

About it

Every grain here is one splat, moved by a simple rule sixty times a second. Sand falls and slides off a pile at a slant. Water and oil fall and spread sideways to find their level; oil is lighter, so water sinks under it. Fire flickers upward and dies down to smoke, lighting oil, plants and seeds, and water puts it out. A seed resting by water sprouts a plant that grows up toward the light and sometimes flowers. Stone stays where it is put, for ledges and bowls; Erase clears.

The box has depth. In 2D you see it face on and pour through its whole depth; the 3D button tips it round so the grains show in 3D, still running by the same rules (Q and E turn it).

Sources and credits

Made in Splashery. Its code is MIT.

Libraries

Apache-2.0
Basic Pitch, ONNX (lane Audio piano, October 21, 2026)
MIT
omggif 1.0.10
MIT
ONNX Runtime Web 1.30.0 (its modules)
MIT, Apache-2.0, BSD
PDF.js 6.3.289

Share it

This link opens it in the Playground. To put it on your own page, add the element and one script tag. Every option.

https://splashery.app/play/?toy=grain-garden<script type="module" src="https://splashery.app/play/src/element.js"></script> <splashery-toy toy="grain-garden"></splashery-toy>

Nearby in the collection