Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 ... 6

Author Topic: Food need preferences now too strong  (Read 16846 times)

PatrikLundell

  • Bay Watcher
    • View Profile
Food need preferences now too strong
« on: January 27, 2016, 05:03:32 am »

This suggestion is in the borderline territory of bug reports.

Most of my fortress' dwarves are badly distracted due to a lack of decent meals. My understanding is that this means they haven't had their lark tongue or whatever favorite food desire they have fulfilled.
As it stands, it's impossible to fulfill most dwarves' food desires since there's absolutely no way to get hold of the items, either locally or via trade.

I'd suggest the decent meal distraction to be toned down to be satisfied at least by varied lavish masterworks meals for now, with favorite items allowing satisfaction to be gained with poor, unvaried fare containing the item.

I can see a few ways to expand on the mechanisms in the future:
- Some dwarves might actually require their favorite food or get distracted (as the current behavior) based on some additional condition [requirement strength enum?] (and the corresponding description. Rather than "prefers to consume" it would be something along the lines of "craves" or "requires", probably in red).
- The required food system (as per the current implementation) would work if the food categories requires were sufficiently broad to be reasonably possible to fulfill, such as red/white meat, fish, vegetables, fruit, etc.
- If a trade system where you could actually order anything that was provided by anyone in a transitive trade network was implemented, I could easily see nobles starting to require their truffles or they'll get distracted (as the system currently works), while the main fortress population shouldn't require their desires to be fulfilled (could of course be tied to starting scenarios: a diplomatic outpost may very well have much higher standards than a prison colony).

Edit:
I've tried to watch dwarves in my fortress to figure out how they actually behave regarding the food item need (I looked at all dorfs bringing meals to my tavern tables (and through it to the library) for about a month).
- I've seen a dorf with a preference for rye beer go and get a goblet in on place in the food stockpile and then make for the rye beer barrel a fair bit away in said stockpile. That indicates they're actually able to select what to drink based on preferences.
- Most dorfs who have a preference for drinks available (but without access to their food items, if any) have no or only mild issues with a lack of decent food (two were badly distracted, which I chalk up to dwarven ineptitude: There are dorfs who are badly distracted due to failure to pray to their gods, despite ample down time, temples available to each gods, and an omni temple on top of that). This indicates ingesting any of the favorite items will satisfy the "meal" need.
- I've seen turnip lovers who actually grab turnips to eat. I've got one case where a lover of some other vegetable had a meal without any ingredients of interest, but the two plants in stock might have been harvested after the meal was selected.
- I've only been able to find a SINGLE case where a dorf had a preference for a meal ingredient I actually have available. The moron selected an egg roast when two rutherer meals were available, with an unknown number of meals having rutherer as secondary ingrediets available. There was another case with a preference for something that might be included in some meal, but I've no idea how to find out. It wasn't in the roast selected.
- The two points above leads me to guess dorfs are able to find raw ingredients matching their preferences, but not cooked meals with preferred ingredients as either primary or secondary ingredients. The meals guesses are rather weak, though.

- There are lots of preferences for stuff that I MIGHT be able to provide, such as seeds (that cannot be eaten raw), various flours, dwarven syrup,... However, the current system require significant amounts of micro management to split source materials into different streams for different usages if you want to ensure all of it doesn't happen to end up in one stream because the dorf(s) dorfing the other production stations were off praying, reading, or socializing. Seed cooking requires constant vigilance to ensure all seeds aren't cooked, etc. I'm aware DFHack provides plugins that provide some of this functionality, but after weird job loss bugs all over the place from using workflow (I think that's the one), I'm wary of DFHack automation.
« Last Edit: March 14, 2016, 09:56:18 am by PatrikLundell »
Logged

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: Food need preferences now too strong
« Reply #1 on: January 27, 2016, 10:30:57 am »

Have you tried cooking?  My guess is that a masterwork roast made of tallow and cat would satisfy most dwarves.

If not, you can always mod their IMMODERATION to be lower.

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Food need preferences now too strong
« Reply #2 on: January 27, 2016, 12:21:50 pm »

I've got 10000 units of roasts, a lot of them masterworks, from a number of different ingredients (most various kinds of meat, though), so yes I have, and no, it doesn't satisfy the buggers. It did in 0.40.X, but the changed need system destroyed that, hence the suggestion. It can be noted that my fortress is over 20 years old, so it might be that it takes some time for the effects to build up.
Logged

vjmdhzgr

  • Bay Watcher
  • Hehehe
    • View Profile
