Skip to content
Skip to aquarium ← stanwood.dev
Vibrant pixel art aquarium with colorful tropical fish swimming through coral and sea plants

PIXEL AQUARIUM

click anywhere to drop food

A little browser aquarium that runs on its own. Drop colorful food pellets, switch the scene, and watch the fish evolve, multiply, and make it theirs.

fish: 0 fed: 0
food:
scene:
🎯 Feed them Click the water to drop pellets. Fish swim toward food and eat whatever's closest.
🎨 Color evolves Pick a food color above and feed consistently. Each meal nudges the fish's hue toward it — keep feeding to breed a whole red tank.
🐣 New arrivals Well-fed fish spawn babies that inherit their parent's colors. Up to 20 fish total.
🐡 Three breeds Classic, angelfish, and pufferfish swim together. Each has a distinct pixel shape.

Meet the breeds

Classic

compact diamond

Short, stocky body with a clean fork tail. The everyman of the tank — quick to dart, easy to spot.

Angelfish

tall leaf

Towering vertical body, twin trailing tail fins. Glides slowly — claims the upper third of the tank.

Pufferfish

round and chunky

Wider than tall, stubby tail, drifting belly. Doesn't chase — pellets come to it eventually.

What the sim cheats

on purpose

A real tank is mostly chemistry and patience. This one keeps the parts that feel delightful and quietly skips the chores.

Perfect water

No cycling, no ammonia, no water changes. The tank stays clear because the simulation wants play, not maintenance.

Impossible overfeeding

Drop food as fast as you like. Pellets are an interaction, not a responsibility, and leftovers vanish before they can become a problem.

One happy habitat

Three pixel breeds share the same water, temperature, and rhythm. Real species are pickier; these just want room to swim.

Behind the Glass

Fish personality

Every fish spawns with four hidden traits: hunger (how motivated it is to seek food), laziness (idle drift frequency), swim speed, and wiggle rate. These are randomized at birth, so each fish moves a little differently — some are lazy drifters, some dart straight for every pellet.

Color evolution

Eating a food pellet lerps the fish's body, tail, and fin colors toward the pellet's RGB value — 25%, 15%, and 10% respectively per meal. A fish needs many consistent feedings to fully shift hue. Drop only red pellets and watch a cyan fish slowly turn coral over dozens of meals.

Three breeds

Classic, angelfish, and pufferfish each have a distinct pixel layout defined as arrays of (x, y) offsets for body, tail, fin, and eye. Left-facing versions are computed by mirroring the right-facing pixels across the fish's width — no separate sprite needed. Tail pixels wiggle via a sine function offset by each fish's timer.

Breeding & spawning

Every 300 frames the tank checks if a new fish should spawn: the population must be under 20 and the fed count must exceed twice the current headcount. Babies inherit their parent's colors lerped 70% toward a random palette — so lineages gradually drift, but family resemblance persists for a few generations.