CleverRaven / Cataclysm-DDA

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

Test of the heat distribution system between body parts (between mouth and head) #77329

Open IdleSol opened 4 weeks ago

IdleSol commented 4 weeks ago

Describe the bug

Based on this comment from @kevingranade . https://github.com/CleverRaven/Cataclysm-DDA/issues/68419#issuecomment-2435702267

I decided to test whether body parts do indeed share heat with other parts.

Test methodology:

  1. A character is created and all clothing is removed
  2. The character is sent to the basement (no weather influence)
  3. The temperature is set to -20 degrees Celsius
  4. 1 turn is skipped (to allow the temperature change to take effect)
  5. Disable automatic saving
  6. Create a save and exit to the main menu
  7. Load the save
  8. Enter Record the warmth values for head and mouth, current temperature of head and mouth, hp of head (because mouth damage is transferred to head).
  9. Wait 30 minutes, repeat step 8.
  10. Wait another 30 minutes and repeat step 8.
  11. Exit without saving
  12. Load save
  13. Put on TEST suit 90 (warmth=90)
  14. Repeat steps 8-11
  15. Repeat steps 12-14 for TEST suit 130 (warmth=130)
  16. Repeat steps 12-14 for TEST suit 00 (warmth=90, but additionally covers the mouth)

Here are the results:

Naked character TEST suit 90 TEST suit 130 TEST suit 00
time = 0
warmth mouth -78 -78 -78 11
warmth head -78 11 51 11
T mouth 309.790009 309.745514 309.745514 309.799347
T head 309.790009 309.799347 309.823242 309.799347
HP head 86 86 86 86
time = +30 min
warmth mouth -78 -78 -78 2
warmth head -78 2 25 2
T mouth 302.537903 303.195587 303.349426 310.424377
T head 302.537903 310.424377 312.150513 310.424377
HP head 79 85 80 86
time = +30 min
warmth mouth -78 -78 -78 2
warmth head -78 2 25 2
T mouth 302.321869 303.050964 303.203400 310.419281
T head 302.321869 310.419281 312.150269 310.419281
HP head 59 79 70 86

Conclusions.

  1. Kevin is right, body parts share heat.
  2. But this effect is so imperceptible that it is effectively non-existent. The difference in mouth temperature, between a naked character and a character in a warm suit (TEST 130), is approximately 0.66 0.81 degrees. (0.66 for TEST 90, after 30 minutes.). And after an hour, the difference is 0.73 and 0.89, which is less than 1 degree.
  3. HP loss is dice dependent. Therefore, they don't show anything. (And are not repeatable across different measurements)
  4. For a suit with heat 90. In an hour, the character lost about 20% 10% hp of his head. And died, after 5 hours (5:10 from the start of the game). But this is a frost of only -20 degrees, the character is dressed in warm clothes!!!!

Attach save file

test.json

Details ``` [ { "id": "test_suit_00", "type": "ARMOR", "category": "armor", "name": { "str": "TEST suit 00" }, "description": "TEST.", "weight": "5200 g", "volume": "10500 ml", "price": "0 USD", "price_postapoc": "30 USD", "material": [ "kevlar", "lycra", "nylon" ], "symbol": "[", "looks_like": "survivor_jumpsuit", "color": "blue", "armor": [ { "material": [ { "type": "lycra", "covered_by_mat": 100, "thickness": 0.5 }, { "type": "kevlar", "covered_by_mat": 100, "thickness": 2.0 }, { "type": "nylon", "covered_by_mat": 100, "thickness": 0.3 } ], "covers": [ "head", "eyes", "mouth", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ], "coverage": 100, "cover_melee": 100, "cover_ranged": 100, "encumbrance": 0 } ], "warmth": 90, "environmental_protection": 5, "flags": [ "NORMAL", "RAINPROOF", "STURDY", "WATER_FRIENDLY", "WATCH" ] }, { "id": "test_suit_90", "type": "ARMOR", "category": "armor", "name": { "str": "TEST suit 90" }, "description": "TEST.", "weight": "5200 g", "volume": "10500 ml", "price": "0 USD", "price_postapoc": "30 USD", "material": [ "kevlar", "lycra", "nylon" ], "symbol": "[", "looks_like": "survivor_jumpsuit", "color": "blue", "armor": [ { "material": [ { "type": "lycra", "covered_by_mat": 100, "thickness": 0.5 }, { "type": "kevlar", "covered_by_mat": 100, "thickness": 2.0 }, { "type": "nylon", "covered_by_mat": 100, "thickness": 0.3 } ], "covers": [ "head", "eyes", "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ], "coverage": 100, "cover_melee": 100, "cover_ranged": 100, "encumbrance": 0 } ], "warmth": 90, "environmental_protection": 5, "flags": [ "NORMAL", "RAINPROOF", "STURDY", "WATER_FRIENDLY", "WATCH" ] }, { "id": "test_suit_130", "type": "ARMOR", "name": { "str": "TEST suit 130" }, "copy-from": "test_suit_90", "warmth": 130 } ] ```

Steps to reproduce

n/a

Expected behavior

