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

Let Me Eat Ice #73804

Open
dead-letter-office opened this issue May 15, 2024 · 24 comments
Open

Let Me Eat Ice #73804

dead-letter-office opened this issue May 15, 2024 · 24 comments
Labels
<Suggestion / Discussion> Talk it out before implementing

Comments

@dead-letter-office
Copy link

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

After crushing ice into cubes with my hammer (normal) I am unable to eat the ice to gain refreshment.

Solution you would like.

I would like to be able to eat frozen water. This would be realistic (eating ice is a familiar and possible activity in reality), useful as an easy way to get quenched in winter survival situations, and shouldn't be a huge change(?).

Describe alternatives you have considered.

A crafting recipie that takes frozen water and uses my mouth as both a container and a heat source to turn it into drinkable water.

Additional context

I tried modding EDIBLE_FROZEN onto "water" but it didn't help me.

@dead-letter-office dead-letter-office added the <Suggestion / Discussion> Talk it out before implementing label May 15, 2024
@fairyarmadillo
Copy link
Contributor

Eating ice dehydrates you, especially in a survival situation. Your body burns energy melting the stuff and this also depletes your water reserves, resulting in a net loss.

https://www.sunnysports.com/blog/outdoor-myths-eating-snow-dehydration/

@dead-letter-office
Copy link
Author

I think the idea of eating ice being a net negative to hydration is an urban myth.

@EternalLaughter
Copy link

I don't see why eating ice shouldn't hydrate you, but you would need to let it melt in your mouth, and\or chew it, and this would require body heat\energy as well, to turn it from solid to liquid. It would also be pretty slow way to get hydration, as you can't just chug a liter of ice.

@Brambor
Copy link
Contributor

Brambor commented May 15, 2024

It could have negative calories, to be clear it takes energy.

@Brambor
Copy link
Contributor

Brambor commented May 15, 2024

I don't know about it dehydrating, didn't read the link, but that is necessary research. I suggest to do more research than the link provided.

@fairyarmadillo
Copy link
Contributor

I don't see why eating ice shouldn't hydrate you, but you would need to let it melt in your mouth, and\or chew it, and this would require body heat\energy as well, to turn it from solid to liquid.

This is why it dehydrates you. Your body loses heat and has to burn calories to replace it. Snow and especially ice take quite a lot of energy to melt - it takes 334 kJ to melt 1 kg of ice. 1 kcal is about 4 kJ, though you're not doing that with perfect efficiency obviously. Burning calories creates metabolic waste, which is processed into urine, causing you to lose water.

@EternalLaughter
Copy link

I don't see why eating ice shouldn't hydrate you, but you would need to let it melt in your mouth, and\or chew it, and this would require body heat\energy as well, to turn it from solid to liquid.

This is why it dehydrates you. Your body loses heat and has to burn calories to replace it. Snow and especially ice take quite a lot of energy to melt - it takes 334 kJ to melt 1 kg of ice. 1 kcal is about 4 kJ, though you're not doing that with perfect efficiency obviously. Burning calories creates metabolic waste, which is processed into urine, causing you to lose water.

The metabolic waste is where the logic stops for me. Why is the belief that this would cause a net negative in hydration?

And drinking room temperature water costs energy as well - as you do heat it up to body temperature.

https://pubmed.ncbi.nlm.nih.gov/14671205/

The best i could find for people drinking water and hydration would probably be linked below.
That is also after voluntary intake volume for athletes, in which case 16c was their conclusion, but I can't really interpret what it says, except it's probably related in table 2? Maybe?

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3761501/

@fairyarmadillo
Copy link
Contributor

fairyarmadillo commented May 15, 2024

That's not a valid argument. Warming room temperature water up to body heat obviously requires far less energy than melting ice and warming that up, and the ice is less dense than water so you're getting less out of it to boot. It's even worse with snow, which is full of air.

It is widely advised that people do not try to eat snow in survival situations, both because of the hypothermia risk and for the reasons previously stated. It may be that on the balance, you still get more water than you spend in some cases, but the burden of proof would be on the contributor to do the actual math.

It is probably possible to find out how much water is used by body heat generation for an average person. You'd have to go from there to work out an extremely rough estimate of the efficiency of eating ice vs drinking water, accounting for density, and then you'd have a reasonable quench value.

But given that common wisdom is that it dehydrates you, there are no ice cube items in the game, making them would be a chore most people wouldn't want to do, items don't defrost and melt at a proper speed (stuff just kinda flash freezes/melts), it almost never snows, snow would be impure and dangerous to eat, and a lot of characters don't generate much body heat to begin with due to mutations, it seems like a lot of work for little benefit.

