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

Modifiers of basal metabolic rate for various activity levels are set way too high and are unreasonable for the activity's expected calorie consumption, aggravated by a calorie counter window of 5 minutes #43065

Closed
DeltaEpsilon7787 opened this issue Aug 20, 2020 · 13 comments
Labels
(S3 - Duplicate) Bug that is duplicate of another one

Comments

@DeltaEpsilon7787
Copy link
Contributor

DeltaEpsilon7787 commented Aug 20, 2020

Describe the bug

So you have a normal character, nothing special, just your average dude.
His basal metabolic rate at no activity is around 1700 kcal, give or take depending on age and height, we'll assume defaults: 175 / 25. This is fine. It's about 4.25 portions of cooked meat per day.

The dude goes fishing [LIGHT_EXERCISE]

His basal rate jumps over to 3400 kcal. What the fuck? That's the equivalent of a decent athlete. Very active fishing indeed. Food cost goes up to 8.5 cooked meat a day or 2.125L. This is stretching it, but still possible I suppose.

The dude goes somewhere, just walking, to find some abandoned cars. [MODERATE_EXERCISE]
The basal rate is at 6800 kcal?!?!?!?
You do realize walking is like 90% of the game, right? Doesn't matter whether you're carrying a heavy hiking backpack or literally running naked btw. 17 cooked meats a day. 4.25L of meat a day. You need to drink less water than that.

The dude goes to weld some stuff off some cars. [BRISK_EXERCISE]
The basal rate goes up to an insane 10200 kcal.
Guess that C2H2 torch is really heavy.

Then, he realizes he's running low on fuel for his fireplace so he goes to the woods and chops some trees down. [ACTIVE_EXERCISE]
As well as trees, he's chopping fat and muscle off his body at a staggering 13600 kcal or 34 cooked meats a day. That's 8.5L of meat, which, mind you, is gonna take quite a bit of time to actually even consume -- the stomach is only 2.5L, meaning you need to fill your stomach to the brim at least 3 times in a single day.

Finally, realizing that he will never be able to get his food needs sated, he digs a grave for himself and jumps into it [EXTRA_EXERCISE].
But his body annihilates itself as he's falling in midair, as it approaches a world-record setting basal rate of 17000 kcal. 42 cooked meats. 10.625L of one of the most nutritious foods short of literal fat.

Need I tell you how annoying this is for any player that does something more than sit at his base 24/7 reading books?

Steps To Reproduce

  1. Play the game with a default character.
  2. Suffer.

Expected behavior

I shouldn't be expected to eat 2 moose worth of food in a day just by walking.

Screenshots

N/A

Versions and configuration

Doesn't really matter, but here you go.

  • OS: Windows
    • OS Version: 10.0 1909
  • Game Version: 0.E-5221-g315a4f0 [64-bit]
  • Graphics Version: Tiles
  • Game Language: System language []
  • Mods loaded: [
    Dark Days Ahead [dda],
    Disable NPC Needs [no_npc_food]
    ]

Additional context

constexpr float NO_EXERCISE = 1.0f;
constexpr float LIGHT_EXERCISE = 2.0f;
constexpr float MODERATE_EXERCISE = 4.0f;
constexpr float BRISK_EXERCISE = 6.0f;
constexpr float ACTIVE_EXERCISE = 8.0f;
constexpr float EXTRA_EXERCISE = 10.0f;

UPD:
Activity levels are quantized by 5 minutes it seems.

The thing is, fighting usually doesn't take 5 full minutes, but it's still considered EXTRA_EXERCISE, which leads to a much higher calorie cost of melee than should be, making it a prohibitively expensive specialization. In fact, character efficiency doesn't even matter. The character may effortlessly slice through zombies or take forever to stab one to death, from the perspective of the game they both consumed the same amount of energy.

So, if you try to kill even a single zombie (or even just punch them casually) within a 5 minute window, you can say goodbye to your roughly 60 calories. So while a 5 minute time quanta may make some sense for walking, for fighting it is ridiculously wide.

@DeltaEpsilon7787 DeltaEpsilon7787 changed the title Modifiers of basal metabolic rate for various activity levels are retarded and leads to the most mindnumbing gameplay imaginable Modifiers of basal metabolic rate for various activity levels are retarded and lead to the most mindnumbing gameplay imaginable Aug 20, 2020
@Fris0uman
Copy link
Contributor

PLease change the title of the issue to something more appropriate

@DeltaEpsilon7787 DeltaEpsilon7787 changed the title Modifiers of basal metabolic rate for various activity levels are retarded and lead to the most mindnumbing gameplay imaginable Modifiers for basal metabolic rate for various activity levels are set way too high and don't match the activity's expected calorie consumption Aug 20, 2020
@DeltaEpsilon7787
Copy link
Contributor Author

Fine

@DeltaEpsilon7787 DeltaEpsilon7787 changed the title Modifiers for basal metabolic rate for various activity levels are set way too high and don't match the activity's expected calorie consumption Modifiers of basal metabolic rate for various activity levels are set way too high and are unreasonable for the activity's expected calorie consumption Aug 20, 2020
@DeltaEpsilon7787
Copy link
Contributor Author

DeltaEpsilon7787 commented Aug 20, 2020

New info points that a big factor in this may be that the quanta is 5 minutes.

