Decisions are the thought of the AI. They give you the ability to determine what the AI should be doing in a very straightforward and powerful way.
Though there are different ways to design decisions, you’ll likely be using Priority Score’s and Influence.
When creating Decisions, you’ll create a function that returns a Priority Score, which determines how important a Behaviour, Goal, or Plan is to the AI. This gives the AI an idea of what’s most important to it at any given time.
Influence is how you’ll determine a Priority Score. You’ll check data available to the AI, and based on your findings, will Influence the Priority Score to a high or low score.
Say you wanted to build an AI that would run away and look for health when it was damaged to a certain degree. The Decision would check the AI’s health, and if low, would Influence the Decision to have a higher Priority Score. If not, it would Influence the Decision to have a lower Priority Score.
Say you wanted an AI to follow a schedule. The Decision to do something would be as simple as checking the time, and determining if it was within a set range. If it was within the desired range, the decision would Influence the Priority Score to be higher. If not, it would Influence the Decision to have a lower Priority Score.
Modern Decision Making
The key to decision making with VisAI is using your imagination, and the data available to you. How would you make a decision for the Behaviour/Goal/Plan you’re making? Your AI decision will likely think similarly. Be sure to optimize your code by using local and/or static variables in decisions.
Let’s move onto designing Action!