A more efficient system of heat distribution between body parts. A character should not die in 5 hours just because his mouth is not covered.

He shouldn't take damage at all as long as he has calorie reserves. Or until he gets hypothermia in almost every part of his body.

Screenshots

No response

Versions and configuration

Additional context

UPD. A critical failure of math.

PatrikLundell commented 4 weeks ago

It's certainly silly that you'd get frost bite on your uncovered mouth in just a few negative degrees. However, you can definitely get frost bite eventually in poorly protected extremities well before general hypothermia sets in when it gets quite cold.

IdleSol commented 3 weeks ago

There's a problem: damage transfer from one body part to another. Mouth damage is transferred to the head. Hands to arms, feet to legs. In reality, if I get frostbite on my lips, I might get them cut off. Would I die? Probably not. (Necrosis may set in, leading to death). In the game? 100% yes.

kevingranade commented 3 weeks ago

Why are you assuming the lips are the only part that is going to take damage? Exposed mouth means you're breathing frigid air directly, especially if you're exerting yourself this is not a good time.

But this is a frost of only -20 degrees, the character is dressed in warm clothes!!!!

Missing protective gear on some body parts is a bad time. I wouldn't want to stand around for 5 hrs in -20 degrees with nothing over my mouth.

He shouldn't take damage at all as long as he has calorie reserves. Or until he gets hypothermia in almost every part of his body.

This is just blatantly wrong??? People get frostbite, it's a real thing that causes serious damage.

I'm not asserting that the system is perfect, but your expectations are so far from reality I can't even discuss this with you, you need to ground your expectations in real guidelines for cold weather safety, not the hyperbole you're using right now.

Zireael07 commented 3 weeks ago

Kevin, I believe you focused on wrong parts of the OP.

Yes, standing around for 5h with no mouth protection in -20 is a bad idea. But no one died from that IRL while the character they were testing with did.

kevingranade commented 3 weeks ago

you need to ground your expectations in real guidelines for cold weather safety

IdleSol commented 2 weeks ago

Why are you assuming the lips are the only part that is going to take damage? Exposed mouth means you're breathing frigid air directly, especially if you're exerting yourself this is not a good time.

Note the temperature of the head. It is 310 degrees, or 37 degrees Celsius. I didn't show this, but the temperature of the rest of the other parts of the body, is equal to the temperature of the head. You can check.

The argument that cold air enters the lungs and cools them down doesn't fit. The temperature of every other part of the body is normal.

This brings us back to the argument that: the exchange of heat between different parts of the body is imperceptible.

In terms of reality.

Missing protective gear on some body parts is a bad time.

I don't know how warm it is where you live. But I'm from Russia. -20 is cold, but no one freezes in the street just because their face is open. If you're interested, look up Oymyakon on wikipedia, there's an article about it in English. The average temperature for the year is -17 degrees. And if you take winter, it's about -50 degrees. The record? -68 degrees ( -73 degrees in the Russian version). People live quite well and walk down the street. There's a picture of a local man there.

If you want my experience, I was spending time outside in -20/-30. I had my face open and my down jacket unbuttoned. Approximate time, about an hour. Cold? Yes. Am I dead? As you can see, no. That's not saying much, though.

Do people work outside in this weather?

Yes, they do. Are their faces open? Yes, they are open (but not all of them, differently). Are there a lot of dead bodies among communal workers? Honestly, I don't know, but I don't think anyone dies from the cold.

Speaking of norms, schools cancel classes at -25 degrees. For elementary school. And -28 for middle school and -31 for high school.

Another norm I've seen mentioned.

When working outside in cold weather (~20), is to take 10 minute breaks every 2 hours. And provide protective measures for -40, which includes giving out protective cream(?). But I don't know how mandatory that is. It's quite possible that I've stumbled upon an individual company's policy.

I wouldn't want to stand around for 5 hrs in -20 degrees with nothing over my mouth.

What about 30 minutes? You'll lose about 10% of your head health in the game. How does that fit your idea of reality?

This is just blatantly wrong??? People get frostbite, it's a real thing that causes serious damage.

People can freeze to death at +5 and +10 degrees.

I'm not arguing that you can freeze to death. I'm arguing that you can freeze to death in a warm suit just because your face is open.

  1. Air is a poor conductor of heat. It's not water. Losing 7-8 degrees in 30 minutes (actually faster) is too fast.
  2. The human body is a barrel with a heat transfer fluid and a built-in heater. Blood makes a complete circuit in 4 seconds in the small circle (heart to lungs) and 20 seconds in the large circle (heart to other organs and parts of the body). This equalizes the temperature. And by expending energy, there is temperature maintenance or if you will, warming.
  3. Area heat loss. The area of the face, is much smaller than the area of the whole body. With warm clothing, the whole body warms the face.
  4. Mechanisms to reduce heat loss. But here it is better to address to those who know about them. I only know about constriction of blood vessels in the skin (reduces heat loss). And periodic shivering of the body to generate heat.
  5. Digesting food gives a person energy. This includes heat. So one method of fighting the cold is to eat something. And the more calories, the better. It's even better if it's hot.

but your expectations are so far from reality

It's mutual