Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of 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