Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 • Simple NPCs in groups can appear to cooperate • Decision example: if no other player shooting, I shoot if in open, run for cover and shout if in cover, reload and wait • Orc motion example: … if NPC blocking path to player then run sideways else run towards player … NPCs appear to be covering one another and coordinating attack! 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