Entities or the Lost are not there to just make the player scream and run away, or fight - they are living beings. Living beings that clash with your survival. The game must show that they are actual living creatures - not just simple enemies

Universal needs

Every entity has similar systems to the player:

To survive an entity needs to keep their hunger and thirst up, to not be exhausted by sleeping well and to avoid getting trauma or diseases

EntityInstincts

This is done by Instinct Drives in the EntityInstinct component. Each drive has a pressure value that increases on certain conditions and slowly decreases over time:

Each drive has a stack of actions associated with it. The higher the drive pressure - the more extreme the action will be:

Pressure vs Drive Hunger Fear Fatigue Curiosity Aggression
0 - - - - Ignore
0.25 Seek nearby Danger rooms.
(Easiest source of food) Increase aggression, more alert Instead of wandering from room to room, stay in current room and only leave if prompted Crawl to closest point of interest Signal to keep distance (Eg: Growl, stay low)
0.5 Seek nearby lesser entities (Anything smaller or weaker) Keep distance from target Seek room with darkness, no mold and least danger. Quietly stalk to the closest point of interest Attack if target is too close
0.75 Increase radius of searching for food. Lower fear Stay away from line of sight of target Choice to fall asleep if room is good and avoid sprinting for tasks Walk to closest point of interest. Increase aggression Attack target if in line of sight
1.0 Eat anything that can be eaten, even if it is the corpse of its own kind Sprint to room with least danger and farthest away from target.
If unable - Convert to aggression Force fall asleep Sprint at full speed to point of interest Attack everything in the vicinity, even its own kind

Instincts are not independent. There are relationships between drives: