Title: Cover Me! Promoting MMO Player Interaction Through Advanced AI
1Cover Me!Promoting MMO Player InteractionThrough
Advanced AI
- Dave MarkPresident Lead DesignerIntrinsic
Algorithm LLC
2Dave Mark
- President Lead Designer of Intrinsic Algorithm
LLC - Game Studio
- AI Consulting Company
- Author of Behavioral Mathematics for Game AI
- Co-founder of AI Game Programmers Guild
- Organizer and co-host of the AI Summit at GDC
2009
3Premises/Disclaimers
- WoW is a good game.
- Not everyone wants to be like WoW.
- Bad AI has its place in games.
- Not everyone wants to have bad AI.
- You are here because you are working on an MMO.
- You are here because you want to know
- How good AI can make your game better
- How to use AI in an MMO environment
4What makes a game a game?
A game isa series of interesting choices. -
Sid Meier
5In the beginning
- Early games were entirely played against the
computer. - AI sucked
- Choices were rudimentary
- Problem-solving was simplistic.
61-Player Games w/Multi-player Component
- People played against each other more than
computer - Game wont sell without multi-player
- 1-player campaign often neglected
- I love Halo 3 but Ive never played the
campaign.
7Multiplayer Co-Op
- People prefer playing with other people
- Interactivity
- Teamwork (AI allies still not up to par)
- Solving problems together
8The Draw of PvP
- People prefer playing against other people
- Difficulty of opponents
- Adaptability of opponents
- Dynamicity (e.g. the unexpected)
- Solving problems together
Replayability!
9The Necessity of PvE
- Beyond Game Mechanics
- Environments
- Weapons
- Characters
- World Immersion
- Who is going to role-play the dragon?
- The harmless little bunny?
- The slime creature?
10AI is Your World!
- Boring AI Boring World
- Deep AI Immersive World
- Repetitive AI Monotonous World
- Dynamic AI Dynamic World
11PvP vs. PvE
- PvP
- Difficult
- Adaptable
- Dynamic
- Necessitates ongoing problem-solving
- PvE
- Simple
- Rigid
- Predictable
- Solve Once and repeat
- PvE
- Difficult
- Adaptable
- Dynamic
- Necessitates ongoing problem-solving
So how do we do it?
12Making PvE feel like PvP
- Single-player games have been improving their AI
to generate a PvP-like feel - What techniques can we import from single-player
games into MMOs? - What effect does that have on the players
individual experience? - What effect does that have on the players working
together?
13AI Techniques
- By Genre
- Shooter
- RPG
- Strategy
- By Concept
- Behavioral
- Tactical
- Strategic
- Simulation
- Economic
14AI Techniques
- By Genre
- Shooter
- RPG
- Strategy
- By Concept
- Behavioral
- Tactical
- Strategic
- Simulation
- Economic
Multiple vs. Multiple
15Behavioral AI
- How does the NPC make decisions?
- Idle behaviors
- When to attack
- Who to attack
- How to attack
16When to Attack
- Generating Aggro
- Distance
- Environment Threshold Triggers
- Line of Sight
- Well documented by the public
- Attack happens when the player(s) want it to
- Removes sense of enemys autonomy
17Who to Attack
- Nearest opponent
- Strongest opponent
- Well documented by the public
- Attack is against whom the player(s) expect
- Attack is against whom the player(s) want
- Removes sense of enemys autonomy
18How to Attack
- Primary attack most of the time
- After delay of x, use secondary attack
- In given situation, use special attack
- Well documented by the public
- Attack happens how the player(s) expect it to
- Removes sense of enemys dynamicity
19Effect on the Players
- On the Individual Player
- Calculatable
- Predictable
- Boring
- On the Group
- No need for interaction
- Read the script
- Play your part
20What is your reaction?
- Want to pet
- Want to meet
- Just curious
- Annoyed
- Want to kick
- Want to run screaming
21Now what is your reaction?
- Want to pet
- Want to meet
- Just curious
- Annoyed
- Want to kick
- Want to run screaming
22Varieties of Reactions
23Same Model for All Agents
Extreme Reactions
24Varieties of Reactions
- Differences Exist
- Dont need to know why
- Need to simulate that difference do exist
- Not completely random selection
- Must be reasonable
- Can be simulated with weighted randoms
25Know when to walk away
- Design Decision Enemies dont always fight to
the death - Enemies can sometimes retreat
- Flat chance
- Is random therefore looks random
- Not realistic
- Situational random
- Based on circumstances
- Circumstances are flexible and dynamic
26Know when to walk away
27Know when to walk away
How many on my side are still fighting?
8
1.6
5
How many of my enemies are still fighting?
28Know when to walk away
- PercentChance (4 Ratio)3 / (43)
29Know when to walk away
- PercentChance (4 Ratio)4 / (44)
PercentChance (4 1.6)4 / (44)
PercentChance 13
30Know when to walk away
31Know when to walk away
How many on my side are still fighting?
7
1.4
5
How many of my enemies are still fighting?
32Know when to walk away
- PercentChance (4 Ratio)4 / (44)
PercentChance (4 1.4)4 / (44)
PercentChance 18
33Know when to walk away
- PercentChance (4 Ratio)4 / (44)
34Know when to walk away
35Know when to walk away
- PercentChance
- ( ( MaxRatio Ratio )k MaxPct ) / (MaxRatio
k )
MaxPct k
In Field 1.00 4
Near Base 0.75 6
In Base 0.50 8
36Know when to walk away
( ( 4 Ratio )4 1.00 ) / ( 44 )
( ( 4 Ratio )6 0.75 ) / ( 46 )
( ( 4 Ratio )8 0.50 ) / ( 48 )
37Know when to walk away
- Factors to Consider
- Number of allies
- Number of enemies
- Proximity to Base
- Strength of allies
- Strength of enemies
- My own health
- Proximity of my leader
38Know when to walk away
Numberof Allies
Numberof Enemies
Strengthof Allies
Strengthof Enemies
Allied Strength
Enemy Strength
Proximityto Leader
My Health
Proximityto Base
Threat Ratio
My Morale
Urgency
Compartmentalized Confidence
Retreat
39How does this look to the players?
- Enemies arent completely fearless
- They are slightly unpredictable
- They are still reasonable
- Curiosity Where is he going?
- If we show force, they might break and run.
- If we back them up, they are more aggressive.
- We have to react to their reactions.
40More than Fight or Flight
- Fight normally
- Flee
- Charge
41More than Fight or Flight
42More than Fight or Flight
- Fight
- Melee weapon
- Ranged weapon
- Special rare weapon
- Advance
- Press forward
- Berserker charge
- Retreat
- Fighting withdrawal
- Find Cover
- Organized pull back
- Flee in abject terror
- Surrender
43More than Fight or Flight
44More than Fight or Flight
45More than Fight or Flight
Normal
Defensive
21
42
46How does this look to the players?
- Not predictable
- Reasonable
- Causes us to have to react to his reaction
47Target Selection
- Who should I attack?
- Closest enemy
- Biggest threat (highest DPS)
- Weakest link (least health)
- Most valuable (healer helping the other enemies)
48Shoot that _at_!!
49Shoot that _at_!!
50Shoot that _at_!!
51Shoot that _at_!!
52Tactics
- Multiple NPCs working in a coordinated plan
- Formations
- Protecting high-value units (fighters protecting
a mage) - Adequate defense coverage of a point
- Coordinated movement
- Flanking
- Covering fire
- Leapfrogging advance
53Tactical Manager
TacticalManager
Agent
Agent
Agent
Agent
54Tactical Manager
- Has Rudimentary Goals
- Protect X
- Attack Y
- Situation Analysis
- Reactive
- Responds to players actions
- Responds to situation changes
- Proactive
- Looks for opportunities
- Running a play
55Protecting High-Value Units/Points
TacticalManager
56Protecting High-Value Units/Points
TacticalManager
57Protecting High-Value Units/Points
TacticalManager
58Protecting High-Value Units/Points
59Protecting High-Value Units/Points
Flanking!!!
60How does this look to the players?
- Enemies react to our positioning
- Theyre moving to block us.
- Enemies react to each others actions
- Theyre pulling back and closing ranks!
- Enemies dynamically allocate their own resources
as a cohesive unit - OK he saw me coming around the side.
61Strategy
- The entire body of a certain type of enemy
working together to accomplish an over-arching
goal - Super-set of tactics
- Strategy to tactics tactical to individual
62Strategy
TacticalManager
Order
Order
Order
Order
Agent
Agent
Agent
Agent
633-tier Hierarchy
StrategicManager
Goal
Goal
Goal
Goal
64Using Influence Maps
- Store relevant data in underlying grid structure
- Periodically update the data map
- Propagate information about individual objects to
surrounding squares - Aggregate the data to yield a broad
representation - Different influence maps can be used in
conjunction with one another
65Strategic Disposition
B
A
66Strategic Disposition
B
A
67Strategic Disposition
B
A
68Strategic Disposition
B
A
69How does this look to the players?
- Requires communication among players
- There are continual raids on the northern road.
- We should take the southern road instead.
- We should send patrols out along the northern
road to keep it open. - Continually dynamic
- The orcs have figured out that we are using the
southern road instead.
70Quest Givers
- Information can be kept on
- Movements of NPCs and monsters
- Significant events in the world
- Quest Givers can use dynamic information from the
world to notify players of - Threats to avoid
- Challenges to overcome
71Strategic Disposition
The orcs have gathered west of town, near the
river.
Fort
A
72Strategic Disposition
The orcs have regrouped west of the fort, east
of the river.
Fort
A
73Strategic Disposition
Fort
A
The orcs have moved north of town, near the fort.
74How does this look to the players?
- There are groups of them moving methodically
through the outlying villages. - They have our city surrounded.
- Their other groups are coming to the aid of the
army we just routed. - There is a group trying to cut off our retreat
back to the fort!
75Other Uses
- Big Bad Dragon in the mountains
- Too many players hunting the dragon
- Moves away from the players to some hills
- Now feasting on Farmer Teds cows
- Quest giver tells you to help Farmer Ted
Influence Map
Influence Map
Influence Map
Event Log
76Other Uses
- Living Areas
- Moving toward player areas
- Moving away from player areas
- Moving towards food prey
- Moving away from predators
Influence Map
Influence Map
Influence Map
Influence Map
77Sooo what have we learned?
- People like playing against challenging opponents
- Playing against challenging, dynamic, adaptive
opponents forces the players to communicate and
work together - AI can be designed to be challenging in similar
ways to human opponents - By using advanced AI techniques in MMOs, we can
create more engaging environments for our players
to thrive in
78How does this change thingsfor our players?
- Identify differences in enemy behavior
- Communicate what they see to each other
- Communicate their personal needs (Cover me!)
- Formulate cooperative plans
- Execute plans together
- Adapt those plans to account for changing
circumstances
79- Dave MarkPresident Lead DesignerIntrinsic
Algorithm LLC
Dave_at_IntrinsicAlgorithm.com
www.IntrinsicAlgorithm.com