Embracing Emergent Behavior with Goal-Based AI Kevin Dill kad@bluefang.com
Blue Fang Games “To create compelling, emotionally engaging games, focused on the animal kingdom, that set the benchmark for broad-based family entertainment.”
The Plan Motivation Kohan 2 Demo Common AI Techniques Goal-based AI Boxy-dog Demo Questions
The Plan What I Want: Or, more generally: Cunning Opponents Responsive Allies Replayability Organic Credibility Emotional Appeal Compelling Performances Or, more generally: Situational Awareness Emergent Behavior
Motivation, cont. Declarative AI (vs. Procedural AI) Wikipedia: A program is “declarative” if it describes what something is like, rather than how to create it. Developers role: not to tell the AI what to do, but to tell the AI how to decide for itself.
Techniques – Scripted AI AI Follows a script, much like a movie Script specifies exactly what will happen, when it will happen, where it will happen Advantages: Gives designers explicit control Easy to write Easy to balance Disadvantages Repetitive and predictable
Techniques – State Machines A “state” is defined for every high-level action the AI can take Transitions are defined to move from one state to another state Each state has custom code to control the character while in that state
First Person Shooter Example Search For Enemy Got Ammo Get Ammo Got Health Enemy Found Enemy Lost Get Health Attack Got Away, Low on Health Got Away, Low on Ammo Low on Health Low on Ammo Run Away
Techniques – State Machines Advantages: Easy to conceptualize Easy to implement Middleware tools exist Disadvantages: Complexity scales poorly as AI grows Rampant duplication of code Can only do one thing at a time
Techniques – Goal Based AI A “goal” is defined for every high-level action that the AI can take Each goal is assigned a priority: Base priority (evaluate current situation) Allocate resources Optimize resources and calculate final priority Highest priority goal(s) are executed
Goal Types Some common RTS goals: Attack – Construct Building Defend – Repair Building Explore – Upgrade Building Recruit Unit – Sell Building Recover Health – Give Resources To Ally Research
Techniques – Goal Based AI Advantages Flexible and powerful Complexity scales fairly well as AI grows Can execute more than one goal at a time Emergent behavior Disadvantages: Priority calculations (“Bucket of Floats”)
Goal Selection Basics WWHD (What Would a Human Do?) Write down a list of the factors you would consider if you were playing the game Some common tricks: Bonuses – Repeat Penalties Multipliers – One-Time Bonuses Exponents – Actor Categories Fuzzy Factors – Templates
Example: Attack Goal Base priority: Actor value for the most desirable building or unit in the area (taking into account enemy’s economy if appropriate) Travel Distance Intervening targets (attack goals only)
Attack Goal, cont. Priority Curve: Other considerations My CV / Enemy CV 1.2 3.0 Multiplier 1x 2x Target CV Ratio Priority Curve: Target CV ratio Min CV to assign Low CV exponent Max advantage Max multiplier Other considerations Combined arms Wall strength Adjusting builder CV * CV = Combat Value
Loose Ends Goal Commitment Goal Inertia Locked Goals IF: you can’t afford something now BUT: you will be able to soon THEN: don’t perform lower priority goals that use the same resource Goal Inertia Bonus to keep doing what you’re doing Locked Goals Disable all other goals until current goal is complete
Jack the Terrier