Difference between revisions of "Saturation"

From RimWorld Wiki
Jump to navigation Jump to search
Line 145: Line 145:
 
** Human [[child]]: {{Good|x80%}}
 
** Human [[child]]: {{Good|x80%}}
 
** Human [[teenager]]: {{Good|x90%}}
 
** Human [[teenager]]: {{Good|x90%}}
** Insect larve: {{Good|x40%}}
+
** Insect larva: {{Good|x40%}}
 
** Insect immature: {{Good|x75%}}
 
** Insect immature: {{Good|x75%}}
 
** Other animal baby (including birds): {{Good|x40%}}
 
** Other animal baby (including birds): {{Good|x40%}}

Revision as of 04:38, 6 April 2023

Saturation is the game mechanic that controls Characters' needs for Food, and is directly tied to Eating, the game mechanic which fills that need. A character with a higher saturation value has eaten recently, and is more full than another character with a low saturation level. You can view saturation of all humans and tamed animals by viewing the "Food" bar and the corresponding mouseover text in the Needs tab.

General mechanics

Saturation is measured in units of nutrition. There are 2 distinct measures of saturation.

  • Maximum nutrition, or how much nutrition a pawn can store at any one time. It is dependent on the body size of the species as well as the body size factor and food max factor according to the pawns life stage. The function is species_body_size × body_size_factor × food_max_factor. For adult specimens body size factor and food max factor are both 1. An adult human (with a body size of 1) can therefore hold up to 1 nutrition.
    • For young humans the formula results in:
      • Baby (0-2 years): 1 × 0.2 × 0.625 = 0.125 maximum nutrition
      • Child (3-12 years): 1 × 0.35 × 2.286 = 0.8001 maximum nutrition
      • Teenager (13-17 years): 1 × 0.8 × 1.25 = 1 maximum nutrition (therefore same as adults)
    • For young insects:
      • Larva: species_body_size × 0.2 × 2 = species_body_size × 0.4
      • Imature: species_body_size × 0.5 × 1.5 = species_body_size × 0.75
    • For other young animals:
      • Baby (birds): species_body_size × 0.1 × 6 = species_body_size × 0.6
      • Baby (other): species_body_size × 0.2 × 3 = species_body_size × 0.6
      • Juvenile: species_body_size × 0.5 × 1.5 = species_body_size × 0.75
  • Hunger Rate, or how much nutrition a pawn loses per day. Adult baseline humans hunger at a rate of 1.6 nutrition per day. This is determined by species and the Hunger Rate Factor explained below.

In general, humans hunger more than similar animals. An alpaca has the same body size as a human, but only hungers at a rate of 0.44 nutrition per day. A megasloth is four times larger than a human, but hungers at the same rate. Generally, predators hunger slowly - a cougar eats less than half as much as a husky, for instance.

Levels of saturation

Characters' saturation level is grouped into four thresholds: Fed, Hungry, Ravenously Hungry, and Malnourished. Each threshold exhibits different effects on a character, especially their Thoughts.

The saturation level boundaries are indicated by small notches on the "Food" bar in the tab of eating pawns.

Label Saturation Mood modifier
(Humans)
Production Rate
(Animals)
Fed Greater than 25% (none) ×100%
Hungry 12.5% to 25% -6 ×50%
Ravenously Hungry >0% to 12.5% -12 ×25%
Malnourished 0% -20 ×0%

Speed of animals' production (wool, milk, eggs or chemfuel) is also dependent on the saturation level, as seen above. Note that production is completely stopped only when 0% saturation; the "malnutrition" ailment does not have a direct impact on animal products.

Malnutrition

Once a pawn reaches 0% saturation, they will start becoming malnourished.

When malnourished, pawns gain severity in "malnutrition". Malnutrition is an ailment, with an entirely separate progression to hunger or saturation. When malnourished, malnutrition severity rises by 2% every hour, and once it reaches 100%, the pawn will die. When a pawn is fed, their malnutrition does not immediately go away, though a pawn will no longer gain malnutrition (as Saturation is no longer at 0%).

For as long as the malnutrition ailment is active, pawns will gain increased hunger. This does not increase the rate of malnutrition severity, just the amount of food after a pawn has been fed.

Saturation changes

Saturation goes down every tick (1/2500 of a game hour), depending on the character's current saturation and modifiers on their hunger rate.

The following table describes saturation changes of an adult baseline human (100% hunger rate, 1.6 nutrition/day, 1.0 max nutrition):

