Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign upStomach Contents #28049
Conversation
KorGgenT
force-pushed the
KorGgenT:stomach-contents
branch
from
8dc8679
to
6e376a6
Feb 4, 2019
This comment has been minimized.
This comment has been minimized.
|
Looks like at least your first commit, maybe some of the others, did a lot of unnecessary astyling. See CONTRIBUTING.md, third section down ("Code Style"): "Current policy is to only update code to the standard style when changing a substantial portion of it, but please do this in a separate commit." I'm not entirely sure why that is, but my first guess would be that widespread astyle has a good chance to conflict with other PRs. If you mix said widespread astyle in with your actual code changes (within the same commit), it becomes much harder to separate it to resolve conflicts. Idea looks good at first glance, though! Biggest concern I have is that it might not be fun to have to worry about a more realistic digestive system... but I can't be sure of that by just looking at the changes in code. Does the new system enforce more regular meals compared to the old one, and is that a good balance decision compared to the extra effort required from the player? Does it make it harder to keep track of anything else, or make any other kind of mandatory player intervention more important/frequent? Does it do the opposite in any of these cases (making things easier for the player might also be less than ideal)? In this case, I'd say just playtesting the idea is a good approach. I'm also not entirely sure whether the new system is more realistic... but that's probably because I'm not all that well-versed in biology. I'll leave that analysis to the people who are. |
This comment has been minimized.
This comment has been minimized.
I'm aware of that. please read the last line of the OP. For now I'm going to leave it as-is because it'll be a big pain to fix.
I'm hoping to address this by how it handles hunger. You won't have to pay super close attention to your intake, at least to keep yourself from starving to death. A possible side effect is gaining 15 pounds in several years, but... I'm willing to live with that.
"enforce" is a little strong of a word here. You just get hungry after 4-ish hours. You also do not need to eat three cows to not be hungry anymore. As far as "extra effort..." that remains to be seen. I still need to buckle down and play a world with this system to see how it goes.
Honestly it should be about the same. Thanks for your feedback. As you can see by the title, it's a work in progress, and there's actually quite a bit more work to do to wrap up little things that don't quite work the same as they used to. |
This comment has been minimized.
This comment has been minimized.
|
At fiest glance this looks impressive. That said, it is kind of scary to see a change this big, because eating and managing my health in real life is tricky. Maybe limit this to complex nutrition? |
This comment has been minimized.
This comment has been minimized.
|
Agree about disabling this for Simplified Nutrition. Also, make sure you account for mutations like Extreme Metabolism that metabolize food so quickly as to heal from it. |
ZhilkinSerg
reviewed
Feb 4, 2019
msvc-full-features/WINDEPEND.props Outdated
This comment has been minimized.
This comment has been minimized.
KITbutler
commented
Feb 4, 2019
Not just metabolism, look at Omnicellular! With that one at the latest post-thresh slimes no longer really have a regular stomach and splitting off should require both excess calories and volume. Have you adjusted vomiting, including the negative effects of ingested chemicals? While I wouldn't recommend RL testing even stuff like sewer water should be much less harmful if you puke it back up right away. |
This comment has been minimized.
This comment has been minimized.
Actual hunger feeling depends on how much nutrients do you have in your blood. Using extrastomach feeding will keep you sated even without actual food in the stomach during last few days. Or ask any bear about hibernations. Eating a lot of warn diet zerocalories things can temporary suppress the hunger, but will not remove malnutrition debuff. So actual hunger feeling must be separate from malnutrition debuff.
There is And will it keep track on actual stomach contest? Something like "You vomit your hamburgers x2 and cookie (old)". |
This comment has been minimized.
This comment has been minimized.
|
@KorGgenT A thing UnReal World does as well, is have the hunger increase faster if you're malnourished, to help you catch up. I also think that 45 days to starve is too much. It makes sense IRL, but not ingame. That's longer than most shorter playthroughs last. I'd even say 14 days would be on the "too much" side. I'd also love the feature of wounds healing consuming extra calories, same with sprinting and such, and for that I think it would be a good idea to split calorie storage into: Calories in the player's "system", calories stored as fat, and calories in other cells, e.g. bloodstream/reserves/starvation meters. Having one meter for both current energy and starvation sounds a bit off, to me. |
This comment has been minimized.
This comment has been minimized.
|
Please be aware of how hunger and metabolism affects player heat calculation in player.cpp and if your changes will still feed similar numbers into that calculation. |
This comment has been minimized.
This comment has been minimized.
paulenka-aleh
commented
Feb 4, 2019
•
|
One more question I have is how actually bionics tied to digestive system will work. They include Expnded Digestive System which claims to add 3 synthetic stomachs and probably replaces existing one, Recycler though potentially mounted into intestines and Metabolic Intercharge which is probably taking calories from bloodstream. Edit: Also Ethanol Burner seem to be involved given the fact that alcohol still affects your brain but gives energy at the same time. |
This comment has been minimized.
This comment has been minimized.
paulenka-aleh
commented
Feb 4, 2019
•
|
I'm also sending below list of mutations that looks to be involved and probably should be reviewed:
There're also thirst-related mutations, allergies and strong / weak stomach mutations but looks like they can work as they're. |
This comment has been minimized.
This comment has been minimized.
|
All right everyone, I have heard your concerns and have added them to the list in the original post. No, i will not be allowing you to disable this via simplified nutrition. |
This comment has been minimized.
This comment has been minimized.
|
If you're not going to turn this off with Simplified Nutrition, it's not my place to object to that. One thing I do want to ask is how migration is handled when people update from the old hunger system to the new one. I specifically want to avoid people saying "I updated my game and my character immediately dropped dead from starvation". |
This comment has been minimized.
This comment has been minimized.
Your kcal will be set to levels as if you just started the game. That's the plan. |
This comment has been minimized.
This comment has been minimized.
|
anyone have any comments on what "fat deposits" should do with a functional fat storage system already in place? it sort of seems out of place as a mutation at this point. |
This comment has been minimized.
This comment has been minimized.
|
Depends on exactly how calorie storage storage is handled when above "default" level of fat. |
This comment has been minimized.
This comment has been minimized.
|
all right. this appears to be ready for some playtesting. |
This comment has been minimized.
This comment has been minimized.
|
I'm not really a big fan of this PR, as it adds more tedium, and I question why we need a more complicated food system, when the current on works perfectly fine. |
This comment has been minimized.
This comment has been minimized.
so you've tested it and found it tedious? how might the hunger logic be improved then? |
This comment has been minimized.
This comment has been minimized.
|
@Frost-wood what do you perceive as added tedium here? |
This comment has been minimized.
This comment has been minimized.
|
I find eating in game, once you pass a certain point tedious, and this adds to it by having to monitor your kcal intake would make it more tedious. What it comes down to it there are only negatives, and no positives to maintaining your 'ideal' weight. You don't eat enough, you starve, and if you eat too much, you go overweight and take penalties there(in a future PR). As a player, there is no benefits to adopting this system, it'a one more thing that I have to worry about without benefit. What would fix it would be to give a slight increase to max stamina/recovery and maybe a lower increase to overall fatigue, if maintain a weight in a optimal zone. The technical issues with the PR I'll put in a separate post. |
This comment has been minimized.
This comment has been minimized.
|
For the technical issues I'm finding looking through the PR, is: You've stripped out functionality of some mutations without updating the descriptions-Gourmand being a standout one. One of the key features of Gourmand mutation is that you can overeat without consequence, you've cut it out completely without updating the description. There is also a lack of feedback as too whether you gaining fat or losing fat. There is no clear way for the player to know I've eaten, but I need more calories, or I've eaten, but I'm going to gain weight. It's one of the reasons I stick to simplified nutrition-which you need to make it compatible, otherwise you are going to break saves, as a lot of players run with this mod, and breaking saves makes it unlikely that this will be merged. |
kevingranade
added this to Candidate
in 0.E Release
Feb 18, 2019
KorGgenT
force-pushed the
KorGgenT:stomach-contents
branch
from
00819be
to
12ae652
Apr 5, 2019
This comment has been minimized.
This comment has been minimized.
|
i'm happy with where this sits, i'd say it's ready for merge testing! |
This comment has been minimized.
This comment has been minimized.
|
Drank 100 bottles of clean water without quenching my thirst. |
KorGgenT
added some commits
Apr 6, 2019
This comment has been minimized.
This comment has been minimized.
|
Copy and pasted from reddit. Figured different people would see it here... I didn't take gourmand, but I've been trying to adjust to the stomach idea. I don't feel like I'm eating more, and I'm tracking my calories, so I don't eat sometimes even when I'm hungry. Which is a bonus I think. We don't always eat when hitting hungry IRL. How many times have you heard a friend say, "I'm starving." Not that they're actually starving, but it's common not to eat when you first feel hunger. I do feel like there is a disconnect from eating and feeling full/thirsty. It feels like it takes too long to get feedback about eating and drinking. For example, when I finish eating IRL, I may not feel full, but I don't feel hungry. But that effect is immediate. It feels in game that I still feel hungry for a while after eating. It makes me keep checking my stats through debug to make sure things are working okay. I could get used to it, and know it well enough to know how much to eat and when, but it doesn't feel natural to me right now. When I drink a bottle of water IRL, I don't feel thirsty for another few minutes afterwards. I feel the results immediately. |
This comment has been minimized.
This comment has been minimized.
Alapaga
commented
Apr 7, 2019
•
|
This is my first impressions feedback for playing this... Then i drank 2 liters of soda pop, intelligence went from 9 to 13, book was read to bring computers from 6 to 7 in no time, then drinking another 2 liters and reading that book again levelled up computers to 8. There's no way this is the intended behaviour for how easy it is to get the stat boosts. I do have the gourmand trait, but i don't know if that's why I can get away with this. There's another thing, I felt my character was constantly hungry, because of the delayed processing of liquids, and the fact they only bloat you up, it was hard to manage my hunger accordingly, i had the general impression that my character is always some form of hungry. I would expect on this mod to have an intermediate state of hunger where you are not hungry and not full, you just shouldn't think about food for 3 hours after eating a meal, and the Fullness effect only lasts an hour or so, before the food is processed further down, so yeah, having no intermediate feeling between being Full and Hungry throws up the realism for me somewhat. Well, I made two solid points, i'm gonna go play further and see if this guy is gonna get out of the lab, i'll report my further feedback in due time. Thanks for reading me! |
This comment has been minimized.
This comment has been minimized.
as you are deriving your calories from soda, there's no intermediate between full and hungry because... welll... |
This comment has been minimized.
This comment has been minimized.
Alapaga
commented
Apr 7, 2019
|
Upon further play i definitely feel the same thing as @zombiethoughts
Resoving the dilemma could be as simple as displaying the updated status of hunger/hydration predictively, even tho the digestion process didn't happen yet. Having to wait for the update of the status made me overeat and overdrink most of the time (as food was abundant, and there's no reason to keep my character hungry) and being a gourmand definitely doesn't help with controlling how much food i should be eating. Bringing up debug menu is not intuitive to me, i did it a little more regularly to see how things change, and it does help calculating the calories you're eating. Speaking of calculating calories, I do not like the idea of being afraid to gain weight and having to calculate calories to keep fit in the long run. The survivors of the cataclysm are very active humans (mutants/robots for some) and I think that they certainly could get away with eating more calories and still keeping fit. The daily allowance of 2000kcal is really for a person that's driving to work and work is sitting for 9 hours. i wouldn't exactly qualify a survivor as being "sedentary". I think if it was possible to implement more hunger/thirst buildup as you do exercise (baseballbatting zombies and draggin a 300lbs cart) there should be more wiggle room before becoming a couch potato survivor.
When you don't adress the hunger, you do get speed debuffs, so there is a drawback to not eating when you're hungry. Suffering from a speed debuff while actually trying to hunt down a creature you wanna eat... And that's not how things work in reality, except if you're famished and parched. The speed penalties for being very Hungry and very Thirsty are too overblown in my opinion. Bar the extremes, there should not be a penalty that's gonna apply to all what you're character is doing because he's too hungry to function. I am all for changing the threshold numbers for hunger and thirst to have a more natural feel to them. When you are hungry, you start thinking about it, but it's not affecting how you perform right away. And when you're full, you should be somewhat sluggish while the digestion happens, so there's a time after you just ate where your body doesn't feel like running a race right away, and that's a speed debuff that's understandable too. |
This comment has been minimized.
This comment has been minimized.
I think if the player's stomach is full, it should set both hunger and thirst feedback to "full", then as the stomach empties out, hunger and thirst takes over again. |
This comment has been minimized.
This comment has been minimized.
|
all right, i can remove the speed debuffs for regular hunger. as far as not liking counting your calories to stay ideal weight... you do know that's why obesity is so prevalent today? i've got the amount of calories you can store capped for now, so i can focus on the balance of that in particular in a future PR though. @kevingranade i do this already thakns for your feedback, i'll look at updating the distributable after making some tweaks |
KorGgenT
force-pushed the
KorGgenT:stomach-contents
branch
from
b7b36e4
to
10aa47d
Apr 7, 2019
This comment has been minimized.
This comment has been minimized.
Alapaga
commented
Apr 8, 2019
|
I played around with the new release, I must admit that drinking water and other liquids still feels cluncky. Quenching thirst should be instant, if drinking a sufficient amount of liquid. I suggest having water be processed at a different speed than the other things. If it is impossible to implement that way, I suggest having the "displayed" thirst be instant. I don't wanna wait for my water to hit my intestines before I realise that I overdrank because of lack of feedback. This is aggravated by me playing with the trait "Gourmand" where I can literally drink a gallon of water and feel turgid for the next two hours, and still be able to drink stuff while i'm Turgid and the content of my stomach is emptied... There's a way where this problem could be solved, and many others by the same token, and it is to make the eating action take some time. I suggest attributing a time value to each food item, and that would be the time it takes to eat said item. If it is a half a pound of cooked meat a reasonnable time to consume it would be around 3 minutes, half of that if your character is famished, and 30 seconds if you were starving. Same reasonning would be applied to other foods. Healthier options would take longer to eat than junk food, making it easier to digest those in general. That way, part of the "processing of your stomach content" time would be wasted while eating the meal itself. And the only limit to how much food you can consume would come from it taking longer to eat the food, and possibly a negative speed debuff after binge eating, taxing your ability to do a marathon on a full stomach. That way there would be also a soft cap on how much stat boosting you can do with consuming certain food, cause going over the "overeating" threshold would prove counter productive. If i wanted to say "i'm going on a fight so i'm gonna take a swig of shnapps to bolster my strenght", it's not like i could drink two bottles of whisky and feel stronger and stronger as time goes on. Same goes for sugary drinks that boosts intelligence. having a slowdown after having a turgid stomach would prevent the speed benefit of reading a book while your stomach is full of soda pop and your intelligence is shooting up as you are digesting the soda. That's my rant over for the day, I hope you guys had fun reading me, feel free to discuss any ideas further with me on discord, tag @Alapaga#5675 . Thank you guys! |
This comment has been minimized.
This comment has been minimized.
|
all right, i can adjust the UI a little more. it sounds like that's all? the "time spent eating" thing might be a little out of scope for this PR however |
kevingranade
merged commit 4c5dace
into
CleverRaven:master
Apr 9, 2019
0.E Release
automation
moved this from Non-vote Candidate (Maintainer's Choice)
to Done
Apr 9, 2019
This comment has been minimized.
This comment has been minimized.
Most people today don't need to run all over the place on a day-to-day basis. Obesity has become a problem in the 21st century (this is a generalization, but bear with me here) for two key reasons.
I'm honestly not qualified to say whether or not removing factor two is enough to get rid of obesity across the board, but from a gameplay perspective, keeping your character well-fed shouldn't come with major drawbacks. |
This comment has been minimized.
This comment has been minimized.
|
This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there: https://discourse.cataclysmdda.org/t/latest-experimental-features/5582/1106 |
This comment has been minimized.
This comment has been minimized.
|
This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there: https://discourse.cataclysmdda.org/t/is-there-a-way-to-disable-the-stomach-contents-system/19619/8 |
This comment has been minimized.
This comment has been minimized.
|
This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there: https://discourse.cataclysmdda.org/t/is-there-a-way-to-disable-the-stomach-contents-system/19619/9 |
KorGgenT
deleted the
KorGgenT:stomach-contents
branch
Apr 10, 2019
This comment has been minimized.
This comment has been minimized.
|
This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there: https://discourse.cataclysmdda.org/t/help-with-hunger/19672/2 |
This comment has been minimized.
This comment has been minimized.
|
This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there: https://discourse.cataclysmdda.org/t/experimental-build-improvement-and-problems/19839/8 |
KorGgenT commentedFeb 4, 2019
•
edited
Summary
SUMMARY: Features "Hunger becomes based on stomach volume instead of kCal"Purpose of change
Currently it's really weird that if you're starving to death you can eat like 10 hamburgers to fill yourself up. I propose making hunger more related to stomach contents, and additionally change the death checks for starvation to be based on the amount of calories you have available to you. This will lay important groundwork for a future fat effects system. It already adds the storage part, but is capped because getting fat has no negative effects for now.
Closes #25586
Describe the solution
I basically simulate the stomach and digestive system.
I have changed what the hunger message on the UI means, due to starvation not really being the same thing anymore.
Gorged, Sated, and Full are directly related to how much food is in your stomach. Any character can have these descriptions now.
You are "Hungry" if it's been a few hours since you've eaten. (not related to how much you eat!)
You are "Very Hungry" if you are "Hungry", and additionally if you have a calorie deficit.
You are "Famished" if your body is running off of fat stores totally, and have a calorie deficit.
Since hunger doesn't determine your death anymore, I have added a "calorie storage" to players, such that when it hits 0 you have died from starvation. At a healthy weight, a person can survive for roughly 45 days until death. I have also added a few calories to the player's stomach at the start of the game as well, to avoid "Very Hungry" and "Famished" at game start. A Player burns roughly 8 kcal every 5 minutes, with modifiers based on metabolism. I have added the stomach information to the "check game state..." debug option as well.
Additional context
Really needs some playtesting. I've gotten all the most obvious bugs as of now.
Also open to suggestions of altering the hunger logic
Also, I seem to have accidentally astyled a couple files on the blacklist. i'll open a separate PR to handle that so I don't have to figure out how to un-astyle it.
replace get_hunger():
review mutations:
misc:
these are items that need to be addressed in a separate PR:
requires #28572