Skip to content
Porter Libby edited this page Feb 25, 2022 · 6 revisions

fishtank sim

Unity version: 2020.3.26f1

Environment

Tank Assumptions: Consistent ambient temperature cycle, Consistent water level, Consistent filter maintinence, 75 liters of water.

Nitrogen Cycle

Carbon Cycle

  • Fish (- oxygen, + co2)
  • Plants (+ oxygen, - co2)

Bacterial Cycle

Nutrient Cycle

General Plans

  • Should fish have happiness?
  • Come up with a SOLID system for units of measurement.
  • Should fish be able to reproduce?
  • System for plants growing dynamically? (simple random patterns?)

Fish Size (Sprite Size)

Three fish sizes small, medium, and large.

Three stages baby, juvenile, adult.

  • small / baby : 32x32 sprite

  • small / juvenile : 48x48 sprite

  • small / adult : 64x64 sprite

  • medium / baby : 64x64 sprite

  • medium / juvenile : 80x80 sprite

  • medium / adult : 96x96 sprite

  • large / baby : 96x96 sprite

  • large / juvenile : 128x128 sprite

  • large / adult : 160x160 sprite

Animation plans

One script for each type of movement that can be easily reused with a few ambiguous variables like speed.

  • Schooling fish (swim with others of same size class)
  • Territorial Fish (avoid others of same size class or larger)
  • Benthic fish (sticks to the bottom mostly)
  • Snail (slow edge bound movement)
  • Water Bug (irratic movement)

Design Plans

  • Each Fish is an entity
  • Each plant is an entity
  • Simulation consists of updating a series of environment parameters each step based on all the other entities
  • Control light
  • Control tank flow (filter bandwidth)
  • Control filter medium (Carbon filter)
  • Control temperature