This document is about: QUANTUM 2
SWITCH TO

Memory

An AI agent's memory is made of several pieces:

  • The AIMemory component which is the dynamic container in which the "memories" are located.
  • The MemoryRecord which is the information / events recorded in a memory.
  • The EMemoryType which informs about the type of memory saved in a particular record.

A MemoryRecord has a duration property which allows to define how an AI agent will remember it and, by extension, react to it (i.e. have the HFSM take it into account when making a decision). In the FPS Template it is used for storing information about lost enemy, enemy fire, friend fire and received damage - this information is often captured and preprocessed by sensors first.

Note: To emulate awareness, it is possible for memory records to only be valid after a certain amount of time. This can be used to imitate reaction times. For example, Bot A is shooting at Bot B - it would be unrealistic for Bot B to instantly react as players would realize this is artificial behavior. Typical reaction time for humans is around 0,2 seconds for reflex reactions and 0,4 seconds for more complex thinking reactions. Although it is technically possible to include such reaction times directly into HFSM, this would create unnecessary complexity. The FPS Template itself those not use this concept often as there is usually a sufficient amount of delay created by way of ticking optimizations.

Back to top