@dead-letter-office
Copy link
Author

I don't mean to be crude but if the waste from burning 80kcals took more than a liter of water to flush, then someone getting through their 1800 kcal rda would be peeing 22 liters a day(!)

If I crush ice with my hammer ingame I just want to be able to eat the ice.

@dead-letter-office
Copy link
Author

FWIW I got my mod working. It wasn't a lot of work. Adding EDIBLE_FROZEN to "water_clean" does it. I assume it wasn't working for me on "water" because I was trying to eat frozen clean water which has NUTRIENT_OVERRIDE.

If a consensus emerges on the ticket I don't mind making a PR for it.

@fairyarmadillo
Copy link
Contributor

fairyarmadillo commented May 16, 2024

  1. how fast can you eat the ice
  2. does eating the ice make you cold
  3. does eating the ice require a tool ie a hammer or something to break it into edible bits (you are not wolfing down a 12oz block of ice)
  4. is the 10% volume difference between ice and water accounted for

At least 1, 2, and 3 would need to be solved imo, EDIBLE_FROZEN probably isn't a viable solution.

@dead-letter-office
Copy link
Author

  1. I could probably eat a 250g handful of ice gravel in 16 seconds, which is the current consume time.
  2. The game doesn't yet model the biological thermodynamics of food so it does not.
  3. I'm sure smashing ice into perfect 250g lumps is just a game abstraction which can extend to eating it.
  4. In the game it seems like 250ml of water becomes 250ml of ice.

@fairyarmadillo
Copy link
Contributor

fairyarmadillo commented May 16, 2024

But ice doesn't freeze into gravel. It freezes into a big lump. Smashing it would require at the very least a hard surface, something to hit it with, time, energy, etc.

@dead-letter-office
Copy link
Author

Not sure we're on the same page. Currently in game when you try and pick up ice from a frozen body of water the player character uses a hammer to smash it up into chips that can be carried, melted, thrown etc. (but not eaten).

This ticket is about the ability to eat frozen water after it has already been violently smashed up with a hammer.

@fairyarmadillo
Copy link
Contributor

fairyarmadillo commented May 16, 2024

That works for water source furniture and terrain, but if you have, say, a 2 liter bottle full of water and it freezes, if it has edible_frozen, you can swallow the whole thing quite quickly without any work to break it up or get it out of the container, that obviously doesn't make sense.

@dead-letter-office
Copy link
Author

When you (g)et frozen water out of a bottle, the game gives a "you crush up the ice" message, so it seems like the game's stance is already that removing frozen liquids from bottles includes an automatic, implicit crushing step.

@EternalLaughter
Copy link

That's not a valid argument. Warming room temperature water up to body heat obviously requires far less energy than melting ice and warming that up, and the ice is less dense than water so you're getting less out of it to boot. It's even worse with snow, which is full of air.

It is widely advised that people do not try to eat snow in survival situations, both because of the hypothermia risk and for the reasons previously stated. It may be that on the balance, you still get more water than you spend in some cases, but the burden of proof would be on the contributor to do the actual math.

It is probably possible to find out how much water is used by body heat generation for an average person. You'd have to go from there to work out an extremely rough estimate of the efficiency of eating ice vs drinking water, accounting for density, and then you'd have a reasonable quench value.

But given that common wisdom is that it dehydrates you, there are no ice cube items in the game, making them would be a chore most people wouldn't want to do, items don't defrost and melt at a proper speed (stuff just kinda flash freezes/melts), it almost never snows, snow would be impure and dangerous to eat, and a lot of characters don't generate much body heat to begin with due to mutations, it seems like a lot of work for little benefit.

You have still not given any arguments as for why the net hydration is negative, except for that you say it just is, and it's "common wisdom".

Your other arguments are more for why you shouldn't do this with random ice and snow, which is fine, you shouldn't drink toilet water either, but you can.

@fairyarmadillo
Copy link
Contributor

fairyarmadillo commented May 16, 2024

You have still not given any arguments as for why the net hydration is negative, except for that you say it just is, and it's "common wisdom".

Yes I have. If you spend two seconds googling the issue you will find many, many sources making the dehydration argument. I shared one such link at the outset. It is not definitively debunked anywhere that I can find, though there are scattered instances of counterclaims. The issue should be definitively answered with a reliable source before implementation, and the burden of proof is on the people trying to make the change.

