CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.28k stars 4.12k forks source link

More food using disgusting rations debuffs #55960

Closed NetSysFire closed 1 year ago

NetSysFire commented 2 years ago

Is your feature request related to a problem? Please describe.

You can currently survive perfectly off cattail rhizomes and other food which is straight up disgusting for an indefinite amount of time. Just eat it all before going to sleep and you never have to worry about morale, too.

Solution you would like.

Adding the bad_food vitamin to more stuff. Mainly straight up disgusting things but also bland foodstuffs and stuff not meant to be eaten but to be used as ingredients. Including but not limited to:

Describe alternatives you have considered.

Eating only one kind of food for months should get you down, too. But it is very important to draw a line here: It is easily possible to add bad_food to the disgusting and bland food we have but it is no easy task to implement the "you can not live off pizza for a year" and this will require C++.

Another important thing here is to think of the carnivores and herbivores. Discouraging eating raw meat may not be the right thing to do, but raw heavily salted meat meant to be cured should be penalized.

Additional context

No response

remd commented 2 years ago

If I'm interpreting the current state of things correctly it looks like bad_food results in the Food Poisoning effect.

I agree that eating things not really intended for human consumption such as pet food or wastebread should cause that effect, as well as eating uncooked ingredients like dried beans or uncooked pasta.

However, I don't agree that eating disgusting things that are completely safe to ingest should cause Food Poisoning. There's nothing inherently wrong with eating mayonnaise, ketchup, mustard, butter, etc. It might be gross, but those foods shouldn't cause food poisoning. I think Joy handles this quite well. Despite the fact that certain people in the world would genuinely enjoy even the grossest of foods, things that are generally considered disgusting get negative Joy effects. I think this is a reasonable compromise.

Let's not punish all players for eating fully edible foods just because you wouldn't find it tasty. This is a survival scenario - I'd hope my character's appetite is a little bit more flexible in the face of the apocalypse.

Just eat it all before going to sleep and you never have to worry about morale, too.

That works for surviving, but it's not super effective for thriving. You're not deriving any benefit from sleeping after eating to remove your Joy penalty, nor are you suffering a punishment. I think that's OK.

Perhaps a less impactful effect like "Queasy" would be possible, that could turn into Food Poisoning if you continue to eat condiments instead of actual meals. Weak Stomach characters could perhaps skip over this effect and go straight to full on Food Poisoning.

Long-term negative mood effects due to eating the same food repeatedly seems like unnecessary difficulty for the player and I don't find it particularly realistic. I pretty much eat the same thing every morning for breakfast and just mixing it up once a week is plenty of variety. Maybe, for example, if your character has only eaten dehydrated fish for two weeks straight, but I think the Health stat is more relevant at that point.

LeahLuong commented 2 years ago

I generally agree w/ the sentiments expressed thus far & would've merely dropped some emotes but it seems I have to comment 1st in a thread before I can do so (@ least until recently). Any1 know what's up w/ that??

Qrox commented 2 years ago

Eating only one kind of food for months should get you down, too

We sort of already have that:

https://github.com/CleverRaven/Cataclysm-DDA/blob/b6afc5afafd5c6b7f30fc2fa9116812cf48e2714/src/consumption.cpp#L422-L436

NetSysFire commented 2 years ago

If I'm interpreting the current state of things correctly it looks like bad_food results in the Food Poisoning effect.

I am after the disgusting rations debuff, not food poisoning. As far as I know the bad_food vitamin causes that.

remd commented 2 years ago

I am after the disgusting rations debuff, not food poisoning. As far as I know the bad_food vitamin causes that.

You're correct. I was wrong. I was being misled by the bad_food disease definition added in #35843 that raw milk has a chance of causing.

The bad_food vitamin in excess causes bad_food_ennui: https://github.com/CleverRaven/Cataclysm-DDA/blob/a16640410861642247586d2c54c0e8ffcd54bc38/data/json/vitamin.json#L339-L350 https://github.com/CleverRaven/Cataclysm-DDA/blob/a16640410861642247586d2c54c0e8ffcd54bc38/data/json/effects.json#L2918-L2930

