Oceanshoots is my last major 31.25 fortress, a fairly simple megaproject/experiment fortress set up for one purpose. To create a situation where a dwarf could harpoon whales with ballistae arrows.
It's a bit of a silly goal, but I wanted to see if it was possible.
Challenge #1: Catching whales.
In my earlier fortress where I set up a working sea serpent farm, I learned through trial and error several key points about how to capture non-vermin fish.
First, catching fish works best when you can get the fish to swim onto the cage traps under their own power. Trying to force the fish through a trap array with flowing water is not very effective.
Second, aquatic animals compete with surface animals for the number of groups of wild animals allowed to be on the map at once. Aquatic creatures also seem to be much lower priority when the game decided what group of wild animals to spawn next. If you want to spawn wild animals in the sea, you need to prevent them from spawning on land.
Third, even creatures like sharks or sea serpents will run away from war animals. Strategically placed war dogs can be used to drive fish into your cage traps.
I picked a 4x4 embark site that straddled two savage ocean biomes, to maximize the number of wild sea creatures that would appear. The embark site I picked meant that the dwarves were the only civilization that could reach my fortress, though I didn't realize that at the time I embarked. It didn't really end up making any difference anyway.
After setting up the basics of a self-sufficient fortress, I started making the trap chambers. The embark site was divided vertically by a nearly straight coastline. I dug chambers three tiles wide parallel to the ocean, separated by a one tile wide rock wall. On the side of the chamber facing the ocean I built raising drawbridges, so that the chamber could be sealed off from the ocean. The rest of the chamber was filled with cage traps. After raising the bridges, I channeled out the last line of rock from above to connect the chamber to the ocean.
On the surface one Z-level up, I built a windmill-powered pump to pump water out of the chamber. I also built a wall to prevent dwarves on shore from scaring or being scared by fish near the trap entrances. I also had hoped the wall would block ocean waves, but it was completely useless for that.
The same lever was used to both open and close the trap, and to engage the pump which pumps water out of the chamber. I'd throw the lever one way to let water and fish in, wait for the trap to catch something, then throw it the other way to seal it off from the ocean and drain it so the dwarves could remove the cages and reload the traps.
I built six of these chambers, which covered nearly the entire shoreline from one end of the embark site to the other.
Now the trap wasn't catching much yet, since the local wildlife spawns were being taken up by camels and vultures and other annoying non-aquatic life. Step two was to build raising drawbridges lining the entire edges of the surface. Fortunately the embark site was nearly flat, so I was able to use maximum-length bridges for most of it. This also meant completely sealing the fortress from the outside world. No trade, no immigrants, no liaison. Didn't really matter at this point as I already had a Baroness and a self-sufficient fortress.
After that, I only had to eliminate the last group of camels wandering around on the surface for sea creatures to start spawning. They'd wander around the ocean and eventually get caught in the traps lining the shore.
The traps worked for a bit, until I ended up with a group of fish sitting offshore, not moving. Seems when you get one of those groups that moves in a line, and then catch the leader, the rest of the group gets bugged and doesn't want to move again. To solve this I built a series of platforms over the ocean, where I then stationed war dogs to scare the stuck fish into moving into the traps.
I ended up with these spanning the entire ocean side of the embark, so that there was no place a fish could sit without being in sight of a war dog. The platforms were set up to channel creatures entering the map straight into the cage traps. This worked astonishingly well, groups of creatures would spawn and then almost instantly flee to the shore to be caught. The only downside to the scheme was that I ran through war dogs quickly, they kept getting into fights with sharks and drowning or bleeding to death.
Once I had the platforms in place, the fish catching system was almost too effective. I clear-cut the entire surface of the map repeatedly trying to build enough cages, and had dwarves working non-stop to move cages into storage and load new ones into the traps.
Soon enough I had a dozen whales for the next step, along with dozens of sharks and other fish. I also caught two sea serpents. Both were female, unfortunately. As an experiment I deliberately released one, and made sure it left the map without being recaptured. Later, a second sea serpent appeared, and was caught. This one was male. It appears that the game tracks local biome populations as numbers rather than individual creatures, so you can get a rare creature to reappear with a different gender by releasing it and then waiting for another of that species to reappear.