GeneTank
An aquarium with no last round.
Play to keep the lineage going.

The idea
Two kinds of games
In Finite and Infinite Games (1986), James P. Carse splits play into two kinds. A finite game is played to be won; it has agreed edges, a clock, and a moment when someone is declared the winner and it ends. An infinite game is played so that play can continue. Its players change the rules when the rules threaten to stop the game.
Finite
- Fixed boundaries
- Rules set in advance
- Ends when someone wins
- Looks back at titles earned
Infinite
- Horizons that move with you
- Rules that change as it's played
- Continues as long as anyone plays
- Looks forward to what can happen
Evolution is the oldest infinite game there is. Nothing in it wins. Lineages persist by changing, and every change rewrites the conditions for everyone else. Gene Tank tries to make that something you can hold in your hands for thirty seconds at a time.
You don't win the tank. You become one of the forces it adapts to.
Six ideas, built in
How the tank takes them seriously
No last round
Rounds fade into generations and generations fade back into rounds. Walk away and the tank keeps breeding, grazing, and hunting on its own.
In the tankHorizons, not walls
The tank wraps end to end. You only ever see a window of it; the rest is still evolving off-screen while you watch one patch.
In the tankRules that change
Plants tint the backdrop around them, and plants evolve too. A fish that blends in this generation can stand out a few generations later.
In the tankYou are a pressure
Your net, your multiplying, the predators, and the grazers all do the same thing: decide who breeds. Net what you can see and the tank learns to hide from you.
In the tankForward, not backward
There's no score. The Evolution panel tracks how visibility, speed, hiding, depth, and plant defense drift across every generation.
In the tankOpen to surprise
Bodies are grown from rewrite rules, so a single mutated token can sprout a creature no one designed. Each catch rings a chime that climbs with your streak.
In the tankThe chromosome
Grown, not drawn
Each fish carries 37 genes. One of them, body plan, decides whether it grows as a finned fish or a long ribboned eel; the eels swim in the same gene pool and can crossbreed back. Eight of them are tokens that build an L-system: a rewrite rule applied to the letter F a few times over, then traced by a turtle that turns at the gene's branch angle. The trace is mirrored into fins and a tail that ripple as the fish swims. Tap any specimen below to read its rule, or grow a fresh plate.
And the genome can grow. Mutations duplicate stretches of a rule, invent new rewrite symbols that start as copies of old ones and then drift, and duplicate body segments into chains. Each new symbol takes on a job: spines that make predators let go, frills for sharper escapes, lures that feed a fish at night but glow, and ornaments that win mates but catch every eye. A pickiness gene sets how much a fish cares about a partner's ornaments. Every part costs upkeep, so complexity only builds where it pays. The Evolution panel charts it and spotlights the most complex creature alive.
Tap a specimen to see its rule.
The tank
Hide in plain sight
The far water is one seamless fractal that drifts between smooth washes, streaks, and mottled blotches, softened and hazed so it reads as distance. A row of faint plants, grown from the living flora's own genomes, stands in front of it. A fish's visibility is the distance between its colors and whatever lies behind it, eased when its stripes or spots match the texture and by the darkness of deep water. Rock spires, boulders, and the plants themselves sit in front of the fish, so cover is real.
Predators hunt whatever stands out. So do you. Over generations, the survivors drift toward matching colors, faster bodies, deeper water, and the habit of tucking into plants.
The predators evolve too. Each carries its own chromosome: the hue its eyes are tuned to, acuity, speed, size, night vision, and stamina. The hunters that eat best breed, so their eyes follow whatever colors the fish are wearing. Their eye color shows what they hunt.
And the light turns. Over a few generations the tank passes from day to dusk to night and back. In daylight, a fish hides by matching the color behind it; after dark, color barely matters and only brightness gives a fish away. Long nights favor dim fish and predators with night vision, whose eyes glow in the dark.

How to play
Net. Multiply. Let go.
Explore. Drag, scroll, or use WASD to swim the camera. Pinch, ctrl-scroll, or + − to zoom. The map in the corner shows the whole tank. M toggles the music.
Choose who breeds. Each round lasts 20 seconds by default. Net fish to pull their genes out of the pool. Multiply the fish and plants you like: each tap spawns three young fish from a parent and a nearby mate, or two seedlings. Tap a predator to stun it and spare the fish it's chasing.
Watch it go dark. The lights fade, one or more generations pass, and the tank comes back up on the descendants. A short note tells you who was born, eaten, and netted.
Read the drift. Open Evolution to see the population's traits change over time, or use Look on any fish or plant to read its whole chromosome.
In Tank settings you can lengthen rounds, run up to 25 unwatched generations between them, set up to eight predators, change the length of the day, and raise the mutation rate.
The series
Infinite Games
Classic arcade and table games with the ending taken out.
The ideas on this page paraphrase James P. Carse, Finite and Infinite Games (Free Press, 1986). Read the book; it's short and it will change how you see play.