AI Reactions - Devlog #13
One important aspect of having a first-person open world RPG, like All Hail Temos, is to have a good coverage of cases for how your NPCs will react to the player, and to other NPCs (allies and enemies).
In this post I am going to go over how I’m breaking down the work to cover a good set of cases for what an NPC needs to detect, and what they might do about it after they detected it.
Some of these will be determined by skill and narrative checks, all of them will take the context of the NPC involved into question to determine the action taken.

[h3]NPC sees the Player has their weapon drawn[/h3]
- Call guards
- Run to safety
- Attack
[h3]NPC sees the Player attack a friendly NPC[/h3]
- Call guards
- Run to safety
- Attack
[h3]NPC Sees Player Steal Item[/h3]
- Call guards
- Attack
- Dialogue: Demand goods be returned or payment
[h3]NPC finds a dropped item[/h3]
- Ask if anybody dropped it
- Take it to the tavern, lost and found
- Take it for themselves
[h3]NPC sees enemies are attacking[/h3]
- Call guards
- Run to safety
- Attack
[h3]NPC sees an enemy, but is not seen yet[/h3]
- Sneak to safety (quieter)
- Sneak to guards (quieter)
- Sneak to attack
- Attack
[h3]NPC has the player stand next to them[/h3]
- Look at them, and then away
- Give them gestures based on mood, disposition, and rank.
[h3]NPC finds an unconscious body[/h3]
- Call guards
- Run to safety
- Ready for attack
[h3]NPC sees an injured ally[/h3]
- Heal them
- Run for help healing them
- Carry them to safety or healing
One of the keys for having stealth implementations is the volume level of sounds, and what type of sounds that might be, as well as the proper amount of remembering and forgetting things so that guards are interesting, but gameable.
[h3]NPC hear a dangerous sound[/h3]
- Run to safety
- Run to guards, calling for them
[h3]NPC on Guard hears a noise[/h3]
- Check it out
- Run to safety
- Run to backup, without calling for them
- Sneak to safety (quieter)
- Sneak to get backup (quieter)
Direct interaction with the NPC.
[h3]NPC is attacked by player[/h3]
- Call guards
- Run to safety
- Attack
- Dialogue: Contextual response
[h3]Player collides with force into the NPC[/h3]
- Call guards
- Run to safety
- Attack
- Dialogue: Rebuke
[h3]NPC is hit by an object, without knowing where it came from[/h3]
- Investigate where it came from
- Call guards
- Run to safety
[h3]NPC is afflicted with a negative status effect (ex: burning)[/h3]
- Cure status effect
- Run for help
- Call for help
In terms of gameplay, I’m not going to be implementing any AI features about taste and smell initially. Smell could become a sense in a later version of hunting or something like that. I’m not sure if taste can be implemented for any useful purpose in NPC AI.

In terms of actual sensation, you might consider this proprioception, but it is also keeping track of their status and status of their equipment.
[h3]NPC is injured[/h3]
- Heal
- Run to safety
- Call for help
[h3]NPC is out of ammunition[/h3]
- Run to safety
- Look for ammunition
- Switch weapons
[h3]NPC regains consciousness, but has clothes looted[/h3]
- Put on clothes inside inventory
- Run home to get clothes
- Ask teammates for clothes
[h3]NPC regains consciousness, but has no weapons[/h3]
- Look for weapons
- Ask teammates for weapons
- Run home to get weapon
- Teamwork would not normally be a sense, but it’s easier to put it through the same workflow as the senses, as they have sensors for what is going on with their teammates as part of their decision making process.
[h3]NPC is checking something out[/h3]
- Call out to come together
- Call out to spread out
[h3]NPC found their target[/h3]
- Attack
- Call for backup
Having a good coverage of NPC behaviors should make the game more interesting, as the NPCs are configured to react to the player in a lot of different circumstances, and then will do something based on their stats and the context.
In the future I will go into more detail on the AI decision making system I’m using, and the pros and cons of how I have things set up. For now, this was an overview of how I’m thinking about AI reaction coverage.
If you’d like to know when the demo is released or find out more about All Hail Temos, please Wishlist and Follow on Steam.

