The fishpond is a CAAT based experiments.
It is a test of building procedurally generated content, in this case fish. Each fish is composed of 4 bezier curves, 2 cubic curves to make the body, and 2 quadric curves to build the head.
Here it is an sketch of the first fish type where its curves can be seen:

This simple curves lead to a rich procedural parameterized fish, where tail width and height, fish width and height, head curvature, etc. can be procedurally set to create many different fish types.
With the very same curves, and only by moving some control points around, new fish breeds can be very easily created. In example, with the following curves setup a sort of fish-cat can be created:

Parameters such as eyes size or fin position, fin size and fin movement are also procedurally set. Also tail movement frecuency and bending angle is parametric.

All these handlers alltogether lead to a really rich result. In addition, every fish on screen follows a cubic bezier path with is as well randomly generated. Here’s a screenshot of the whole result. I’m playing with new fish breeds which will enrich the fishpond with new life forms. Here are two examples of such that new creatures:

An screenshot of the fishpond:

See the fishpond in action.