Fish
Fish produce the ammonia the biofilter converts to nitrate for crops. A mature fish can be slaughtered for protein (a cooking ingredient) and a mature healthy fish lays eggs.
This page covers the fish lifecycle: stocking, species, grow-out, biomass load, breeding, the health-to-death model, and slaughter.
Stocking: eggs on water
Stock fish by hand on the water. No menu.
Hold a fish egg (cod, salmon, or tropical), look at a reservoir water block, and right-click. One egg is consumed per click; one juvenile fish joins the tank and appears in the water. Aim into the water, not a specific block face.
Rules:
- The system must be commissioned. See Building a System.
- Works only on a station or a rented room where you have
MODULE_USE. - A stocked fish enters at full health (100%) and zero maturity. Stocking into an existing same-species group pulls the group's average maturity toward 0 and nudges its health toward full.
A stocked fish stays put, never despawns, can't flop onto land (it's pulled back within a second), and won't push you in the water.
Species
Three species, each with its own egg:
| Species | Egg | Hardiness | Notes |
|---|---|---|---|
| Cod | Cod egg | Hardy (1.0) | Widest ammonia tolerance. |
| Salmon | Salmon egg | Baseline (0.5) | Standard hardiness. |
| Tropical | Tropical egg | Baseline (0.5) | Standard hardiness. |
Hardiness widens the ammonia tolerance band (see Health → death). Cod (1.0) tolerates roughly 50% more ammonia before stress than salmon or tropical. The Starter Kit ships cod eggs. Each species drops its own protein when slaughtered (see Food & Demand).
Maturity and size: fry to adult
Each fish tracks maturity from 0.0 (fry) to 1.0 (adult):
- An unstressed fish gains maturity steadily: roughly 30 minutes fry to adult.
- A stressed fish does not mature. While the water is bad (high ammonia, low oxygen, crashed pH), grow-out is frozen and resumes when the water is fixed.
Size tracks maturity:
- Fry render at about 0.4× scale.
- Adults render at 1.0× scale.
- In between, the fish grows smoothly.
Only a fully mature fish (maturity ≥ 1.0) can be slaughtered for protein or lay eggs.
Biomass: load scales with maturity
A fish's effect on the water scales with its maturity. Each fish carries a biomass; the water feels biomass scaled by maturity:
- A fry loads the water at ×1.0 of its biomass.
- An adult loads the water at ×3.0 of its biomass.
The maturity-scaled sum of all biomasses is the tank's live load. It drives:
- Ammonia production, scaling with load.
- Oxygen crowding, scaling with load.
A tank of fry loads the water at ×1 and climbs to ×3 as they grow out, with no change in fish count. Ammonia can roughly triple 20–30 minutes after stocking a batch of fry, purely from grow-out.
Breeding: growing the stock
You breed fish to expand stock; you don't buy population.
A fish lays eggs only when mature (maturity ≥ 1.0) and healthy (health above 50%): roughly one egg per fish per hour. Eggs collect in the system until you gather them by right-clicking the console ("collected N egg(s)").
Collected eggs are the same item you stock with, so re-stock them as fry:
- Stock starter fish (or unpack the Starter Kit's cod eggs).
- Let them grow out (~30 min) to adults.
- Mature healthy adults lay eggs (~1 egg/fish/hour).
- Collect eggs at the console, re-stock as fry.
- Repeat.
> A fish that is stressed or below 50% health won't breed.
Health → death: the buffer
Each fish carries a health value (0–100%) that acts as a stress buffer, not a death counter.
Stress: what drains the buffer
A fish is stressed if any of these is true:
- Ammonia over its safe line. The safe line scales with hardiness: baseline salmon/tropical tolerate about 2.0; hardy cod tolerates about 3.0.
- Oxygen below ~4.0 (fix with the Aerator, see The Nitrogen Cycle).
- pH crashed (pH factor well below its band).
While stressed, health drains. While the water is safe, health recovers, slower than it drains.
Ammonia drain isn't flat: doubling the safe ammonia drains the buffer more than twice as fast. Oxygen and pH stress drain at the base rate. From full health under base-level stress, the buffer drains to empty in about 20 minutes and recovers from empty to full in about 50 minutes.
Death: only at the floor
No fish die until the buffer drains to the floor (~10% health).
At the floor, deaths happen as a fraction per minute: up to half the group per minute (always at least one death at a time at the floor).
The dead-biomass feedback (the death spiral)
Every fish that dies dumps its biomass back into the water as a pulse of ammonia. A dead adult (loaded at ×3.0) dumps a proportionally bigger pulse than a dead fry. The pulse raises ammonia → stresses survivors → drains their buffers → kills more fish → dumps more ammonia: the death spiral (see positive feedback loop). A bigger water pool divides the pulse.
Reading the ♥ chip
The console nametag shows a count-weighted ♥ health chip:
- ♥ green (≥80%): comfortable.
- ♥ yellow (≥50%): stressed and draining. Check ammonia / O₂ / pH at the console.
- ♥ red (<50%, pinned low): at or near the death floor; the console alarm reports whether fish are stressed or DYING (see The Nitrogen Cycle).
- Climbing: recovering.
Stressed fish stop maturing and stop breeding.
Slaughter → protein
Protein is a cooking ingredient, not edible on its own. It's cooked into meals at a Galley (see Food & Demand).
To slaughter, hit (attack) a tank fish. The protein drops on the floor where the fish was (walk over it to pick it up), with a splash effect.
The immature gate: "too young"
Only fully mature fish (maturity ≥ 1.0) yield protein. Fry and juveniles are skipped. You'll get "That fish is too young to harvest, let it grow out first," and the fish is left alive.
(Occasionally you may hit a fish-shaped echo with nothing behind it: "That fish had nothing left to harvest," and it clears away. That's not the young-fish gate.)
A mature fish yields 2 protein per slaughter (hardier strains may yield differently). Each species drops its own protein, which feeds the Food & Demand system.
The nitrogen tradeoff
Slaughtering a fish removes its count and biomass, cutting the ammonia → nitrate stream. The choice per fish:
- Keep it alive → it produces nitrogen and, once mature and healthy, lays eggs.
- Slaughter it → you bank protein but lose its nitrogen contribution.
At a glance
| Thing | How |
|---|---|
| Stock a fish | Hold a fish egg, right-click reservoir water (one fry per click) |
| Best starter | Cod: hardiest, widest ammonia tolerance |
| Grow out | ~30 min fry → adult, if unstressed (stress freezes growth) |
| Size cue | Fish size tracks maturity, small fry → full-size adult |
| Load on water | Scales ×1 (fry) → ×3 (adult) with maturity |
| Get more eggs | Mature healthy fish lay ~1 egg/hr → collect at the console |
| Breeding gate | Slow + only from mature healthy fish |
| Fish death | Buffer drains under stress; deaths only at ~10% floor, then a fast per-minute cascade |
| Each death | Dumps an ammonia pulse → feeds the death spiral (big pool = shock absorber) |
| Slaughter | Hit a fish → protein drops on the floor; only fully grown ("too young" otherwise) |
| Slaughter yield | 2 protein per mature fish (protein = a cooking ingredient) |