Cataclysm-dda: More refined weight gain/loss (sprite bounty for implementing)

Created on 12 Jan 2020  路  8Comments  路  Source: CleverRaven/Cataclysm-DDA

Is your feature request related to a problem? Please describe.
Our current system of directly translating extra calories to weight gain/loss makes these things fluctuate too quickly. Really, it's very difficult to lose more than 1/2 a kilo a week, and more than 1 kilo a week is exceptional unless you're starving. Weight gain is tougher to determine: it's got less of a cap, but it's still hard to put on fat at the rate our survivors can.

Describe the solution you'd like

  • Calculate the survivor's average stored calories loss or gain over the last week based on activity and intake.

Weight Loss:

  • No changes if the total stored loss is 4000kcal or less, roughly 1/2 kg of weight.
  • Add messages at 4000, 6000, and 8000 kcal deficit to indicate that the player is dieting: "your blood sugar is a bit low, it's hard to concentrate." "You just find it hard to get enough energy."
  • From 4000-8000 kcal, decrease wthreshold, per weariness system recommendation, by [(deficit-4000)/4000]*25%], so at a deficit of 8000 kcal this caps to a 50% penalty to wthreshold.
  • If anyone wants to get mathy, what we really want is a sigmoid curve where the inflection points are at 4000kcal and 8000kcal deficit and the asymptote is a 50% penalty.

Weight Gain

  • Change hunger messages at 4000 kcal to indicate that the player is overeating, unless the player is at a dangerously low BMI already. "You're hungry, but also feeling a bit bloated." "Despite feeling hungry, you can still feel the weight of the last few meals in your guts."
  • After 4000 kcal, reduce the amount of calories going into storage by 1% per 100kcal over 4000. So if you've stored 5000kcal extra in the last week you still get full calories from the food you eat, but whatever excess there is is reduced by 10% before going into storage. This isn't much but it does limit the possibility of absolutely absurd weight gain.

Describe alternatives you've considered
We may want to figure out some sort of time-based cap to weight changes as well, so the effects aren't seen instantly.

Debatably, the average weight lost or gained could also impact hunger. There's a better argument for the loss side of things: if you're constantly dieting you could feel a bit more hungry. There's less of an argument for overeating reducing your appetite irl, but in game it might be helpful just for the feedback element.

Additional context
Adding penalties for too much weight loss, along with the effects associated with them, would help limit people from losing weight too quickly I think.

BOUNTY NOTE: If someone implements this, I'll make at least two sprites of their choice for any mainline tileset

<Suggestion / Discussion> Info / User Interface Food / Vitamins Character / Player

All 8 comments

This feels like it may eventually veer into the need for an excretion/elimination system. Trying to rectify real-world effects of eating, hunger, and weight loss/gain without the entire elimination process is always going to be just a tad flawed.

Plus sewers and raw sewage must exist for some reason or other, right?

Elimination doesn't really have much to do with weight gain. We will eventually need to manage sewage when you're running a community, but measuring survivor poop isn't really related to calories and weight gain.

You can loose about 1kg a day if you only drink water. Or more, if you do something active that day.

Sure, and if you do so you'll rapidly run into major problems with inanition, which is exactly what this models

Your body adjust to burning fat if you have excess of it. I had tried not eating anything for 3 full days and on 3rd day I was feeling good enough to do some light workout in the gym. But for about 1.5 first days I was feeling very tired and just wanted to rest. I think it's called ketosis.

If you can provide reasonable data to model your claims besides anecdotes, I can see if there's reason for implementing them in the model. I'd argue though that such a feature might make it harder, not easier, to track if you're getting enough calories.

Another thing to consider is adding protein values to various foods, and adding a mechanic to increase strength/dex through various exercises, and maybe even perception through meditations learned from manuals scattered throughout the world. As well as muscular dystrophy/sensory dulling through long periods of low physical/mental activity. Though these increases and decreases would be astronomically slow (and limited) compared to say, implanting bionics or mutation, it would allow for some interesting long term characters.

Was this page helpful?
0 / 5 - 0 ratings