It seems like there's some overlap between Joy and the Depressing Food effect, and it also looks like bad_food_ennui doesn't implement any Morale penalty at the moment, if I'm reading the code correctly. It probably should.

Given the precedence I agree that more foods could be given the bad_food vitamin in accordance with your suggestions @NetSysFire.

Longer-term it would probably be good to discuss when negative Joy is more appropriate as opposed to the bad_food vitamin, or maybe they should be more correlated.

ghost commented 2 years ago

You seem to be trying to force your own personal tastes as some form of universal standard. Find a room of people and they will each have vastly different opinions about any food list you compile.

If anything, the ration debuff is wholly unrealistic as it works in complete opposite to real life. Your body can adjust even to "disgusting" tastes over time with repeated exposure, it's where the phrase "acquired taste" comes from. The mechanic should be reversed and the debuff should get lower the longer you keep eating the rations.

https://en.wikipedia.org/wiki/Acquired_taste

Zireael07 commented 2 years ago

@Tommy-os Yes you can get used to rations BUT this is a mechanic to prevent players eating the same thing over and over

ghost commented 2 years ago

@Zireael07 Why would you want to prevent players from eating the same thing over and over? That goes contrary to how humans commonly behave in real life.

Zireael07 commented 2 years ago

Humans do not 'commonly' eat something for years on end, with no variation. Players in CDDA will eat the same foods for ingame years, though.

ghost commented 2 years ago

That's a dishonest argument, as the current implementation of this bad_food vitamin mechanic takes maximum effect after 8 protein bars.

Zireael07 commented 2 years ago

@Tommy-os: I didn't source dive, whoa, 8 repetitions for this to kick in is waaaay too early for what I was thinking about.

Qrox commented 2 years ago

acquired taste

I would argue that making food that most people find unpleasant actually unpleasant in game is more realistic than making all food equally pleasant regardless of the common perception. However, it is possible to implement what you proposed (acquired taste) as traits that changes some food to be pleasant, similar to how allergies work. We can also simulate the process of acquiring a taste by making some food have a chance of giving you the corresponding trait.

8 protein bars

Maybe these protein bars are that unpleasant. (For example, because they are emergency rations that no one ever thought would actually come into use, so the contractors that made them half-assed the production.)

Zireael07 commented 2 years ago

@Qrox:

We can also simulate the process of acquiring a taste by making some food have a chance of giving you the corresponding trait.

I think this is what he was talking about. Less new food traits, more of having a chance of not getting the debuffs.

NetSysFire commented 2 years ago

To be clear here, as you can see in the list in the initial comment, this will only affect bland food or stuff you shouldnt eat (raw). Food which is just bland (boiled grain etc) will have a small amount of the bad_food vitamin but say raw cattail rhizomes, raw pasta or even pet food will have higher amounts.

My goal is to prevent abusing the system of just eating the disgusting stuff before you go to sleep (one person in the IRC channel likes to munch on raw cattail rhizomes before going to bed ingame) to prevent exploiting the morale penalty affecting basically nothing. It will try to encourage the player to try to cook something more palatable.

ghost commented 2 years ago

To my knowledge, vitamins carry over from ingredients to cooked foods. Which means foods cooked from butter (in your list for some strange reason) would also cause this debuff.

I have to ask, have you ever actually eaten these things you listed? Some are delicious even alone in your perceived "raw" form.

remd commented 2 years ago

To be clear here, as you can see in the list in the initial comment, this will only affect bland food or stuff you shouldnt eat (raw). Food which is just bland (boiled grain etc) will have a small amount of the bad_food vitamin but say raw cattail rhizomes, raw pasta or even pet food will have higher amounts.

After all the clarifying discussion above I'm fully on-board with this idea.

To clarify one item in your original comment, only the unfermented variants of spiced mead and pine wine should receive the bad_food vitamin.

