Fishes

Fishes

The class implemented a flocking algorithm for this project, which was pretty interesting. Some people modeled elaborate, life-like fish; I opted for simple little red guys (I learned my lesson after spending so much time on details for the 3D Car only to find that none of it was visible).

The tank is divided into a number of “bins” - instead of keeping track of every other fish in the tank, each fish only knows about other fish in the same bin. The sliders determine how each aspect of the flocking algorithm affects the fish’s movement. Turn down the Fish Avoidance, and they’ll start piling up on top of each other; turn it back up and they’ll immediately swim away from one another.

Later on, we built a collaborative version. Anyone could insert their fish into a single tank, so that several different species with their own traits could happily co-exist. This was just after Director MX 2004 was released and JavaScript support introduced, so the professor’s hadn’t really had any time to build the tank for us to use. No one else wanted to tackle it, so I volunteered and did the fish tank side of it. Unfortunately, showing off that project isn’t currently feasible since I don’t have a Flash Server at my disposal, but trust me when I say it was really cool but a lot of work.