Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Food quality levels #44740

Closed
I-am-Erk opened this issue Oct 8, 2020 · 9 comments
Closed

Food quality levels #44740

I-am-Erk opened this issue Oct 8, 2020 · 9 comments
Labels
Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Items: Food / Vitamins Comestibles and drinks (P5 - Long-term) Long-term WIP, may stay on the list for a while. <Suggestion / Discussion> Talk it out before implementing

Comments

@I-am-Erk
Copy link
Member

I-am-Erk commented Oct 8, 2020

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

We have a general need for at least some item quality levels, but in my opinion this is most noteworthy in food items, where the low bar of "food you can digest" is easy, and the skill really should represent ability to make tasty food.

Additionally, there is a frustrating issue of subjectivity in our food enjoyment values.

Describe the solution you'd like

Leverage the existing food tag system, the one we use to make food (mushy) or (rotten), to represent food quality.

  1. JSON defined food enjoyment levels only apply to food items found "in the wild", not food made by players.
  2. Food difficulty scores now represent food enjoyment, or rather, determine what food enjoyment can be.
  3. Raw ingredients enjoyment values be audited to make sure they're in general maxing out around +1 or +2.

Quality levels

Create five quality levels for food items. These are displayed as a prefix to the item name in inventory, eg "excellent spaghetti carbonara".

  • excellent: the food's enjoyment level equals the recipe difficulty or +1, whichever is higher.
  • good: the food's enjoyment level equals 1/2 the recipe difficulty or +1, whichever is higher.
  • no quality: the food's enjoyment level equals 1/4 the recipe difficulty, round all decimals down.
  • bad: the food's enjoyment level equals -2 regardless of recipe difficulty.
  • failed: the food's enjoyment level equals -5, and its health is set to -1 if it would otherwise have been higher than that.

Skill checks

Implement normal curve skill tests.

if skill check is 2 or more above difficulty, set quality to excellent
If skill check is 1-<2 above difficulty, set quality to good.
If skill check is between -1 and 1, set quality to no quality.
If skill check is -1 to >-2, set quality to bad.
If skill check is -2 or lower, set quality to failed.

Describe alternatives you've considered

We could remove the cooking skill and have cooking checks be a simple 'fail or not' thing. I think this is unnecessarily simplistic.

Additional context

See how cool normal curves are for success measuring? This would be a great stepping off for item quality levels in other areas, but food is the simplest.

@I-am-Erk I-am-Erk added <Suggestion / Discussion> Talk it out before implementing (P5 - Long-term) Long-term WIP, may stay on the list for a while. Items: Food / Vitamins Comestibles and drinks Crafting / Construction / Recipes Includes: Uncrafting / Disassembling labels Oct 8, 2020
@Giagantic
Copy link

Giagantic commented Oct 8, 2020

Suggest adding one more Quality level, Inedible being something ruined beyond nutritional and consumptive value. I suggested similar things in #44540 though obviously my suggestion was primarily regarding multiple stages in cooking but regardless I think there should be a failure state whilst cooking, mostly occurring when attempting something beyond your skill level. If proficiencies were to be added it could be tied into your success rate and the overall quality of the dish as well.

Also, I honestly think you are a bit too lenient in regards to enjoyablity and it's effect on morale. A bad dish should have a greater impact on how you enjoy it, same with an excellent dish.

  • excellent: the food's enjoyment level equals the recipe difficulty or +1, whichever is higher.

  • good: the food's enjoyment level equals 1/2 the recipe difficulty or +1, whichever is higher. +5

  • ordinary: the food's enjoyment level equals 1/4 the recipe difficulty, round all decimals down.

  • bad: the food's enjoyment level equals -2 regardless of recipe difficulty.

  • terrible or disgusting: the food's enjoyment level equals -5, and its health is set to -1 if it would otherwise have been higher than that.

  • inedible: the food has been rendered inedible and offers nothing but negatives (Burnt / Improperly handled (health hazard) / etc...)

@I-am-Erk
Copy link
Member Author

I-am-Erk commented Oct 8, 2020

Presently that is represented by "failed", which has a substantial morale penalty and negative health. It would be tricky to offer any more general purpose things that represent health risks, because no matter how badly you mess up a sandwich, it's not going to give you cancer. For that stuff we'd need specific fail states on types of recipes which I think is beyond the scope of what we're going for here.

@ghost
Copy link

ghost commented Oct 9, 2020

Does this mean our characters can now enjoy some masterfully boiled water?

@lcy03406
Copy link
Contributor

lcy03406 commented Oct 9, 2020

Drinking water boiled with level 10 skills, you will be extreamly happy. But water purifier is awlful and drinking from it you will be sad.

@I-am-Erk
Copy link
Member Author

I-am-Erk commented Oct 9, 2020

Does this mean our characters can now enjoy some masterfully boiled water?

Good point, we probably need a caveat for difficulty zero recipes.

@Marrim
Copy link
Contributor

Marrim commented Oct 9, 2020

It should probably only affect a certain subset of recipes, even above difficulty zero. I mean, one can mess up making hardtack or tallow, but making them so good they're actually enjoyable?

Also, will this completely replace the current food fun levels?

@PatrikLundell
Copy link
Contributor

I like the concept of skill+luck affecting enjoyment, but like others have pointed out, there are limits to how fantastic you can make some things, as well as how terribly you can screw up others.

One possible approach would be to have default upper/lower limits that are applied to recipes that don't have overrides, and overrides would be used for recipes that actually have a potential for resulting in disasters or masterpieces, as well as for those where you can't affect the result very much (boiled eggs? Might allow for just poorly done, and, if you're generous, perfectly to your taste, giving it a reduced range of bad to average, or possibly up to good). Boiled water would get a "range" of average-average. You can fail to boil it properly, and thus actually end up with (still) unsafe water, but that should really be a different process.

@dchieh222
Copy link
Contributor

Probably the higher complexity foods give you better opportunities to be masterful with it. So you can in fact make really excellent steak if you have the seasonings, skill and equipment for it, or you can make something that's just a few steps from inedible. But with boiled eggs, either its a runny mess or its nothing special. Making soft-boiled eggs can be something special.

I should add this is where optional ingredients and tools would be great. A sous vide would make your steak better, but its not a requirement. So would having salt ,pepper and garlic butter, but also not required.

@I-am-Erk
Copy link
Member Author

Adapting into #53500

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Items: Food / Vitamins Comestibles and drinks (P5 - Long-term) Long-term WIP, may stay on the list for a while. <Suggestion / Discussion> Talk it out before implementing
Projects
None yet
Development

No branches or pull requests

6 participants