Wa-Tor Ecology Simulation (1984)

A classic population dynamics model created by A.K. Dewdney.
The grid is a toroidal ocean. Fish (o) swim randomly and breed over time. Sharks (S) swim around looking for fish to eat. If a shark eats a fish, it gains energy. If a shark doesn't eat for a while, it starves and dies. Sharks also breed if they survive long enough.
These simple rules generate classic Lotka-Volterra predator-prey population waves, where an abundance of fish leads to a shark boom, which then eats all the fish, causing a shark die-off, allowing fish to recover, in endless cycles.