Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: The land of Milk and Honey: Quest for the 17-day clock.  (Read 2978 times)

Hans Lemurson

  • Bay Watcher
    • View Profile
The land of Milk and Honey: Quest for the 17-day clock.
« 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:
  • Milk/Cheese loop.  I created two looping orders: Milk Animal and Make Cheese, each requiring the completion of the other, checked daily.  This should result in milking one day, and then cheese-making on the other.  For 8 animals, this should give me a 16 day cycle, which plus a little bit of inherent delay should get me a near-perfect milking cycle.  Unfortunately, it doesn't quite work.  The tasks cycle just fine, but the dwarves don't actually complete 1 task per day.  It works in spurts, but then there'll be a 4-day break, throwing off the whole scheme.
  • Clay Clock.  A second idea is to create a cycle of 17 clay-collection orders.  Collecting clay can be done infinitely, and should go fairly quickly.  I'll end up with lots of extra clay, but there are ways of dealing with that.  It'll be a bit of a pain to set up, and I dread what should happen if I link them up incorrectly, but in theory it should work.  Then again, the Milk/Cheese cycle should have worked.  What will I do if the dwarves dawdle in their muddy duties?
  • Mechanical Clock.  Using minecart loops or filling/draining cisterns it should be possible to create a long clock that will trigger every 20,000 ticks.  But is there a way to get orders to trigger based on mechanical events?  Like, could I have a super-special item like a "rose gold bucket" locked behind a drawbridge that would be inaccessible to the fortress, and thus not be available for item conditions?  Are there other techniques that people know of?

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.
Logged
Foolprooof way to penetrate aquifers of unlimited depth.  (Make sure to import at least 10 stones for mechanisms)
Toughen Dwarves by dropping stuff on them.  (Nothing too heavy though, and make sure to wear armor.)
Quote
"Urist had a little lamb
whose feet tracked blighted soot.
And into every face he saw
his sooty foot he put."

vjek

  • Bay Watcher
  • If it didn't work, change the world so it does.
    • View Profile
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #1 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.

Hans Lemurson

  • Bay Watcher
    • View Profile
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #2 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?
Logged
Foolprooof way to penetrate aquifers of unlimited depth.  (Make sure to import at least 10 stones for mechanisms)
Toughen Dwarves by dropping stuff on them.  (Nothing too heavy though, and make sure to wear armor.)
Quote
"Urist had a little lamb
whose feet tracked blighted soot.
And into every face he saw
his sooty foot he put."

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #3 on: October 21, 2021, 02:40:49 am »

Hans is going to end up making a minecart-based operating system out of this...

Hans Lemurson

  • Bay Watcher
    • View Profile
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #4 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.
Logged
Foolprooof way to penetrate aquifers of unlimited depth.  (Make sure to import at least 10 stones for mechanisms)
Toughen Dwarves by dropping stuff on them.  (Nothing too heavy though, and make sure to wear armor.)
Quote
"Urist had a little lamb
whose feet tracked blighted soot.
And into every face he saw
his sooty foot he put."

Hans Lemurson

  • Bay Watcher
    • View Profile
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #5 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.
Logged
Foolprooof way to penetrate aquifers of unlimited depth.  (Make sure to import at least 10 stones for mechanisms)
Toughen Dwarves by dropping stuff on them.  (Nothing too heavy though, and make sure to wear armor.)
Quote
"Urist had a little lamb
whose feet tracked blighted soot.
And into every face he saw
his sooty foot he put."

anewaname

  • Bay Watcher
  • The mattock... My choice for problem solving.
    • View Profile
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #6 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.
Logged
Quote from: dragdeler
There is something to be said about, if the stakes are as high, maybe reconsider your certitudes. One has to be aggressively allistic to feel entitled to be able to trust. But it won't happen to me, my bit doesn't count etc etc... Just saying, after my recent experiences I couldn't trust the public if I wanted to. People got their risk assessment neurons rotten and replaced with game theory. Folks walk around like fat turkeys taunting the world to slaughter them.

DwarfStar

  • Bay Watcher
    • View Profile
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #7 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.
Logged

Immortal-D

  • Bay Watcher
  • [Not_A_Tree]
    • View Profile
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #8 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.

Hans Lemurson

  • Bay Watcher
    • View Profile
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #9 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.

Logged
Foolprooof way to penetrate aquifers of unlimited depth.  (Make sure to import at least 10 stones for mechanisms)
Toughen Dwarves by dropping stuff on them.  (Nothing too heavy though, and make sure to wear armor.)
Quote
"Urist had a little lamb
whose feet tracked blighted soot.
And into every face he saw
his sooty foot he put."

Loud Whispers

  • Bay Watcher
  • They said we have to aim higher, so we dug deeper.
    • View Profile
    • I APPLAUD YOU SIRRAH
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #10 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?

Hans Lemurson

  • Bay Watcher
    • View Profile
Re: The land of Milk and Honey: Quest for the 17-day clock.
« Reply #11 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.
Logged
Foolprooof way to penetrate aquifers of unlimited depth.  (Make sure to import at least 10 stones for mechanisms)
Toughen Dwarves by dropping stuff on them.  (Nothing too heavy though, and make sure to wear armor.)
Quote
"Urist had a little lamb
whose feet tracked blighted soot.
And into every face he saw
his sooty foot he put."