An AI system consists of many complex components. Important aspects of such a system concerning Polarith AI are a Context component, a MCO solver and character controllers. However, the key element to design your individual and unique agents are behaviours.
In general, behaviours define how an agent reacts to its environment. For instance, the classic steering behaviours (by Craig Reynolds) result into a direct movement decision. The behaviours of our system are a bit different. Though, from a designer's point of view you can still think of a behaviour as something that defines what an agent does in different situations.
However, behaviours in our system just implicitly lead to a final movement decision because what they are doing is to sample the given environment and write values into objectives, thus, defining a multi-criteria optimization problem (MCO problem). The function values which define the MCO problem can be provided by as many behaviours as needed. The problem is then solved and the decision is made by our system.
All inbuilt behaviours can be classified by the following different sub-types.
Every behaviour inherits from such a base behaviour class. Hence, there are the following two key aspects which are identical for each behaviour.
Another general aspect which is utilized by many of our behaviours are mapping types.