Intake & Metabolism

Agents need sustenance in order to live in the environment. They get this in the form of Plant, Fruit, and Meat food (or sometimes in the form of shared health; see the Generosity page for more info)

Agents have a Stomach which controls how much benefit they get from rolling over certain types of food, and how much they get to take from the world. A stomach value of 1 for fruit means the agent can take the maximum allowed from the fruit layer and convert it into Intake. The stomach can have any value between 0 and 1 for each of the 3 types of food.

A stomach with multiple types with values above 0, however, will be less efficient. This is controlled by the "STOMACH_EFF", and it makes it so that if a stomach has, for example, a value of 1 for both meat and plant, the amount of Intake rewarded is multiplied by that fraction, indicating waste from the inefficient stomach.

This Intake is not yet applied to Health or Reproduction, however. First, it must be divided up between them, and agents have a trait which can control this, called Metabolism. Metabolism ranges between 0 and 1, and indicates how much of the intake gets put into reproduction instead of health. Note, there is a config called "MIN_INTAKE_HEALTH_RATIO" that controls the minimum amount that can be sent to Health from Intake, so for a ratio of 0.5, a Metabolism of 1 means the Intake is evenly split 50-50, while a Metabolism of 0 means the agent keeps all intake for it's own Health. The exact optimum value depends heavily on the species and their survival strategy. By default, agents can never give more than 50% of their Intake to Reproduction.