Why Nothing Burned in My Falling-Sand Game
I built a chemistry sandbox with 20 reactions and none of them fired. The bug was that fire behaved exactly like the gas it was.
Powder Lab is a falling-sand sandbox I built: 21 materials, 20 reactions, and a lab notebook that unlocks each reaction the first time you cause it. In the first playable build nothing interacted. Drop fire on wood and it floated away. Pour acid on metal and nothing happened.
Fire was the clue. I'd modeled it as a gas, so every tick it rose. Wood burns when fire sits next to it for a moment, and fire never stayed long enough. It drifted straight up and out before the ignition check could pass. The fix was to anchor fire while it's touching fuel, so it burns in place and only rises once there's nothing left to eat.
The same pass turned up two related bugs. Density checks have to know which direction a particle is moving: sinking needs a lighter neighbor below, rising needs a heavier one above. And only gases are allowed to climb into empty air. Without that, liquids levitated.
The guard rail that came out of it is a headless test that drops each reaction's ingredients into a sealed 60×60 box, runs the sim, and reports pass or fail, along with a rendered picture of the box. Simulations fail by quietly doing nothing, so the test has to check that something actually happened.