The AI Emotions toolkit simulates a wide variety emotions found in humans and other mammals. Drawing from recent neuroscientific research, it can generate a broad spectrum of emotions based upon the objects and experiences the agent encounters in it's environment. These include:
The Emotions Toolkit is an entire behavior system designed to equip an NPC with realistic emotional responses. In humans , the decision making system that underpins our emotions takes the form of dopamine based model-free reinforcement learning (intuitive, unconscious decisions making). The Q-learning algorithm(included) can approximate the strategic decisions made by humans and is used in the toolkit to generate behaviors that then drive the agent's emotional responses.
Emotions in this case are used both for communicating the NPC's current relation to its goal state(s), but also for guiding strategic decisions . This closely corresponds with the way emotions serve dual purposes in biological reinforcement learners such as ourselves.
While an understanding of Q learning is not required for making use of the emotions package provided, it will be helpful. Refer to the Q Learning Project in the Unreal Marketplace
Number of Blueprints: 8
Network Replicated: No
Supported Development Platforms: ALL
Supported Target Build Platforms: UE 4.21
Documentation: Included with Project Files
The context in which the AI Emotions system is deployed here is a match to sample puzzle in which the NPC learns that it must activate a switch within the game environment at the same time that a light is on in order to receive a “food reward”. The agent uses Q learning to predict that it can take an action to receive a reward only during specific circumstance, in this case, when a light is on and it first touches a switch. The same action taken when the green light is off will not generate the reward. Emotions are displayed in the context of the rewards or punishments the agent receives from interacting with its environment.
Several assets are inherited from the AI Q Learning Project available in the Unreal Marketplace. They will not be explained in this project as separate documentation exists for them under that offering.