A more precise calorie counter [say, 1 minute] may alleviate it to some degree, but the ultimate issue of activity levels having incredibly high mods is not gonna go away this way. It's just gonna fix some BS like a character that sits and reads a book and goes like 2 meters to drink some water occasionally would be considered to have walked like 300 meters.

@DeltaEpsilon7787 DeltaEpsilon7787 changed the title Modifiers of basal metabolic rate for various activity levels are set way too high and are unreasonable for the activity's expected calorie consumption Modifiers of basal metabolic rate for various activity levels are set way too high and are unreasonable for the activity's expected calorie consumption, aggravated by a calorie counter window of 5 minutes Aug 20, 2020
@anothersimulacrum
Copy link
Member

The various values are correct, what various things are assigned to may not be. Activities are simulated as the character doing them uninterrupted. If you can find evidence that these calorie values are wrong for that level of simulation, we can change them, but you aren't doing that, and I don't have any reason to just trust your statement that they are unreasonable.

Past that: #42350, #42343.

Yes, activity level should be evaluated more often.

@DeltaEpsilon7787
Copy link
Contributor Author

DeltaEpsilon7787 commented Aug 20, 2020

@anothersimulacrum

Even if the values are correct, the overall effect is such that they still consume way more energy than you'd expect. Many of the more important activities do not last 5-10 minutes yet you're still charged as if they are. And it just so happens that many BS activities also have pretty BS values.

This includes:

  1. Melee fighting [stabbing vs bashing heads in] [EXTRA_EXERCISE, 60 calories]
  2. Pulping [last literally a few seconds] [EXTRA_EXERCISE, 60 calories]
  3. Smashing [windows vs walls] [MODERATE_EXERCISE, 24 calories]
  4. Various crafts (cooking vs using an anvil) [MODERATE_EXERCISE, 24 calories]
  5. Dropping and picking up items [just in general] [LIGHT_EXERCISE, 12 calories]
  6. Apparently auto-travel is NO_EXERCISE whereas regular walking is MODERATE_EXERCISE
  7. Using advanced inventory screen [which is apparently more expensive than just picking up and dropping????] [MODERATE_EXERCISE, 24 calories].

Moreover, because walking is MODERATE_EXERCISE, it essentially overrides most light activities anyway because, well, to do those activities you first need to move.

@anothersimulacrum
Copy link
Member

anothersimulacrum commented Aug 20, 2020

Yes, activity level should be evaluated more often.

  1. [CR] Add activity levels to recipes #42873
  2. Both are light exercise? What's the issue?
  3. Thanks for the bug report
  4. That is weird, I don't see why we wouldn't accept a PR to change that to be the same as the rest.

@DeltaEpsilon7787
Copy link
Contributor Author

DeltaEpsilon7787 commented Aug 20, 2020

  1. That is weird, I don't see why we wouldn't accept a PR to change that to be the same as the rest.

Same as #2: picking up an item takes literally a couple seconds for a character. But this is less relevant because this activity would get overridden by walking anyway.

--

Is there a reason why there's even such a strange system with discrete steps every 5 minutes and choosing max activity level for the window instead of subtracting calories immediately based on the duration and level? I mean, I know it used to be the same in legacy cataclysm, but if cata decided to break away from this, sticking to the same 5 minute clock seems strange.

@Zireael07
Copy link
Contributor

Just a guess, but he probably thinks picking/dropping everyday items shouldn't be an exercise at all.
On second thought, I have to agree that most items, weighing less than, let's say 4kg should be NO_EXERCISE.

@Alex-Folts
Copy link
Contributor

Maybe need to record all activities done in last 5 mins in list/array, and then calculate average modifier every 5 mins and clear list.
i.e. based on this:

constexpr float NO_EXERCISE = 1.0f;
constexpr float LIGHT_EXERCISE = 2.0f;
constexpr float MODERATE_EXERCISE = 4.0f;
constexpr float BRISK_EXERCISE = 6.0f;
constexpr float ACTIVE_EXERCISE = 8.0f;
constexpr float EXTRA_EXERCISE = 10.0f;

let say character did in last 5 mins: {LIGHT_EXERCISE, MODERATE_EXERCISE, MODERATE_EXERCISE, MODERATE_EXERCISE, EXTRA_EXERCISE}, we would have (2 + 4 + 4 + 4 + 10) / 5 = 4.8f, it is over 2 times less than in current implementation where it would be 10.0f. To reduce list size we could reduce time frame to 1 min.

@Fosheze
Copy link
Contributor

Fosheze commented Aug 20, 2020

To add on to this the activity level for working on vehicles is definitely way too high. I can't give any numbers but I can say that I have spent multiple days straight IRL doing a full body off, ripping engine out, and beating the frame back into shape with a maul, repair on my truck and I am still very much fat after that. Meanwhile my survivor does essentially the same thing and is suddenly severely underweight and starving within 2 days despite eating anytime there is any room in their stomach. All I can say is that I wish weight loss was that easy.

@kevingranade kevingranade added the (S3 - Duplicate) Bug that is duplicate of another one label Aug 21, 2020
@kevingranade
Copy link
Member

Redundant with a number of other issues and doesn't bring anything new to the table.

@Zireael07
Copy link
Contributor

Can we have link(s) to those 'other issues'?

@actual-nh
Copy link
Contributor

#36976
#42343
Others?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
(S3 - Duplicate) Bug that is duplicate of another one
Projects
None yet
Development

No branches or pull requests

8 participants