Artificial Intelligence in Game Design
Download
Report
Transcript Artificial Intelligence in Game Design
Artificial Intelligence in
Game Design
Problems and Goals
AI vs. Gaming AI
• “Standard” Artificial Intelligence
•
•
•
•
Expert Systems
Probabilistic/Fuzzy Logic
Robotics
Machine Learning
– Goal: Finding best solution to some problem
– Characteristics:
• Expensive and time consuming to develop
• Large number of processing cycles to run
AI vs. Gaming AI
Example: Chess (“Deep Blue”, IBM)
•
•
•
•
MINMAX algorithm
Heuristic knowledge
Databases of opening moves, endgames
Result:
– Played at world champion level (best solution)
– Took several minutes per move (ok in chess)
• Not viable as commercial chess game!
Goals of Gaming AI
• Challenging but beatable:
– Intelligence level artificially limited
– AI not given all information
• Problem: making AI intelligent enough!
– Players find and take advantage of limitations
– “Cheats” compensate for bad AI
Example of Gaming AI
Player coming
from unknown
direction
Soldier NPC
setting up ambush
What to hide
behind?
Example of Gaming AI
• Choose at random?
• Current location of player?
• Base on realistic criteria
– Terrain around soldier
– Past player actions, etc.
This is most difficult approach!
Believable NPCs
• Opponents that offer challenge
– “Orc” characters should move realistically
– “Boss” characters should appear as intelligent as player
• Minions that require little micromanaging
• Other characters interesting to interact with
Believable NPCs
Intelligent Action:
– Good decision making
– Realistic movement
– Memory of previous actions
(and possibly to improve)
– Achieving goals
Believable NPCs
Believable as Characters:
–
–
–
–
Acts like human (or orc, dog, etc.)
Has appropriate emotional states
Does not always behave predictably
Can interact with player
• Major simplification from standard AI:
NPCs restricted to limited domain
– Example: “Shopkeeper”
Turing Test
• Turing test for AI:
Turing Test for AI Gaming
• Does NPC act appropriately for its role in game?
– Does it act “intelligently”?
– Does it appear to have appropriate information?
– Does it behave with the “personality” we would expect?
vs.
Game AI Structure
“What are my goals?”
Strategy
World Interface/
Game State
“How to accomplish
that goal?”
Tactics
(Decision Making)
Animation/
Game Physics
Example: Choosing
room to move to
Movement
(Action Choice)
Example: Choosing
path to reach room
“What actions are part of
that plan?”
Example: current direction/
speed to reach next point in
path
AI Engine
Constraints on Gaming AI
Efficiency
– Must consume few processor cycles
– Must often act in real time
• Football, racing, etc.
• Simple approaches usually best
– Choose fast over optimal
– Tweak game to support AI
– Depend on player perceptions
Tradeoffs
• Optimal solutions require complex algorithms
– Shortest path O(n2)
– Optimal plan Exponential tree size
• Many games use greedy algorithms
– Choose action resulting in minimal “distance” to goal
– O(n) time
Example of Simplification
• Pac-Man
– Algorithm: Ghosts move towards player
– Problem: ghosts stuck in cul-de-sacs
Example of Simplification
Black and White Game
• Creature “trained” by player by observing
player actions in different situations
• Later in game creature takes same actions
• Based entirely on decision tree learning
Example
Allegiance
Defense
Tribe
Attack
1
friendly
weak
Celtic
no
2
enemy
weak
Celtic
yes
3
friendly
strong
Norse
no
4
enemy
strong
Norse
no
5
friendly
weak
Greek
no
6
enemy
medium
Greek
yes
7
enemy
strong
Greek
no
8
enemy
medium
Aztec
yes
9
friendly
weak
Aztec
no
Apparent Intelligence
NPCs can appear intelligent to player even if
based on simple rules
“Theory of mind”
We tend to ascribe motives/decision
making skills similar to our own to
other entities, whether this is actually
happening or not!
if hitPoints < 5
then run away from player
if distance to player < 2 units
then attack player
if player visible
the run towards player
else
move in random direction
Swarm Intelligence
• Give each NPC slightly different set of rules to create
illusion of personalities
• Example: Pac-Man
if distance to player < n
then move towards player
else wander at random
n is different for each ghost!
Large n : appeared “aggressive”
Small n : appeared “mellow”
Role of Traditional AI
• Good decision making
Decision Trees
– Acts like human (or orc, dog, etc.)
Finite State Machines
– Avoids predictability
• Realistic movement
– Evasion/pursuit of player
– Choosing paths through complex
terrain
– Cooperation among groups
Random/Fuzzy Machines
Robotics
Swarm Intelligence
• Memory of previous actions
Simple Iterative Learning
• Achieving goals
Goal-based Planning