In this post I am going to go over how I’m breaking down the work to cover a good set of cases for what an NPC needs to detect, and what they might do about it after they detected it.
Some of these will be determined by skill and narrative checks, all of them will take the context of the NPC involved into question to determine the action taken.

NPC Sense: Sight
Anything the NPC could see I will group under sight.[h3]NPC sees the Player has their weapon drawn[/h3]
- Call guards
- Run to safety
- Attack
[h3]NPC sees the Player attack a friendly NPC[/h3]
- Call guards
- Run to safety
- Attack
[h3]NPC Sees Player Steal Item[/h3]
- Call guards
- Attack
- Dialogue: Demand goods be returned or payment
[h3]NPC finds a dropped item[/h3]
- Ask if anybody dropped it
- Take it to the tavern, lost and found
- Take it for themselves
[h3]NPC sees enemies are attacking[/h3]
- Call guards
- Run to safety
- Attack
[h3]NPC sees an enemy, but is not seen yet[/h3]
- Sneak to safety (quieter)
- Sneak to guards (quieter)
- Sneak to attack
- Attack
[h3]NPC has the player stand next to them[/h3]
- Look at them, and then away
- Give them gestures based on mood, disposition, and rank.
[h3]NPC finds an unconscious body[/h3]
- Call guards
- Run to safety
- Ready for attack
[h3]NPC sees an injured ally[/h3]
- Heal them
- Run for help healing them
- Carry them to safety or healing
NPC Sense: Sound
One of the keys for having stealth implementations is the volume level of sounds, and what type of sounds that might be, as well as the proper amount of remembering and forgetting things so that guards are interesting, but gameable.
[h3]NPC hear a dangerous sound[/h3]
- Run to safety
- Run to guards, calling for them
[h3]NPC on Guard hears a noise[/h3]
- Check it out
- Run to safety
- Run to backup, without calling for them
- Sneak to safety (quieter)
- Sneak to get backup (quieter)
NPC Sense: Touch
Direct interaction with the NPC.
[h3]NPC is attacked by player[/h3]
- Call guards
- Run to safety
- Attack
- Dialogue: Contextual response
[h3]Player collides with force into the NPC[/h3]
- Call guards
- Run to safety
- Attack
- Dialogue: Rebuke
[h3]NPC is hit by an object, without knowing where it came from[/h3]
- Investigate where it came from
- Call guards
- Run to safety
[h3]NPC is afflicted with a negative status effect (ex: burning)[/h3]
- Cure status effect
- Run for help
- Call for help
NPC Sense: Taste & Smell
In terms of gameplay, I’m not going to be implementing any AI features about taste and smell initially. Smell could become a sense in a later version of hunting or something like that. I’m not sure if taste can be implemented for any useful purpose in NPC AI.

NPC Sense: Self Evaluation
In terms of actual sensation, you might consider this proprioception, but it is also keeping track of their status and status of their equipment.
[h3]NPC is injured[/h3]
- Heal
- Run to safety
- Call for help
[h3]NPC is out of ammunition[/h3]
- Run to safety
- Look for ammunition
- Switch weapons
[h3]NPC regains consciousness, but has clothes looted[/h3]
- Put on clothes inside inventory
- Run home to get clothes
- Ask teammates for clothes
[h3]NPC regains consciousness, but has no weapons[/h3]
- Look for weapons
- Ask teammates for weapons
- Run home to get weapon
NPC Sense: Teamwork
- Teamwork would not normally be a sense, but it’s easier to put it through the same workflow as the senses, as they have sensors for what is going on with their teammates as part of their decision making process.
[h3]NPC is checking something out[/h3]
- Call out to come together
- Call out to spread out
[h3]NPC found their target[/h3]
- Attack
- Call for backup
How will this affect gameplay?
Having a good coverage of NPC behaviors should make the game more interesting, as the NPCs are configured to react to the player in a lot of different circumstances, and then will do something based on their stats and the context.
Conclusion
In the future I will go into more detail on the AI decision making system I’m using, and the pros and cons of how I have things set up. For now, this was an overview of how I’m thinking about AI reaction coverage.
If you’d like to know when the demo is released or find out more about All Hail Temos, please Wishlist and Follow on Steam.
