Bay 12 Games Forum

Dwarf Fortress => DF Dwarf Mode Discussion => Topic started by: Hans Lemurson on October 20, 2021, 05:07:38 pm

Title: The land of Milk and Honey: Quest for the 17-day clock.
Post by: Hans Lemurson on October 20, 2021, 05:07:38 pm
I recently decided to do a challenge-fort where my dwarves would consume nothing but animal extracts.  The dwarves will eat cheese, and drink mead.

However, I quickly found that I had underestimated how much cheese my dwarves would be consuming, especially after a large migrant wave.   Honey is also in short supply, since there was only one wild hive on the map!  It's going to be many seasons of hive-splitting before I dare harvest.  Fortunately I've made a nice well for them to drink from.  Mead will have to be carefully rationed to manage alcohol withdrawal.

My attention however has focused on Milking.  Specifically: how can I do as much of it as possible?  I first approached this topic a couple years ago: http://www.bay12forums.com/smf/index.php?topic=172826 , and now I'm revisiting it to try to get maximum yields.

Using a monthly milking schedule, a milkable animal will produce about 12 milk/year.  A dwarf consumes about 8 cheese per year.  Thus each animal will feed 1.5 dwarves.  I embarked with 1 Ram, 5 Ewes, a Nanny-goat, and got lucky that my two wagon-animals were a Mare and a Yak Cow.  I thus have in total, 8 milkable animals, which should be able to support 12 Dwarves.  My first migrant wave brought me up to 15 Dwarves, and I have another wave incoming.  This is...not enough.

I thus need to maximize my milk production.  Monthly Milking isn't good enough.  I need to milk my animals every 20,000 ticks (about 17 days) in order to feed my growing fortress until I get enough lambs to grow my flock.

However, a 17 day schedule is...not easy to achieve.  I've been trying to come up with various schemes to maximize milk production without drowning me in cancel-spam.

Ideas:

Another question is: how can I maximize the growth of my herds?  If I shove all my ewes into a tiny pasture with my ram, will they get pregnant before all the grass is eaten?  Can I encourage love between merchant animals and my Yak and Horse?  I'm looking at major food shortages in the near future and refuse to buy food.

But really I'm mostly interested in ideas for Maximizing Milking More than Monthly and Maybe Managing Mead.
Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: vjek on October 20, 2021, 08:44:38 pm
Only thing I would add is that, as an option, pigs make great sources of milk, and they don't require any grazing area.  Plus, they produce large litters, relatively quickly.
Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: Hans Lemurson on October 21, 2021, 12:58:11 am
I want to only use grazers so that I'm not getting "free food", but large litter sizes are tempting.  But honestly that sounds like more like a meat source than a milk source.

I've done some more careful reading of my logs, and it appears that the "Make Cheese" task is actually taking 3 days to complete!  The full Milk/Cheese cycle is actually taking a fairly stable 4 days to complete (except for the week everybody decided to take a nap).

One Milk/Cheese loop seems like it should be able to keep 4 animals milked regularly, so maybe if I set up 2 of these in parallel, things will go smoothly.  My only concern is that this cycle speed might be subject to change as my cheese-makers level up.  We'll see.

Another idea I had to create a 17 day clock is to use the "Route Stop Depart Condition".  I just noticed that you can delay the departure of the minecart by 1, 2, 3, any number of days you like, including 17!  Now...how can I make a Minecart Route affect a Job condition?
Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: delphonso on October 21, 2021, 02:40:49 am
Hans is going to end up making a minecart-based operating system out of this...
Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: Hans Lemurson on October 21, 2021, 06:47:36 am
Preliminary tests show that: Yes, you can trigger jobs via minecart routes.

I set up a simple track between two stops. 
Stop 1 takes chains from a finished goods stockpile, and departs always every 2 days.
Stop 2 dumps items on arrival and departs always every 1 day.

A -rose gold chain- is dumped onto a stockpile, and sits there for at least 1 day before the minecart is guided back to Stop 1 where the chain will be loaded back in.

A daily repeating "collect clay" job was given an item requirement of "at least 1 rose gold chain".  Messages of "collect clay (1) completed" popped up every 2-5 days.  It's not a perfect timer, since it depends on dwarves hauling (instead of listening to poetry), but It seems to work out right on average.

It's probably good enough to get a "Milk Animal (8)" job to trigger roughly every 17 days to meet my dairy demands with maximal milk.

