1 / 61

Introduction to Game AI

Opponents in classic board games. Move generator figures out what moves are possible ... Simon & Chase experiments: Chess experts use spatial memory for board positions ...

arleen
Download Presentation

Introduction to Game AI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    Slide 1:Introduction to Game AI

    CS 395 Game Design Spring 2003

    Slide 2:Expectations on term projects

    Designing and implementing a full game from scratch can be too hard Exceptions: Text-based interactive fiction, arcade games, … What to do?

    Slide 3:Solution One: Leverage

    We’re supplying toolkits and resources for some projects Neverworld3 Self-explanatory simulator compiler There are lots of resources around if you look Game engines Graphics frameworks Games with available source code (e.g., FreeCiv) Building on top of such software is strongly recommended.

    Slide 4:Solution Two: Extension an existing game

    Extensions to existing games can be acceptable (aka “mods”) Must involve significant design work, including analysis of tradeoffs and portfolio of experiments generated in the course of design Must be substantially larger than a typical homework problem

    Slide 5:Term Project To Do List

    Identify your teammates early Identify your project area early Request for Proposals will be made very soon (Thursday)

    Slide 6:Overview

    Why AI is important for games And why it needs improving Roles for AIs in games The opponent Characters The World Example credits: Spatial reasoning in MOO3 Thanks to Kevin Dill for screenshots and example Tactical decision making in first-person shooters Thanks to John Laird, Mike VanLent, for their GDC 2001 tutorial material

    Slide 7:Why AI is important for games

    Essential to the modeled world NPC’s of all types: opponents, helpers, extras, … Unrealistic characters ? reduced immersion Stupid, lame behaviors ? reduced fun Superhuman behaviors ? reduced fun Until recently, given short shrift by developers Graphics ate almost all the resources Can’t start developing the AI until the modeled world was ready to run AI development always late in development cycle Situation rapidly changing AI now viewed as helpful in selling the product Still one of the key constraints on game design

    Slide 8:Interview with Soren Johnson, www.gamespy.com

    GameSpin: What about the [civ3] AI? One of the complaints that players have always had about the AI is that it cheats. Does it still cheat? Johnson: The AI has been totally reworked. We started from scratch. We stretched out the difficulty levels. Chieftain is easier than it was in Civ II and Deity is now harder. Does the AI cheat? Yes, but sometimes in favor of the player! Below Prince level it cheats for the player, and above Prince level it cheats against the player. At Prince level there is no cheating. Right now, no one at Firaxis can beat the AI at Deity level, though we certainly expect players to find ways to do so within a few months of the game being released. When we rewrote the AI we threw out the old AI completely. We also looked at some popular tactics like ICS -- infinite city sprawl -- that some players used to beat the AI in Civ II at Deity level. These won't work in Civ III.

    Slide 9:AI in game marketing

    “It may be hard to believe that the future of 21st century art is represented by a giant bipedal tiger who farts, break dances and flings livestock around when he's bored.” Review of Black and White in Salon.com, 4/10/2000 “The most versatile 3D Batman yet, with over 500 animated movements, special fighting moves and a multi-functional cape with its own A.I.” from www.xbox.com

    Slide 10:Game flaws engendered by bad AI

    Mindless hordes of opponents “Life is much, much easier thanks to random numbers” Rampant cheating by computer opponents Focus on violence as principle mode of interaction

    Slide 11:Roles for AIs in games

    The opponent Characters The world

    Slide 12:The opponent

    Emphasis: Outsmarting you Example: Classic board games Questions: What problems do they have to solve? How do they work?

    Slide 13:Opponents in classic board games

    Move generator figures out what moves are possible Static evaluator figures out how good each move is, based on changes in board position Search algorithms look ahead, in a simple form of mental simulation, to figure out the best alternative based counter-moves and counter-moves

    Slide 14:Example

    Current board position

    Slide 15:Example

    Your possible moves, as produced by move generator How good each move looks in terms of its immediate results, as computed by the static evaluator 6 18 -2

    Slide 16:Example

    Your opponent’s possible countermoves 8 2 -100 25 18 12 What position these countermoves leave you in

    Slide 17:Example

    This process can be continued until resources run out Use minimax to estimate your best move

    Slide 18:Minimax Example

    -98 210 108 8 22 18 -12 -40 -10 3 5 Run static evaluator on leaves

    Slide 19:Minimax Example

    -98 210 108 8 22 18 -12 -40 -10 3 5 Propagate scores upward by taking max when your turn 8 5 -98 210 22 18

    Slide 20:Minimax Example

    -98 210 108 8 22 18 -12 -40 -10 3 5 8 5 -98 210 22 18 Propagate scores upward taking min when opponent’s turn 5 -98 18

    Slide 21:Minimax Example

    -98 210 108 8 22 18 -12 -40 -10 3 5 8 5 -98 210 22 18 Select best option based on deeper estimate 5 -98 18

    Slide 22:Search issues

    Lots of techniques for more efficient search Alpha-beta pruning, “book” openings, stability measures, conspiracy numbers Basic problem is still exponential Search and brute force only go so far Q: Why did Deep Blue win? Knowledge/search tradeoff Simon & Chase experiments: Chess experts use spatial memory for board positions Standard patterns as encoding lessons from experience/deeper search?

    Slide 23:Opponents in turn-based strategy games

    Examples: Many strategy war games, Civilization-style games What problems do they have to solve? How are they similar to, and different from, board games?

    Slide 24:nuSketch Battlespace

    Comic Graphs provide visualization of alternatives, support for AAR

    Slide 29:Example from MOO3

    Homeworld Colony Colony Enemy Colony Where should you put your next colony?

    Slide 30:Understanding your terrain is key

    Homeworld Colony Colony Enemy Colony Inside your empire

    Slide 31:Understanding borders prioritizes threats

    Homeworld Colony Colony Enemy Colony Good choice for blocking threats

    Slide 32:Multiple ways to deal with threats

    Homeworld Colony Colony Enemy Colony

    Slide 33:Example: eTDG10 Map

    Slide 34:SR Regions for eTDG10 map (hand-sketched)

    Slide 35:Hard constraints from SR regions

    Slide 36:Voronoi diagram for free space

    Slide 37:Junctions provide seeds for open regions

    Slide 38:Regions extended from seeds

    Slide 39:Edges outside regions form corridor seeds

    Slide 40:Combined results for eTDG10

    Slide 41:The coordination problem

    Telling your brigades to attack Scum Division will generally lead to them all being slaughtered

    Slide 42:The coordination problem

    Lack of coordination will lead them down same path, each being wiped out one at a time, even though a coordinated attack would have succeeded What if they had a richer, non-local understanding of space?

    Slide 43:The coordination problem

    Enable player to communicate intent via sketching and language, specifying paths and synchronization Visually identify paths (mobility corridors, avenues of approach) as part of terrain analysis

    Slide 44:Richer spatial reasoning will lead to better opponents

    Slide 45:Richer spatial reasoning will lead to better opponents

    Narrow route with no side ways out Funnel for focusing combat power

    Slide 46:Characters

    Examples: First-person shooters, adventure/action games What problems do they have to solve?

    Slide 47:The World

    Common trick: Share AI computations between computer characters Pathfinding and navigation Awareness of player actions and alignment Strategic thinking Examples: More than you might think

    Slide 48:Types of Behavior to Capture

    Wander randomly if don’t see or hear an enemy. When see enemy, attack When hear an enemy, chase enemy When die, respawn When health is low and see an enemy, retreat Extensions: When see power-ups during wandering, collect them.

    Slide 49:Execution Flow of an AI Engine

    ? Finite-state machines Decision trees Neural nets Fuzzy logic Rule-based systems Planning systems

    Slide 50:Conflicting Goals for AI in Games

    Goal Driven Reactive Human Characteristics Knowledge Intensive Low CPU & Memory Usage Fast & Easy Development

    Slide 51:Complexity

    Complexity of Execution How fast does it run as more knowledge is added? How much memory is required as more knowledge is added? Complexity of Specification How hard is it to write the code? As more “knowledge” is added, how much more code needs to be added?

    Slide 52:Expressiveness of Specification

    What can easily be written? Propositional: Statements about specific objects in the world – no variables Jim is in room7, Jim has the rocket launcher, the rocket launcher does splash damage. Go to room8 if you are in room7 through door14. Predicate Logic: Allows general statement – using variables All rooms have doors All splash damage weapons can be used around corners All rocket launchers do splash damage Go to a room connected to the current room.

    Slide 53:Example FSM

    Events: E=Enemy Seen S=Sound Heard D=Die Spawn D If completely connected – don’t need FSM, could just use a case statement or switch statement.If completely connected – don’t need FSM, could just use a case statement or switch statement.

    Slide 54:Example FSM

    Events: E=Enemy Seen S=Sound Heard D=Die Problem: No transition from attack to chase If completely connected – don’t need FSM, could just use a case statement or switch statement.If completely connected – don’t need FSM, could just use a case statement or switch statement.

    Slide 55:Example FSM - Better

    Events: E=Enemy Seen S=Sound Heard D=Die If completely connected – don’t need FSM, could just use a case statement or switch statement.If completely connected – don’t need FSM, could just use a case statement or switch statement.

    Slide 56:Example FSM with Retreat

    Spawn D (-E,-S,-L) Wander -E,-D,-S,-L E -S Attack-E E,-D,-S,-L E Chase -E,-D,S,-L S D S D Events: E=Enemy Seen S=Sound Heard D=Die L=Low Health Each feature with N values can require N times as many states D Retreat-E E,-D,-S,L L -E Retreat-S -E,-D,S,L Wander-L -E,-D,-S,L Retreat-ES E,-D,S,L Attack-ES E,-D,S,-L E E -E -L S -S L -E E L -L -L -L L D Assume is no arc, just stay in same state. How about if add select weapon – actions that are supposed to happen in every “state” such as pick best weapon – how get back to original state. If have details of wander, every state must be connected to all others. Assume is no arc, just stay in same state. How about if add select weapon – actions that are supposed to happen in every “state” such as pick best weapon – how get back to original state. If have details of wander, every state must be connected to all others.

    Slide 57:Hierarchical FSM

    Expand a state into its own FSM Wander Die S/-S E/-E Attack Chase Spawn

    Slide 58:Non-Deterministic Hierarchical FSM (Markov Model)

    Attack Die No enemy Wander Start Start If two arcs are two, pick according to probabilityIf two arcs are two, pick according to probability

    Slide 59:Implementation

    Compile into an array of state-name, event state-name := array[state-name, event] Uses state-name to call execution logic Add buffers to queue up events in case get simultaneous events

    Slide 60:FSM Evaluation

    Advantages: Very fast – one array access Can be compiled into compact data structure Dynamic memory: current state Static memory: state diagram – array implementation Can create tools so non-programmer can build behavior Non-deterministic FSM can make behavior unpredictable Disadvantages: Number of states can grow very fast Exponentially with number of events: s=2e Number of arcs can grow even faster: a=s2 Propositional representation Difficult to put in “pick up the better powerup”, attack the closest enemy

    Slide 61:References

    Web references: www.gamasutra.com/features/19970601/build_brains_into_games.htm csr.uvic.ca/~mmania/machines/intro.htm www.erlang/se/documentation/doc-4.7.3/doc/design_principles/fsm.html www.microconsultants.com/tips/fsm/fsmartcl.htm http://www.qrg.nwu.edu/papers/Files/How_QSR_can_improve_strategy_game_AIs_A3ISS_2001.PDF Deloura, Game Programming Gems, Charles River Media, 2000, Section 3.0 & 3.1, pp. 221-248.

More Related