Fish & Aquarium Simulator
← Project Index Fish & Aquarium Simulator

Fish & Aquarium Simulator

A browser-based aquarium where every fish is procedurally generated by a genetic algorithm -; catch them, breed them, and evolve unique creatures from 56+ genes that control body shape, fins, color, pattern, and behavior.

Archived Started: Jul 2025 Updated: May 2026

Overview

The Fish & Aquarium Simulator is a digital aquarium where the fish aren't drawn -; they're grown. Each one is procedurally generated from a genome of 56+ genes that drive everything about it: body length, height, width and taper; fin sizes; color; pattern; and behavior. You catch fish, breed them, and selectively evolve the population over generations, watching traits recombine and mutate into creatures nobody designed by hand.

It's a loving homage to the classic Maxis title El-Fish -; right down to reading and writing the original 1548-byte ROE ("Rib Of Eve") fish files, alongside a modern JSON format. It also works as a hands-on lesson in genetics and selective breeding, with a teaching guide to match.

How It Works

It's pure HTML5/CSS/JavaScript with no dependencies. The simulation, genetics, and ROE import/export live in an engine module; rendering is delegated to a separate, stateless module that generates each fish, plant, and rock as SVG. A seeded RNG (mulberry32) makes the scenery reproducible from a seed, and the genome decodes into roughly 800 variable parameters across body, fins, color, and behavior.

  • 56+ genes → ~800 tunable parameters per fish, recombined on breeding and mutated on reproduction.
  • Backwards-compatible with original 1548-byte El-Fish ROE files, plus a modern JSON ROE v2.0 format.
  • Several biome presets (planted tank, etc.) that set the water column, lighting, and gravel palette.

Current Status

Archived -; it's a finished, self-contained piece that still runs in any modern browser. It got a touch-up in spring 2026 but the core was built back in summer 2025, and it's parked rather than actively developed.

  • Complete: catch, breed, evolve, save/load fish via ROE, and a documented teaching unit.
  • Pure client-side build, no server, opens straight from the HTML file.
  • Done and dusted -; left as-is unless I get the itch to add new biomes or traits.