Your other arguments are more for why you shouldn't do this with random ice and snow, which is fine, you shouldn't drink toilet water either, but you can.

No, they aren't. That was not a blocker, it was a reason the player wouldn't particularly want to bother, which was a point against putting a contributor to the trouble. It is disingenuos to paint that as the primary thrust of my other arguments.

The reasons I posted are primarily about how the game should not allow you to take 1 second bites out of a 300 liter block of ice which is trapped inside of a steel tank or narrow-necked bottle.

When you (g)et frozen water out of a bottle, the game gives a "you crush up the ice" message, so it seems like the game's stance is already that removing frozen liquids from bottles includes an automatic, implicit crushing step.

Unless I am mistaken, your solution doesn't use that, it just allows you to (E)at the ice straight out of the bottle without spending any time breaking it down. The ice-crushing that exists in the game currently is not an implicit process, it is an explicit one which requires tools and should not be circumventable.

Crushed/chipped ice has the SHREDDED flag. The solution, rather than EDIBLE_FROZEN, is probably to make SHREDDED frozen comestibles edible at a consume speed penalty, which would easily be accomplished in C++. That would also allow any future concerns about the ice chipping process being too fast or easy to focus just on that implementation and not on the comestibles themselves.

This would also allow people to eat frozen versions of other liquids, like juice, cola, or blood, and would not require manually flagging every liquid comestible in the game.

@IdleSol
Copy link

IdleSol commented May 16, 2024

I was interested in the energy consumption of eating ice.

1 game unit of water = 250 ml, 250 g.

Let's determine the weight and volume for 1 unit of ice. 1 g of water = 1 g of ice. So 1 unit of ice weighs 250 g. Density of ice = 0.9167 g/cm^3. The volume is 250 / 0.9617 = 272.717 cm^3 = 273 ml.

Therefore, 1 game unit of ice = 273 ml, 250 g

Condition. We have 1 unit of ice (250 g). We need to turn it into 1 unit of water. How much energy do we need to use?

To solve, we need to know the temperature of the ice and the temperature of the water. With water, it's simple, we expend energy until it warms up to body temperature or 36 degrees.

For ice. Let's make an assumption. We're talking about ice from the freezer. I have it set at -16. But it's adjustable. So let's assume -10.

Note. The characteristics of ice and water depend on temperature and pressure. But this is not a scientific article. So I won't take these dependencies into account. (And because I'm likely to make mistakes).