In further good fortune, the autumn migrant group had only 2 dwarves, so I'm in no danger of overpopulation, and a Reindeer calf from the summer group grew up into a reindeer Cow.  9 milkers for 17 Dwarves.  That's too many for monthly milking to support, but should be do-able with maximized milking.
Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: Hans Lemurson on October 21, 2021, 06:55:21 am
It just occurred to me though that a simpler approach might exist:  Create a monthly milking job with 5 milk orders for every 3 dairy animals.  There'd be a bunch of cancel-spam at first, but I think eventually the milking schedules would split into 3 groups that would get milked every 5-6 days.  ...or maybe there would be eternal cancel-spam. 

Or maybe I just need to go to bed.  Things will make sense in the morning.
Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: anewaname on October 21, 2021, 06:57:46 pm
If you use the 17-day minecart clock, consider having many workshops available only for Milking, so when the order is triggered by the rose gold chain, many jobs are started at the same time. It might help with reducing the overall number of job cancellations each time the order triggers, the idea being that the more jobs that process in serial order, the more likely any interruption will delay a larger group of the still unmilked animals, so try to process as many of the jobs as possible in parallel order.
Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: DwarfStar on October 21, 2021, 08:15:05 pm
At the risk of taking all the fun out of this, why not use the cheese stocks as a clock? In other words, just set up some milking jobs to trigger based on the quantity of cheese left in the fort. If your calculations are correct, they should trigger the milking jobs at the necessary 17 day intervals. And, if your calculations are off, or conditions change, well, then it would adjust production automatically. You'd probably also want a condition stopping the milking job if the available milk becomes too high, in case the cheese production start to lag for some reason.
Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: Immortal-D on October 21, 2021, 09:32:35 pm
Does the cheese making skill affect creation speed?  I seem to recall that cooking & brewing skill makes the job go faster, in addition to improving quality of the former.
Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: Hans Lemurson on October 22, 2021, 03:20:53 am
If you use the 17-day minecart clock, consider having many workshops available only for Milking, so when the order is triggered by the rose gold chain, many jobs are started at the same time. It might help with reducing the overall number of job cancellations each time the order triggers, the idea being that the more jobs that process in serial order, the more likely any interruption will delay a larger group of the still unmilked animals, so try to process as many of the jobs as possible in parallel order.
My plan is to initiate my mass-milking orders from a single task triggered by the -rose gold chain-, since it's less annoying to add "order conditions" than specifying a "rose gold chain" for each one.  And I'll have to add and/or remove "Milk Animal" orders as my her grows (or shrinks).

To avoid work bottlenecks, I have 3 Farmer's workshops in the Pasture, and as the herd grows I can add more to ensure that the whole flock gets milked in one cycle.  Cheese-making is of lesser importance, since dwarves will eat milk.  I think it will be sped up if I allow my milk to be stored in barrels, so that my cheese-makers can work in bulk.  (The Milk/Cheese cycle plan was just to use the Cheese-making as a repeatable delaying order for timing purposes.  But now that I have hauling-route clocks...)

At the risk of taking all the fun out of this, why not use the cheese stocks as a clock? In other words, just set up some milking jobs to trigger based on the quantity of cheese left in the fort. If your calculations are correct, they should trigger the milking jobs at the necessary 17 day intervals. And, if your calculations are off, or conditions change, well, then it would adjust production automatically. You'd probably also want a condition stopping the milking job if the available milk becomes too high, in case the cheese production start to lag for some reason.
That...could maybe work.  Would be stable so long as my cheese consumption never exceeded supply.  Once the milking phases got spaced out then there'd always be at least one animal available when a dwarf nibbles cheese. It should keep dairy reserves stable, but might be annoying to build up a large surplus.  Definite possibility.  Might create cancel-spam if my cheese reserves ever dropped too low, and the animals couldn't make milk fast enough.

It sounds "meta-stable".  (But my dairy animals have never meta stable they didn't like, so hey.)

Does the cheese making skill affect creation speed?  I seem to recall that cooking & brewing skill makes the job go faster, in addition to improving quality of the former.
I...think it does.  I'd be surprised if it didn't.  Cheese has no quality, so the skill has to count somewhere right? 
Haven't actually measured it.  Mostly just been surprised that it took multiple days to complete.

Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: Loud Whispers on October 25, 2021, 03:24:33 pm
This is some big big cheese. Regarding the honey, has the bug been fixed where more than one beekeeper tends to result in beekeepers developing dementia, trying to collect hives/honey that no longer exist?
Title: Re: The land of Milk and Honey: Quest for the 17-day clock.
Post by: Hans Lemurson on October 25, 2021, 04:39:59 pm
Haven't had a chance to play further and find out yet.  I'm still growing my honey-bee population up from a single starting hive.

The good news, is that without any Jugs to hold royal jelly, there have been no accidental honeycomb harvests.