games.tommycunningham.uk independent browser arcade
← back to all games
Sandkit game artwork

// sandbox / physics / chemistry

Sandkit

A touch-first falling-sand physics and chemistry sandbox. Blow a sand heap apart with gunpowder, carry a cup of water and pour it without spilling, race wood, ice and metal in a tank, wash the ash off a hearth, boil a pan over a wood fire, throw water on a grease fire (and see why you never should), let a virus loose and rinse it away with soap, and charge a block of Nova with lightning until it goes up.

In development. This one is playable but unfinished. Expect missing artwork, half-built levels and the odd thing that does not work yet.

▶ Launch game

Designed for desktop, mobile, tablet

About the game

Sandkit is a 2D falling-sand sandbox with a real local simulation: conserved amounts, heat and phase changes, a seven-species atmosphere (ordinary air everywhere, so a sealed room's air is finite) with a pressure-driven, buoyant airflow field, liquids with momentum that never hang in the air, dissolution and precipitation, finite combustion that needs oxygen and burns in plain air, movable objects that float or sink by the water's pressure on their faces, and a few clearly fictional hazards that follow their own stated rules.

Everything you see is generated by the simulation at 30 ticks per second. Start from one of the scenes (seven lettered experiments: a normal room, a sealed room, a fire in a room, an oxygen-rich room, a vacuum chamber, a flooding, an ice bath) or a blank world, paint materials with one finger, pinch and pan with two, inspect any cell or creature, and switch on the temperature, pressure or composition overlays to see what is happening.

Worlds are saved in your browser (no account, no server), with checkpoints, undo, and export/import of save files. Installed from the Home Screen it works offline.

Structures you draw can be detached as movable objects: your finger is the handle, so a cup held by its rim hangs and swings. Three small creatures (a stickman, a critter, a bird) breathe the real air at their heads, get warm and cold, run from fire and float in water. Gunpowder, fuse, firework, fuel gas and a fictional explosive block are game models: a lit cell becomes hot gas and the ordinary pressure, heat and breakage rules do the rest. The Air and Vacuum tools set the atmosphere where you paint. Fire heats what it touches: bury a piece of metal in a good fire and it melts, then sets again as it cools; glass, sand, stone and sugar melt too. Water poured on molten metal flashes to steam and spatters. The Mix tool stirs whatever is under your finger, sawdust flares up when lit, and flooded soil and sand turn to mud and wet sand.

The kitchen-chemistry and living-things corner: vinegar fizzes on baking soda (and foams over with washing-up liquid), red-cabbage indicator shows acids and alkalis, lye water and oil make soap when warm, soap carries oil until salt breaks it, chalk burns to quicklime that slakes hot, yeast ferments warm sugar water, wood chars to charcoal, fires leave a little ash that water washes into a slurry and lye, damp straw rots into compost that seeds love, moss creeps over wet stones, and a fictional plant blight spreads, kills or leaves survivors immune until washed off. Five starter experiments show the way.

New in 0.6.0 and 0.6.1: every element has its own colour, and its tile in a simpler picker is that colour with an icon on it that says what kind of thing it is (powder, liquid, solid, gas, a creature, or a special element of its own) (Powders, Liquids, Solids, Gases, Fire & heat, Explosives, Chemistry, Life, Special), and dissolved things tint water so vinegar, lye water and sugar water look different. Heat travels the way you expect: fire under a metal pan heats it until it glows, and the water in it boils and steams; hot things shimmer and cold things frost. Oil in a pan that gets too hot catches fire, and water thrown on it flashes to steam and throws the burning oil out. Three fictional elements: a virus (a purple powder that turns what it touches into more virus, melts, boils and burns away with heat, and is cured by soap), Nova (soaks up heat, lightning and blasts as charge until it flashes white and goes up with everything touching it; it shrinks when cold and swells when hot) and Hydrite (fizzes, heats and pops in water and gives off a gas that lights). Lightning strikes from the sky where you tap. The home screen is a simple game menu, and four new experiments (Kitchen stove, Nova bunker, Hydrite pond, Virus lab) show off the new things.

New in 0.7.0: blasts are pushes, not glowing blobs. A charge's gas and heat go out at once into the open space it can reach, and part of its energy shoves the sand, gravel, water and objects it touches, so heaps are thrown, wood offcuts tumble and the fireball is gone in about half a second; walls shield what is behind them, glass shatters under a sharp blow and metal never breaks. A carried cup holds its contents: lift it, carry it, tilt it with the turn buttons and it pours from its mouth, with every drop still counted. Eight connected experiments (Blast yard, Pour lab, Density race, Ash wash, Heat bridge, Soap separator, Garden window, Pressure room) each open with a card that says what to do first, buttons that do it for you (Ignite, Open gate, Grab cup, Release blocks, Stir, Reset) and what to try next, and the older experiments got the same treatment. Zoom buttons, finder badges for small creatures, a "Try this" suggestion for every element, small effect sprites, and optional sound (off until you turn it on in Settings).

New in 0.7.1: Sandkit checks for a newer version when it opens and installs it straight away if you have not started anything yet, so reopening the app is enough to update.

New in 0.7.2: a new element picker. Every element has its own illustration, the cards are grouped (All, Favourites, Powders, Liquids, Solids, Gases, Life, and More for the rest), and a tap shows an element with a one-line summary before Use selects it.

This is a development build: the simulation and interface are playable, but the game is still being extended.

How to play

  1. Tap Play for a new sandbox, Continue to carry on, or Experiments for a starter scene. The eight Connected experiments (Blast yard, Pour lab, Density race, Ash wash, Heat bridge, Soap separator, Garden window, Pressure room) are a good start: each opens with a card that says what to do first, buttons that do it (Ignite, Open gate, Grab cup, Release blocks, Stir, Reset) and what to try next. Reset puts the experiment back as it was built; Undo brings back where you were.
  2. One toolbar under the canvas: Material opens the picker (every element as an illustrated card; groups All, Favourites, Powders, Liquids, Solids, Gases, Life, and More for Fire & heat, Explosives, Chemistry, Special and Recent; search finds anything; a tap shows the element at the bottom with its star and details, and Use selects it), Tool opens the tool grid, Size the size presets, Pause/Play toggles time (hold it for the time controls: step and 0.25x to 4x speed), Menu holds the rest, including
  3. Zoom: the round buttons at the bottom right zoom in (toward the experiment), zoom out and fit the world. Once zoomed in, two fingers pan and pinch.
  4. Paint with one finger. Two fingers pan and pinch-zoom; a second finger never paints.
  5. Object tool: tap a free-standing solid or drag a box around part of a structure to detach it; drag to carry (it hangs from where you touched), the two nudge buttons turn it 15°, Anchor fixes it, Attach joins touching objects. Erasing through an object cuts it.
  6. Gases: Oxygen, Air and Vacuum change the atmosphere where you paint. Biology: tap to place a stickman, a critter or a bird; Inspect shows how it is doing. Explosives: fuse, firework, gunpowder, the explosive block, Nova and Hydrite; Fire lights them, and Lightning (in Fire & heat) strikes from the sky where you tap.
  7. Top-left: save, copy, export and import worlds. Top-right: temperature, pressure and composition overlays.
  8. Sound is off until you switch it on in Menu, Settings, Sound effects. It plays short cues for blasts, breaks, splashes, steam, fizzing and fire, and goes quiet when paused or in the background.

Credits & rights

© 2026 Tommy Cunningham. All rights reserved.

Simulation, interface, material illustrations, icons and wordmark made for Sandkit; no code or assets from other falling-sand games.

Rigid-body dynamics of movable objects: Planck.js 1.5.0 (MIT licence, Erin Catto and Ali Shakiba), bundled.

Element icons (powder, liquid, solid, gas and the special elements): Font Awesome Free 7.3.1 by Fonticons, Inc. (fontawesome.com), icons under CC BY 4.0, bundled.

Element illustrations: the Sandkit element illustration pack, generated for Tommy Cunningham on 18 October 2026 (free to use, modify and redistribute; see docs/ATTRIBUTION.md).

Experiment icons, effect sprites, the pixel creatures on the finder badges and the twelve synthetic sound cues: the Sandkit fun and realism support pack, made for this project (free to use; see docs/ATTRIBUTION.md).

Service worker runtime: Workbox (Google), MIT licence, bundled by vite-plugin-pwa (MIT).

Water heat and phase data from the NIST Chemistry WebBook; salt and sugar solubility from standard tables. Kitchen chemistry checked against published sources (ash contents, lime calcination and slaking, baking-soda decomposition, red-cabbage indicator colours, yeast temperatures, composting temperatures); quantities are game-scaled. The blight, the virus, Nova, Hydrite and the hazardous materials