So. Specific heat capacity of ice = 2.1 J/(g*K). Specific heat capacity of water = 4.2 J/(g*K). Specific heat of fusion of ice = 332.4 J/g. (This is a direct translation, I'm not sure, in English it seems to be enthalpy of fusion)

Energy spent to heat 1 unit of ice to 0 degrees Celsius = 250 * 2.1 * (0 - (-10)) = 5250 J
Energy spent to melt 1 unit of ice = 250 * 332.4 = 83,100 J
Energy spent to heat 1 unit of water to 36 degrees = 250 * 4.2 * (36 - 0) = 37,800 J

Total 126 150 J or 30 kcal (126 150 / 4184).

It's not that much. Since the norm is 3000 kcal per day.

If we use the myth of 2 liters of water per day. It takes 20ml of water per 30 kcal. This is clearly less than the water you get. (Funny thing is that with 250ml of ice we get 250ml +23ml of water I've made a mistake)

So the problem isn't that eating ice will give you less water than you use up. The problem is the composition of that water. Salts, minerals, and other things that humans lose in the process of life. And that's not in frozen water. Snow is actually distilled water.

But it will affect you on a long term diet. When you only eat snow or ice. Or when you're under a lot of physical strain. And in the game, this problem is solved simply by taking vitamins.

Back to snow. Freshly fallen snow has a density of 100-150 kg/m^3 (so says the internet). Or 0.1-0.15 kg/liter. Or you need to collect 6-10 liters of snow to get 1 liter of water.

@fairyarmadillo
Copy link
Contributor

fairyarmadillo commented May 16, 2024

That sounds reasonable to me. I think my only argument then is that EDIBLE_FROZEN isn't the right method and making SHREDDED liquid comestibles edible in consumption.cpp, with an appropriate increase in consumption time, would work a lot better and as stated would allow for all frozen drinks to be consumed this way.

@IdleSol
Copy link

IdleSol commented May 16, 2024

Back on topic. You could add a recipe for making ice. Where to include ice molds and a freezer requirement.

This would create ice that can be eaten. Thirst quenching like water. But with an additional kilocalorie expenditure.

Basically 1 unit of water yields 10 units of ice (ice cubes). Thirst quenching, divided by the number of cubes. Call it pure ice(?). After that, you can look towards recipes that require ice. Cocktails, alcohol, something else?

Although I prefer the option with the additional effect of lowering body temperature. Temporary, of course.

For regular frozen water, add a prohibition to remove it from the container. Or add a flag that will prohibit retrieving frozen liquid from it. That way, if your water freezes, you won't be able to get it out of a bottle or flask. But you will be able to get a chunk of ice out of the pot.

Is it necessary to turn several units of water into one big chunk of ice? And is it possible? The difficulty is that the input is an arbitrary amount of water.

With ice that can be taken from puddles, rivers and other sources. We get regular ice, with the same problems as regular water. You could eat it, but the consequences are the same as drinking water. Perhaps without parasites?

Its main use was to lower the temperature and to build warehouses to store food. In our country it was called a "ледник" (Wikipedia says that it's an ice house). A hole in the ground, usually in a cellar, where large chunks of ice (cut from rivers) are brought in the winter. In addition, you can do thermal insulation. In general, you get a room with negative temperature.

In game conditions, it's a building or furniture for food storage, with reduced spoilage rate and/or freezing. Additionally furniture, for cooling, that will give cold air (?) in the 2-3 tile area. Or maybe just a field with reduced temperature. Relevant for summer, if you don't want to live in basements for some reason.

@dead-letter-office
Copy link
Author

My worry is that saying this has to be part of a bigger c++ rework of frozen stuff handling mean it won't get picked up, or will take a long time, or will take more time than it's worth.

As far as I can see here the arguments against a simple EDIBLE_FROZEN flag are

  1. It will let players eat crushed ice unrealistically quickly
  2. It will let players eat ice out of a bottle of solid frozen water which strains imagination

1 doesn't seem like a huge problem - the current 16 second consume time for 1 unit of crushed ice isn't off by much if at all. 2 doesn't create any problem that doesn't already exist with (g)etting ice out of a bottle.

Just adding the flag (even to cola etc.) is a simple, maintainable, low-impact json change that will take 5 minutes and seems fine(?).

If eating frozen food has to take longer (e.g. chewing through a frozen protein ration) or affects body temperature (e.g. gorging on icecream) those seem like separate tickets that don't directly & uniquely relate to this one. They're general issues that have only been highlighted here because of the unusual level of debate on this simple change to let me eat ice.

@natsirt721
Copy link
Contributor

natsirt721 commented May 17, 2024

I don't think making frozen water directly edible is the proper solution. There are many factors at play, but item 2 here...

2. It will let players eat ice out of a bottle of solid frozen water which strains imagination

...breaks the concept for me. I don't disagree that you should be able to eat ice, but lets not confuse 'frozen water' with 'ice' - I can eat an ice cube or crush ice, but I'm not chomping down on a water bottle-sized block. To me, frozen water in game is closer to block ice than ice cubes, and should therefore be considered inedible without breaking it down into cubes or crush ice. You ever tried to get frozen water out of a plastic water bottle? It's pretty much impossible without cutting the bottle off of the ice. And, I think the "you crush up the ice" message is a hand-wave to get around the fact that frozen liquids aren't handled that well right now.

On the 'value' side, my impression was that eating snow/ice was not a big deal from a dehydration perspective, but from an energy conservation perspective. Sure you'll get the hydration that you might need, but you are spending body heat (ie, caloric energy) to bring it up to body temperature. I would naively expect a positive quench (perhaps reduced from water's value, per weight) but a negative caloric value - I also have exactly 0 sources to back this expectation up. Generally speaking eating ice would be be inadvisable but a desperate survivor might decide that the tradeoff is worth it for whatever reason.

Finally,

My worry is that saying this has to be part of a bigger c++ rework of frozen stuff handling mean it won't get picked up, or will take a long time, or will take more time than it's worth.

This attitude is not constructive. Wanting something done quick in the face of both contention and an advised 'correct' solution will only create more work for people in the future - people who presumably aren't you or are doing it for your goodwill. I understand the desire to have your change implemented, but if it is going to be negative work in the face of a proper system for little gain, then it isn't worth anyone's time to consider.

@Brambor
Copy link
Contributor

Brambor commented May 17, 2024

I can eat an ice cube or crush ice, but I'm not chomping down on a water bottle-sized block

This might be similar to corpses, which are also inedible, I believe. Though, for different reasons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
<Suggestion / Discussion> Talk it out before implementing
Projects
None yet
Development

No branches or pull requests

6 participants