200 likes | 406 Views
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
E N D
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 Soldier NPC setting up ambush Player coming from unknown direction What to hide behind?
Choose at random? Current location of player? Base on realistic criteria Terrain around soldier Past player actions, etc. This is most difficult approach! Example of Gaming AI
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 Strategy “What are my goals?” Example: Choosing room to move to World Interface/ Game State “How to accomplish that goal?” Example: Choosing path to reach room Tactics (Decision Making) Animation/ Game Physics Movement (Action Choice) “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
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
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 playerif distance to player < 2 units then attack playerif player visible the run towards playerelse move in random direction
Swarm Intelligence • Give each NPC slightly different set of rules to create illusion of personalities • Example: Pac-Manif distance to player < n then move towards playerelse wander at random n is different for each ghost! Large n : appeared “aggressive” Small n : appeared “mellow”
Good decision making Actslike human (or orc, dog, etc.) Avoids predictability Realistic movement Evasion/pursuit of player Choosing paths through complex terrain Cooperation among groups Memory of previous actions Achieving goals Role of Traditional AI Decision Trees Finite State Machines Random/Fuzzy Machines Robotics Swarm Intelligence Simple Iterative Learning Goal-based Planning