Embracing Emergent Behavior with Goal

Embracing Emergent
Behavior with Goal-Based AI
Kevin Dill
[email protected]
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:
– 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
Got Ammo
Get Ammo
Run Away
Got Away,
Low on Ammo
Get Health
Got Away,
Low on Health
Low on Ammo
Low on Health
Attack
Got Health
Enemy
Lost
Enemy
Found
Search For Enemy
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
– Defend
– Explore
– Recruit Unit
– Recover Health
– Research
– Construct Building
– Repair Building
– Upgrade Building
– Sell Building
– Give Resources To Ally
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”)
– Emergent behavior
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
– Multipliers
– Exponents
– Fuzzy Factors
– Repeat Penalties
– One-Time Bonuses
– Actor Categories
– 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)
• 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
Multiplier
Attack Goal, cont.
2x
1x
Target CV
Ratio
1.2
3.0
My CV / Enemy CV
* CV = Combat
Value
Loose Ends
• Goal Commitment
– 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