190 likes | 295 Views
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
E N D
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: • 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 Get Ammo Got Ammo Got Health EnemyFound EnemyLost 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”) • 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 – 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)
2x Multiplier 1x Target CV Ratio 1.2 3.0 My CV / Enemy CV Attack Goal, cont. • 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 • 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