Re: Food need preferences now too strong
« Reply #3 on: January 27, 2016, 03:38:14 pm »

Yeah, I've noticed the exact same thing. My last two 0.42 fortresses were filled with dwarves who claimed to have not had any decent meals in a long time, but I had two legendary chefs constantly cooking lavish meals in one of those fortresses, and still had one in the other fortress. The requirements for this really need to be lowered because it is pretty much impossible to effectively satisfy most of your dwarves' food needs without paying attention to every single one's preferences and ordering them from caravans. Which is just far too much work for something so simple.
Logged
Its a feature. Impregnating booze is a planned tech tree for dwarves and this is a sneak peek at it.
Unless you're past reproductive age. Then you're pretty much an extension of your kids' genitalia

Crandal

  • Bay Watcher
    • View Profile
Re: Food need preferences now too strong
« Reply #4 on: January 27, 2016, 04:32:24 pm »

I think the food issue is less that they don't have their favorite food, and more that if you keep any raw foodstuff lying around, it has an equal chance to get eaten as masterwork roasts from the greatest chefs in the world.  Dwarves don't discriminate until they finish eating, whereupon they find that strawberry they had instead of a goat meat roast seasoned and cooked with wine to exquisite perfection is actually not very 'decent'.  The only real solution I can come up with is to have so many chefs and such a food surplus as to be able to quickly turn any raw foods into prepared meals and booze before anyone tries eating the plump helmet.
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Food need preferences now too strong
« Reply #5 on: January 27, 2016, 05:11:34 pm »

@Crandal: In vanilla, immediately processing everything isn't really possible, since all orders have to be placed manually (on repeat) in the workshops and then disappear when out of input material. The manager can only handle a max of 30 of each, which is pitiful for this usage.
A better work around would probably be to use a mess of burrows such that only the cook and the brewer have access to the raw materials (e.g. using mine cart quantum stockpiles), and my experience with normal burrows and civilian alert ones is that the civilian alert one overrides the individual ones so the buggers are free to roam within the civilian alert area to places normally off limits when under siege.