My goal is to prevent abusing the system of just eating the disgusting stuff before you go to sleep (one person in the IRC channel likes to munch on raw cattail rhizomes before going to bed ingame) to prevent exploiting the morale penalty affecting basically nothing.

I'm not sure if the bad_food_ennui effect will last long enough for it to matter. Also, currently the bad_food_ennui effect doesn't cause any negative effects. Without adding negative Morale effects to that debuff I'm not sure this would change player behavior significantly.

NetSysFire commented 2 years ago

I have to ask, have you ever actually eaten these things you listed? Some are delicious even alone in your perceived "raw" form.

I have eaten some of them in the past, which include butter, vegetable cooking oil, raw pasta and uncooked oatmeal. All for science™ of course. I think the "best" of those is actually raw pasta. Both butter and oil are definitely not meant to be eaten and raw uncooked oatmeal is so dry it sticks to your mouth and is just yucky. I know how petfood smells like and from the smell alone I do not want to eat that. I judged the other combestibles given on its morale penalty and description, but you do not want to live on raw pasta when you do not have to.

To my knowledge, vitamins carry over from ingredients to cooked foods.

I think the NUTRIENT_OVERRIDE flag prevents this actually. It is not intended that you can not enjoy your supreme pizza made from flour made from starch made from raw cattail rhizomes.

Without adding negative Morale effects to that debuff I'm not sure this would change player behavior significantly.

Valid criticism, but this is just a discussion for now. In the end it is supposed to actually alter your morale in a negative way after you spent days eating all your mustard so it does not go bad.

To clarify one item in your original comment, only the unfermented variants of spiced mead and pine wine should receive the bad_food vitamin.

Of course, this is why I tried to clarify this by saying that this is meant to be fermented, not eaten as is. The actual fermented beverages are not affected. I tried to further clarify this. I agree I sort of messed up because of laziness.

remd commented 2 years ago

I have to ask, have you ever actually eaten these things you listed? Some are delicious even alone in your perceived "raw" form.

Keep in mind that this discussion is about an effect that accumulates as you eat multiple depressing pieces of food. All of the examples (except ghee) given in the original post already cause negative Joy (i.e. the game says they are decidedly not delicious). Adding the bad_food vitamin to those comestibles almost seems like a bug fix more than a brand new paradigm.

An alternative solution would be to trigger bad_food_ennui based on a threshold of negative Joy reached through consumption. That would at least provide a clearer cause-and-effect that would apply consistently regardless of the consumed item. EDIT: It would also allow the player to avoid negative consequences through careful ordering of their consumption - the player could eat some negative food, and then offset it with joy-inducing food like alcohol or candy (this is similar to today, but would become more important if we tie bad_food_ennui to it).

The bad_food vitamin requires consistency in the item definitions instead. Note I'm not making a judgement call on one way being better than the other, just trying to elucidate the tradeoffs.

Valid criticism, but this is just a discussion for now. In the end it is supposed to actually alter your morale in a negative way after you spent days eating all your mustard so it does not go bad.

I actually meant to convey enthusiasm for adding negative Morale effects to that debuff sooner or in concert with this change, so that it does affect player behavior.

ghost commented 2 years ago

An alternative solution would be to trigger bad_food_ennui based on a threshold of negative Joy reached through consumption.

I think this is a much better approach than the bad_food vitamin, as it provides a solution to eating certain foods as a custom side-dish outside of a recipe. It should be viable to eat a chunk of butter and chunk of bread, both separate foods without using a recipe, while not getting any debilitating long-term debuffs.

From a gameplay perspective, food is not rare at all outside of certain challenge scenarios or self-imposed limits. On default game settings, a survivor has more than enough varied and even preserved food to last years just from one smaller city. Encouraging players to eat more varied foods through this mechanic will not actually impact gameplay to any meaningful extent.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not \'bump\' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

Night-Pryanik commented 1 year ago

Closing as stale, since stalebot can't do it by itself.