Year/Date of Issue:15.02.2019
Version: 2.0
Developer: NovoSync Mobility Inc.
Developer site: _https://assetstore.unity.com/packages/tools/ai/reaction-ai-66353
Bit depth: 64bit
Interface language: English
tablet: not required
System requirements: Unity 5.4.3 or higher
Description:
AI Reaction is an artificial intelligence engine used by the developers of games in which NPCs are controlled by AI or other game components that use artificial intelligence for reactions based on avatar actions.
It can also be used for other systems that require system training and provide intelligent output based on input. The AI response models the human brain and neural networks in its design. It learns over time and uses past events in the memory system to determine the next best response. However, it is pseudo-dynamic in the resulting output based on how well the “brain” is functioning at the time based on stimuli.
The “brain” is divided into four components, each of which is proportional to the human mind. This includes the frontal lobe, which performs reasoning and emotions, the parietal lobe for movement, the occipital lobe for visuals, and the temporal lobe for memory. When a “brain” is created, the number of complete neurons must be specified. This will generate an n-ary tree. Each time a new “brain” is created (i.e. for different NPCs), a different brain structure is created dynamically and pseudo-randomly. When stimuli are applied (i.e. avatar action), the AI Response sends a random set (within range) of electrons to each brain component (also proportional to the size of the corresponding lobe) to fire a subset of neurons.
The algorithm uses the active neurons for the total number of neurons to determine the performance of the “brain” in each of the lobes for their respective purpose. Thus, a better functioning “brain” will produce more “intelligent” results. Each time stimuli are applied, the “brain” will function slightly better or worse due to the difference in the number of active neurons. This is done by ranking the results and using data based on whether he can match the avatar’s action against the calculated emotion and prior reaction data for what the NPC “deems” the best next action. If certain data cannot be displayed, fallback mechanisms are applied that are still “smart”.
There is a memory system where historical data is stored. When a new memory is created, the success of the most recent reaction is also mapped to that memory location. The data includes what the avatar was, what the AI results were for that action, and how successful it was. This data grows over time and the “search” starts from the most recent memory to earlier times. However, “search” also goes as far into memory as the number of active neurons at the time. The maximum memory size is the total number of neurons in the temporal lobe. When new memory is created and the maximum size is reached, the oldest memory is removed. When a “brain” is created, the memory is initialized with user input (once) for the NPC’s “personality”, which determines the allowed reactions, sub-reactions, and emotions.
The end result of the system is the reaction category, sub-reaction, emotion, visual rank (in the range of 1 to 5, where 1 is the lowest rank and 5 is the highest) and speed value (in the range of 1 to 4, where 1 is the slowest and 4 is the fastest). You can decide how to handle (how the NPC behaves) based on the results, and can trigger a different reaction, also based on the values returned for emotes, visuals, and speed. Neural networks include the structure of the “brain”, stimuli that activate neurons, memory and personality, transmitted to various functions in different parts of the “brain” and leading to final results. The fact that the system changes each time a “brain” is created, the performance of the “brain” per stimulus and valid output values, allows reactive AI to be reused any number of times with different results. So the same engine can be used for any number of different NPCs or AI-based elements. The user-defined “size” of the “brain” also introduces dynamics.
Finally, for very large brain sizes and longer learning periods, the AI response can be correspondingly complex.
Also, for NPC attacks (proactive actions instead of reacting to avatar action, use avatar action states like idle=1, blocking=2, initial attack=3, etc.)
Requires .NET Framework 3.5 or higher