With such a harsh need system they definitely need(!) to search for desired food, but it won't get you far, given the very small set of random things (compared to the complete selection in existence) caravans happen to bring you. You can order stuff from your own civ only, and dwarves aren't known for their great fishing, exotic cattle keeping, or tropical fruit gathering abilities (and good luck getting sun berries unless it's on your embark: elves only bring fruit, not berries, and I've never seen humans bring it. I doubt it's possible for dwarves to have it either).
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Food need preferences now too strong
« Reply #6 on: April 07, 2016, 07:14:53 pm »

Reviving this to throw in my own idea, which I was going to start, myself...

It is downright insane that a dwarf can be born knowing his favorite food is giant red panda, especially when no giant red pandas exist in that world (no chaotic temperate forests).

What we really need are "Flavor Profiles".

The old expression that something "tastes like chicken" is not just a joke, it's real. There are actual scientific studies done on it.  Fact is, most mammals outside a few outliers like cows taste much the same as most birds.

In fact, many of our vegetables are often bred for either distinct flavor or at least a distinct texture.  Most herbs and spices are actually poisonous weeds to which humans happen to have an immunity, and those poisons turn out to be really tasty when diluted over some otherwise bland meat.

What I propose is that, instead of having an insane system of picking exactly one type of meat or vegetable out of a list of hundreds of animal and plant types, of which a player will rationally be capable of providing maybe two dozen, DF instead have a system of flavor "coordinates".  These could be as simple as a set of 2+ numbers that could be something like 0-255.

Then, we assign each type of food item a set of coordinates on that chart.  In the interest of not having a crazy amount of work to do, this could be a one-time random generation of numbers within a given range, so that similar foods are near similar foods on this graph.  There should be some guidance, so that onions don't taste like eel, but one could, in general, set up the flavor profile so that anything that "tastes like chicken" might be something around 30, 130, 130, 20, with a range of about plus or minus 20 from those numbers. Then, the "typical green vegetable" might be 200, 160, 100, 100, with a plus or minus 30 from those numbers. Citrus fruits might then be 120, 200, 220, 180 with a plus or minus 35. (This example has each coordinate meaning something like "bitter", "sour", "sweet", and "strongly flavored", respectively.)

Dwarves then pick three to five coordinates for "likes", and then one or two for "dislikes", and then, "nearby" foods from those coordinates are chosen as the favored foods.  If some animals have very similar flavor profiles, then they'll all be very likely to land in the same dwarf's "preferred food" zone at the same time, which would mean that as DF starts adding more and more creatures into the game, this continuing problem of preferred foods becoming less and less likely to actually exist in the game would be countered into perpetuity, as dwarves simply "like" more foods as more foods become available.  The inclusion of dislikes would similarly add some flavor (no pun intended) to the food procurement process, as picky eater dwarves would help with the problem of two-food fortresses just barely getting around that one-food minimum we had previously.

These could be part of the raws permanently once chosen, so that a procedural generation of flavor profile only needs to be run once, unless you're generating procedural plants and animals, in which case, you'll still have a program capable of telling you that blizzosaurians do, in fact, still taste like chicken.  Alternately, it could be regenerated every world from some sort of variable flavor profile system similar to how values are now variable for human civs.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Admiral Obvious

  • Bay Watcher
  • Novice Wordsmith
    • View Profile
Re: Food need preferences now too strong
« Reply #7 on: April 07, 2016, 09:56:10 pm »

snip

I quite like that idea actually.

I personally love spicy foods, but can't stand sour foods. If each one of those flavor preferences can be assigned a number, then that would probably actually work out well.

I guess specific likes could still be kept. Like Urist particularly likes Eels for some reason, giving a greater happy thought. Although eating something that tastes like  eel could work too for a lesser happy thought.

Maybe there could be a field for "new things". Urist has never eaten Yeti before. Turns out he liked it. He should get a happy thought from trying a new thing. Same could be held true for new things that Urist really doesn't like after trying it. It probably would be more mild than liking a new thing, but that might be based on that personality trait similar to tradition or ambition.
Logged
"I have a rock here for you.  No animals or plants died bringing you this rock.  How fast do you want me to throw it at you?"

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Food need preferences now too strong
« Reply #8 on: April 08, 2016, 03:11:28 am »

NW_Kohaku's suggestion makes a lot of sense, with the main drawback being the assignment of taste coordinates, as I believe most foods aren't defined as RAWs (I haven't checked, though), but rather derived, so pig liver might have more in common with cow liver than with pig meat, for instance. It ought to be possible to come up with a system for deriving coordinates, though, but there's still a lot of work to assign coordinates to everything that originates as RAWs.
Spiciness, however, is generally low on most things, as spices are added during cooking, as people don't eat e.g. salt and pepper (not referring to the capsicum peppers here) as individual dishes. Thus, I think that dimension fits better with cooked meals (and probably won't have a chance to make it in there until cooking recipes are added).

Flavor isn't all either, since texture plays a part as well (I know a person who really dislikes mushrooms on that ground, for instance).

I agree with Admiral Obvious that trying new things ought to give novelty seekers and elves (see the great natural sights of the world, and eat them!) a good feeling, which foreign haters and tradition bound ones would dislike it (but both may still like dislike the thing tried based on its own merits, but biased).
Logged

Libash_Thunderhead

  • Bay Watcher
    • View Profile
Re: Food need preferences now too strong
« Reply #9 on: April 08, 2016, 09:26:03 am »

Most of my fortress' dwarves are badly distracted due to a lack of decent meals.
I'm not having this problem at all.
They complain - sometimes
Distracted? - no, not at all



Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Food need preferences now too strong
« Reply #10 on: April 08, 2016, 09:53:05 am »

Most of my fortress' dwarves are badly distracted due to a lack of decent meals.
I'm not having this problem at all.
They complain - sometimes
Distracted? - no, not at all
Badly distracted according to the wall of text, but not through yellow arrows. My fortress was very old, though, so the dorfs had had quite a lot of time to long for the lark tongues they'd heard rumors about, and thus decided was their favorite food.
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Food need preferences now too strong
« Reply #11 on: April 08, 2016, 10:41:34 am »

NW_Kohaku's suggestion makes a lot of sense, with the main drawback being the assignment of taste coordinates, as I believe most foods aren't defined as RAWs (I haven't checked, though), but rather derived, so pig liver might have more in common with cow liver than with pig meat, for instance. It ought to be possible to come up with a system for deriving coordinates, though, but there's still a lot of work to assign coordinates to everything that originates as RAWs.

Yes, that's why I'm suggesting that there be either a one-time (performed by Toady, and permanently in the raws) or at-worldgen procedural randomization of flavors to make things easy.  All livers, for example, could have a flavor template that randomly distributes flavor values somewhere between, say, 60 and 100 on one coordinate, and 0 and 30 on another. Having the computer "roll dice" for flavors, and having a general template for most meats mean that Toady won't have to personally taste-test swallow to rate its meat, they can just be thrown into general groups that have taste ranges.

Spiciness, however, is generally low on most things, as spices are added during cooking, as people don't eat e.g. salt and pepper (not referring to the capsicum peppers here) as individual dishes. Thus, I think that dimension fits better with cooked meals (and probably won't have a chance to make it in there until cooking recipes are added).

Flavor isn't all either, since texture plays a part as well (I know a person who really dislikes mushrooms on that ground, for instance).

Flavor profiles can measure any arbitrary thing.  (I didn't even suggest spiciness...) Hence, one coordinate could be "smooth" versus "chunky" or "soft" versus "chewy".

That said, having a system to eventually support rewrites to how food is prepared would make a lot of sense as future-proofing.  Presuming something like Jiri Petru's Down With Prepared Meals thread, where instead of meals preserved into perpetuity in giant stockpiles, meals are cooked in taverns/mead halls and stored in the kitchen's stew pot until enough dwarves are served to start a new batch, then it would make sense to set up a system of appealing at least to some degree to the widest range of tastes available.  If Urist hates spicy things, she'll complain if there's nothing but spicy, while if Tekkud can't live without his food making his nose run, make sure there's at least one stew with peppers in it. 

For future-proofing purposes, you could make a large number of coordinates, like 8, of which most are simply dummied out and not used until the game supports what you want to do with them.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Food need preferences now too strong
« Reply #12 on: April 08, 2016, 10:43:02 am »

Badly distracted according to the wall of text, but not through yellow arrows. My fortress was very old, though, so the dorfs had had quite a lot of time to long for the lark tongues they'd heard rumors about, and thus decided was their favorite food.

Also, that's deserving of a bug report.

It sounds like Toady's constant playing of only short-term forts for testing has once again resulted in a bug he will never notice first-hand because it only occurs in long-term forts.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Food need preferences now too strong
« Reply #13 on: April 08, 2016, 11:24:27 am »

@NW_Kohaku: You didn't suggest spiciness, but Admiral Obvious did, and my post mashed content from both posts there.

I've just realized one problem with a slider system, especially for a randomized one, and that is for the player to realize that this is close to what Urist wants, but that is not, even though you might think both of the alternatives would be the same distance from the optimum choice, unless the underlying numeric vector system is exposed. Now, if the dorfs were smart enough to grab what they liked, they'd mostly sort this out themselves, but then you discover grumpy Urist who doesn't like anything on offer, and you can't figure out why (unless, of course, DF provided you with a list of alternatives when 'd'etailing over a food item).
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Food need preferences now too strong
« Reply #14 on: April 08, 2016, 02:39:01 pm »

I've just realized one problem with a slider system, especially for a randomized one, and that is for the player to realize that this is close to what Urist wants, but that is not, even though you might think both of the alternatives would be the same distance from the optimum choice, unless the underlying numeric vector system is exposed. Now, if the dorfs were smart enough to grab what they liked, they'd mostly sort this out themselves, but then you discover grumpy Urist who doesn't like anything on offer, and you can't figure out why (unless, of course, DF provided you with a list of alternatives when 'd'etailing over a food item).

That can be solved by saying that Urist prefers a list of things, rather than "salty things". I believe at some point, Toad will need to start adding "expand" buttons on the dwarven details pages, but for now, simply having a dwarf prefer tiger trout, barracuda, carp, largemouth bass, bream, etc.

Of course, in the future with recipe meals where the flavor changes depending on how it is cooked/what it is cooked with, you might need something that expressly states flavors.  I suppose the best non-maths-intensive way to present that to the player would be to have kitchens themselves tell you what tastes they satisfy, and give the kitchen "taste targets" so that you just tell them "make some stew that is somewhat meaty and severely spicy".  Then, dwarves say, "Why doesn't this kitchen serve something very smooth and quite fruity?!"

From there, the only problem is if a kitchen can't reach its target flavor. It needs to start suggesting to you a list of possible ingredients you need to stock your fort with in order to ameliorate the shortfall.  If many types of food are fundamentally similar, it may come off as a list of "needs something like <list of whitefish>" the list then wouldn't need to be expressly exhaustive.

There could also be an explicit ingredient tester mode, to see what expressly dictated recipes will produce as a flavor profile, if one wants to monkey around with micromanagement, or simply wants to ensure some of that quarry bush leaf surplus is eaten through.
« Last Edit: April 08, 2016, 03:28:22 pm by NW_Kohaku »
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare
Pages: [1] 2 3 ... 6