Saturation Threshold range Change per hour Change per day Game time in state[1] Game time since 100% food[2]
Fed 100% - 25% -6.67% -160% 11.25 hours 0 hours
Hungry 25% - 12.5% -3.33% -80% 3.75 hours 11.25 hours
Ravenously Hungry 25% - >0% -1.67% -40% 7.5 hours 15 hours
Malnourished 0% N/A [3] N/A 50 hours 22.5 hours
  1. Game time spent in the state from the upper threshold before crossing the lower threshold, assuming nothing is eaten
  2. Game time spent before entering the state, assuming nothing is eaten and the starting saturation is 100%
  3. Malnourished does not impact saturation directly. Rather, it increases the "Malnutrition" ailment by 2% per hour, and when this reaches 100%, a pawn dies. This ailment will increase hunger rate of a pawn, but only when they have access to food again.

From 100% saturation, a human can survive up to 72.5 hours before dying from malnutrition.

Saturation is increased by eating food. For reference, 1 unit of raw food (rice, meat, etc.) gives 0.05 nutrition, or 5% of a human's saturation meter. A simple meal, fine meal, or nutrient paste meal gives 0.9 nutrition, or 90% of a human's meter.

Hunger Rate Factor

The following things will modify hunger rate:

Offsets

All hunger rate factor offset modifiers stack additively. Once added up, they stack multiplicatively with other modifiers to hunger.

Multipliers

All of these modifiers stack multiplicatively with each other and with the hunger rate factor offsets listed above.

Despite its name and description, the Metabolism stat has no impact on hunger rate.

Overeating

Pawns will attempt to eat as their next action once their saturation level reaches 30% to avoid being hungry. Pawns make no effort to avoid "overeating", so any excess nutrition in the food is lost. A default pawn that eats a simple meal (0.9 nutrition) as soon as it is hungry (0.30 saturation) will go to 1.0 saturation and waste up to 0.20 nutrition of food (22% of the meal). In practice, the process of eating takes some time, so not all the food is wasted.

This effect is stronger in animals with lower body sizes - a Labrador retriever with 0.75 body size will get hungry at .1875 saturation and waste .3375 nutrition from the same simple meal. Smaller, more fungible food sources like berries or haygrass (0.05 nutrition) have less of this waste, as the waste will never exceed a single item's worth of nutrition.

This makes kibble and pemmican particularly useful as feed for smaller sized animals. These foods provide more nutrition than raw food, but won't be overeaten like a regular meal would.

Analysis

An adult baseline human will eat roughly 2 simple meals, 32 units of pemmican, or 32 units of raw food per day.

Cooking food effectively "creates" nutrition. A simple meal is worth 0.9 nutrition, but only costs 0.5 nutrition of food to make. This gives simple meals a 180% nutrition efficiency, before the overeating described above.

Due to the low food consumption of animals, as well as the efficiency of meals, it is possible to violate the laws of thermodynamics. For example, a female cow produces Milk 14 per day, or 0.7 nutrition in milk per day. A cow consumes 0.86 nutrition per day. While cows cannot consume milk, almost all animals can consume meals, no matter what the meal is made out of. So when a cow's milk is turned into nutrient paste meals or even simple meals, it can feed itself with plenty of food to spare. This gets even sillier with chickens, which produce more nutrition in eggs than it consumes per day, even before the eggs are cooked. (Note that chickens cannot eat their own eggs, and that they are very prone to overeating.)

Conserving food via malnutrition

In extreme situations, it may be advisable to stay in a hungry state to benefit from the reduced hunger. Note that this requires significant micromanagement to pull off. Forbid the food and unforbid it when pawns are about to fall unconscious.

Consider, for example, a human at 0% saturation and 0% malnourishment. This pawn has 0.9 nutrition (one simple meal) to eat.

If the food is eaten immediately, such human survives:

Hours survived State
9.75 Fed
3.75 Hungry
7.50 Ravenously hungry
50 Starving until death from malnourishment

Giving a total of 71 hours alive.

If we instead let the human remain malnourished for 13.75 hours, before eating, the pawn survives:

Hours survived State
13.75 Starving up to 27.5% malnourishment (minor)
3.75 Fed state with 27.5–20% malnourishment (minor)
2.50 Fed state with 20–15% malnourishment (trivial)
2.50 Hungry state with 15–10% malnourishment (trivial)
5.00 Ravenously hungry state with 10–0% malnourishment (trivial)
50 Starving until death from malnourishment

Giving a total of 77.5 hours alive.