Back in the later days of version 40d, there was talk of the farming of Mermaids. Mermaids had an absurdly high value modifier, and although they couldn’t be butchered for meat their bones could be used for crafting. You had to kill the mermaid by air-drowning, since butchering them was forbidden, then wait for its body to rot to bones. Several people started working out techniques for capturing mermaids, and since wild animals could breed in 40d, breeding them in captivity. I don’t know if anyone ever actually built a functioning mermaid farm, despite all the talk. I had a handful captured and living in captivity in a late 40d fortress, but abandoned the project when DF2010 came out.
In DF2010, the rules have changed. Breeding is restricted to domestic creatures - those with [PET], [PET_EXOTIC], or [MOUNT_EXOTIC] tags. Wild versions of those animals will breed, but completely wild, non-domestic animals, including mermaids, never breed in DF2010. Dead animals now rot to a skeleton rather than directly to a pile of bones, and the prohibition against butchering sentienst also applies to processing their skeletons into bones. And finally, mermaids had their value modifier removed, making their bones no more valuable than cow bones. I really have to wonder if that last change was Toady’s intentional response to the idea of mermaid bone harvesting.
With mermaid farming impossible and worthless anyway, where do I turn for expensive and exotic animal breeding experiments? Elephants look very good as a candidate. They have a value multiplier of 5, higher than nearly any other creature. Only hydra and dragons are more valuable, and those are both rare non-reproducible megabeasts. Even the rare and valuable unicorn only has a value multiplier of 4! Elephants are also huge, eight times the size of cows, and can be trained into war animals. And though they aren’t always available, when they are they come in huge numbers.
But although they are a huge winner in every practical way, elephants are boring. They’re too easy. I wanted to try farming something exotic and valuable, and preferably aquatic. Sea serpents fit that role. They have the same 5 times value modifier as elephants, are nearly twice as large, and reach breeding age in half the time. More importantly, they’re aquatic and extremely rare, making the project pointlessly difficult and requiring greatly overcomplicated means to set up a working farm.
The one piece of unavoidable modding I had to do for this project was to change sea serpents from [PET_EXOTIC] to [PET] to work around the bugged Dungeon Master.
Finding sea serpents in the wild:
Sea Serpents exist in any savage ocean. They have a maximum population number of 1, which would seem to put a major damper on getting a breeding population going. I determined with some experiments that this is a per-biome restriction, and if you embark on a site on the boundary between two biomes you can get the populations of both. After a lot of searching I was able to find an embark site which included enough of two different savage ocean biomes, as well as a reasonable land embark site.
One odd effect of this embark site was that diplomats and caravans would sometimes spawn on a line going through the middle of the map. It may be that I created an embark site that was on the edge of some world region boundary, and the region edge was counting as a valid edge tile for unit spawns. It may also have been the case that having an embark site that was across two regions was why I was able to get two sea serpents. I eventually built a wall of statues across my map, placing one every time a unit spawned in the middle of the map, to block this.
Creatures don’t seem to spawn from sea biomes with the same frequency as land biomes. In any embark site there are a limit on the number of groups of animals which can be on the map at once. For some reason, the game greatly preferred to present me with land animals. I would hardly ever see any creatures in the sea, far more often I’d have a few groundhogs or something equally useless on the land instead. Rather than spending years exterminating the land life, I built single tile raising bridges all around the edge of the map and raised them to make map-edge walls. With no available surface tiles to spawn on, only ocean creatures spawned. Oddly, land animals did not spawn in the middle of the map - that strange behavior only seemed present for civilized visitors.
Harvesting the ocean’s bounty:
My initial plan was to set up a scheme where I could drain the entire ocean through a sieve of cage traps into an infinite map-edge drain, with sea creatures being helplessly pulled along by the current into the traps. To accomplish this I hollowed out a chamber under a flat spot of ocean floor. I surrounded the hollowed rectangle with raised drawbridges to block out the ocean, then dug a large tunnel lined with cage traps leading to a drain to the edge of the map. I then punched through the ocean floor from above by dropping an artificial floor. When the bridges were lowered, the entire ocean would drain through the cage-trapped passage. Once creatures had been trapped, I could raise the bridges to stop the ocean and allow the cages to be safely retrieved.
Here's the catcher level. The blue water-filled squares in the center open directly to the ocean. They are surrounded by raised drawbridges, which act as a gate for the seawater. Traps lead to the north, where water drains through grates to a map-edge drain.
This did not work nearly as well as I hoped. Fluid flow in DF is a strange approximation and doesn’t work the way you would expect it to. When I opened my ocean-floor drain the ocean turned into a strange funnel of water, with stubborn little 7/7 deep pockets scattered all over the place. The water was not at all reliable at pushing creatures into my trap, often leaving them to air-drown on the ocean floor instead, and any creature that made it into 7/7 deep water would stubbornly remain there, refusing to move into flowing water. I had to repeatedly open and close the drain to get creatures unstuck, and was more likely to air-drown my quarry or crush them in the drawbridge doors than catch them.
Air-drowning was fine for whales and other bycatch, but I had at most two sea serpents in the wild, and couldn’t afford to kill either of them if I wanted a breeding pair. I realized that instead of forcing my quarry into traps, I had to build traps that they would wander into voluntarily, and that I could then isolate and pump dry for cage retrieval.
The first thing I did was add a second drawbridge to my ocean drain sieve, located between the trap corridor and the map edge drain. I would raise that, then open the corridor to the ocean, flooding the trap corridor. Sea creatures would wander in and get caught in the traps. I’d then seal the corridor off from the ocean, open the drain, and once the water had drained out the cages could be retrieved and the traps reloaded.
This worked better, but relied on sea creatures wandering into the trap corridor on their own, something they rarely did.
My second plan was to take advantage of my ability to drain and fill the ocean on command to build a submerged platform covered with cage traps. I opened my ocean drain and had the dwarves make a constructed floor just under the normal surface level of the ocean, in an area I’d seen ocean creatures swimming across often. I built raising drawbridges all around the platform edges to seal it off from the ocean, and multiple windmill-powered pumps on top to pump the water out when the bridges were raised. I covered the entire interior surface with cage traps. Now with the bridges lowered, ocean creatures could swim freely across the platform and get caught, and once a fair amount of cages were filled I’d raise the bridges and activate the pumps, letting my dwarves go in and claim the catch.
Trap level, platform covered with cage traps and water, surrounded by raised bridges keeping the ocean out. Lowering the bridges lets the water in so creatures can be captured.
Above the ocean, a hole in the water with pumps struggling to pump the water out.
This method could catch sea creatures a lot more quickly, since the traps were placed where they often went on their own. It was a lot more difficult, and dangerous, to build than the under-sea trapped corridor. The platform was in the path of ocean waves, and when the drawbridge walls were raised waves would constantly crash over them and dump water onto the platform. A whole row of pumps had to run nonstop to keep the water out, and even so the construction of the traps were constantly being suspended due to water. A few dwarves died during the construction, either knocked off by waves or standing in the wrong place at the wrong time, and either drowning or falling to their death onto the drained ocean floor. Still, it caught a lot of sea life.
My third plan was based on observing that sea creatures often run right along to coastline for a while, not an unexpected result of their random wandering movement code. I dug a long canal three tiles wide parallel to the beach. The entire side of the canal closest to the water I blocked with raising drawbridges, and the rest I filled with cage traps. I built a few pumps on top, powered by windmill, to drain water from the canal and put it back into the ocean. Then I channeled out the remaining land between the canal and the ocean. The end effect was to have a coast completely lined with cage traps, with a drawbridge barrier I could raise to let me pump the cage trap area dry.
Lower level, corridor full of traps with a raised bridge to the right. Lowering the bridge lets the water and yummy sea creatures in.
Surface level, with the pumps drawing water out into the ocean to the right.
This was my most effective and simplest to build sea creature trap. No dwarves died in the making of it, it was easy to build and maintain, didn’t require building an elevated platform over the ocean or punching holes in the ocean floor, and yet it caught more sea creatures than the other designs. If I was to do this again I’d just built this trap design from the start and not bother with the others.
Between the three different trap systems I’d built I eventually caught two sea serpents, male and female. I also caught dozens of swordfish, marlin, sunfish, halibut, and eel, half a dozen different kinds of sharks, and entire schools of whales, cod, tuna, and bluefish. Hundreds of creatures in all, which I piled up a big ‘bycatch’ stockpile. As far as I can tell, none of them will reproduce, as they all lack the [PET] tag. It’s been mildly amusing to stick cages with whales and great white sharks and such around the fortress, but there’s not much else I can do other than air-drown and slaughter them.
One interesting thing I did learn is that creatures in cages still age. All of these mundane wild animals have maximum lifespans, and all of them were created somewhere in the middle of their lives. As the years have gone by, they’ve been gradually dying of old age. When a wild animal in a cage in a stockpile dies of old age, a dwarf will pick up the cage and take it to the butcher’s shop to butcher the corpse. An animal in a built cage won’t be taken to the butcher’s shop, but the cage will somehow keep the corpse preserved and not rotten until you notice and deconstruct the cage. As the bycatch has been gradually dying of old age, I’ve been getting a steady supply of meat and other butchering products, to the point where I have a ridiculous oversupply of shark and whale and such meat filling my stockpiles. I’m giving the dwarven caravan hundreds of thousands of dwarfbucks of profit in exotic meat roasts every year.
Next: breeding the sea serpents!