Ecosystem simulator · iOS & Android
Sand, water, algae, a few daphnia. Then you leave it alone and find out whether it holds. If the oxygen falls, it fell because something in your jar breathed it.
What is actually simulated
Every grain of sand falls, every bubble rises, every alga photosynthesises, one cell at a time. Nothing here is decoration and nothing runs on a timer.
Real quantities, produced and consumed cell by cell. Nothing is on a timer.
Algae stop making oxygen at night. You can watch the curve turn.
Fish die when the water cannot keep up with them. Usually that is your fault.
Sand falls and piles into slopes. Water finds its level. Glass holds. Nothing is scenery.
Built on orb.farm
EcoJar is a fork of orb.farm, the open-source sandbox by Max Bittker (MIT). We kept the engine and the feel — the cells, the light, the day and the night — and rebuilt what happens inside. The same way Shattered Pixel Dungeon grew out of Pixel Dungeon: same bones, different game.
In the original three out of four fish died on contact with plants, at 40–75% oxygen. Now a fish that stops eating lasts about five days, and low oxygen shows on its colour first.
Breathing scales with what is left in the jar, so the night dip is a curve, not a cliff. The starter jar swings about fifteen points a day and holds for two simulated weeks.
Sand settles before anything is planted, so grass actually roots. Five cells of bacteria close the waste loop from day one.
Cherry shrimp that clean the sand and pale when air runs short; snails, duckweed, a moss ball and hornwort that shade, feed, float and shed. None of them is decoration.
Every change is measured against the original in a headless simulator before it ships — three seeds, fourteen simulated days, the same jar. Play the original at orb.farm, read the source on GitHub, or see the full attribution.
The jar, on a phone
Build a jar, watch the oxygen curve, and decide for yourself whether it is a good one.
What is not simulated
Because this simulation does not model temperature. We would rather say so than print a number that means nothing. The same goes for anything else you do not see here: if it is not on the screen, we are not pretending to compute it.
Privacy
The app tells us a handful of things like “someone finished the tutorial”, so we know which parts get used. It never tells us who.