OLD & NEW APPLICATIONS OF PLANNING IN GAMES

Size: px
Start display at page:

Download "OLD & NEW APPLICATIONS OF PLANNING IN GAMES"

Transcription

1 Stavros Vassos Sapienza University of Rome, DIAG, Italy May 2014 OLD & NEW APPLICATIONS OF PLANNING IN GAMES Character Behavior, Interactive Stories, and more

2 Applications of planning in videogames 2 Characters in videogames: How do they think? Behavior Trees ( Reactive HTN-like planning) Goal-Oriented Action Planning (STRIPS-like planning) Utility-systems (BFS search) Interactive non-linear stories in videogames More!

3 Applications of planning in videogames 3 Characters in videogames: How do they think? Behavior Trees ( Reactive HTN-like planning) Goal-Oriented Action Planning (STRIPS-like planning) Utility-systems (BFS search) Interactive non-linear stories in videogames More!

4 Characters in videogames 4 Non-player characters (NPCs): Move in game-world space (2D/3D) Act in game-world Pick-up objects, attack, hide, etc. Exhibit behavior Follow the player, get scared and runaway, etc.

5 Characters in videogames 5 Non-player characters (NPCs): Move in game-world space (2D/3D) Act in game-world Pick-up objects, attack, hide, etc. Exhibit behavior Follow the player, get scared and runaway, etc. How do they think?

6 Characters in videogames 6 Non-player characters (NPCs): Move in game-world space (2D/3D) Act in game-world Pick-up objects, attack, hide, etc. Exhibit behavior Follow the player, get scared and runaway, etc. How do they think? Navigation: Pathfinding Action-driven behavior: Finite State Machines / Behavior Trees / Goal Oriented Action Planning / Utility systems

7 Characters in videogames 7 Many more aspects related to the experience of the player Emotions Narrative interactions Interactive storyline Novel interfaces

8 Characters in videogames 8 Game engine, a typical example: C++ Creates game-world objects with (x,y,z) coordinates and calculates what happens to them on every frame E.g., a crate is up in the air on frame1. On frame 2 the game engine will calculate the new position, etc

9 Characters in videogames 9 Game engine, a typical example: C++ Creates game-world objects with (x,y,z) coordinates and calculates what happens to them on every frame E.g., a crate is up in the air on frame1. On frame 2 the game engine will calculate the new position, etc Same for non-player characters (NPCs)!

10 Characters in videogames 10 Game engine, a typical example: Every few frames calls a special thinking method of the NPC game object The thinking method specifies NPC behavior in terms of movement, animation, interaction with the game-world The thinking method can be as simple as a code listing that invokes curated behaviors

11 Characters in videogames 11 int NPC::think(){ if (some condition){ makescarysound(); } else if (some other condition){ chaseplayer(); } else if... }

12 Characters in videogames 12 int NPC::think(){ if (state==onguard && seesmallenemy()){ state=fight; makescarysound(); } else if (state==fight && energy>30){... } else if... }

13 Characters in videogames 13 Commercial game code (you can get it from Steam) HL2-SDK, npc_basezombie.cpp lines switch ( m_npcstate ) { case NPC_STATE_COMBAT: case NPC_STATE_ALERT: }

14 Characters in videogames 14 Finite State Machines as a programming technique for reactive behavior specification Various variants including hierarchical FSMs

15 Characters in videogames 15 (Now) you can experiment yourself! Amazing tools available for (indie) game developers!

16 Characters in videogames 16 Stealth Unity tutorial project unity3d.com/learn/tutorials/projects/stealth

17 Characters in videogames 17 Stealth Unity tutorial project: Enemy AI unity3d.com/learn/tutorials/projects/stealth/enemy-ai void Update () { // If the player is in sight and is alive... if(enemysight.playerinsight && playerhealth.health > 0f) Shooting(); // If the player has been sighted and isn't dead... else if(enemysight.personallastsighting!= lastplayersighting.resetposition && playerhealth.health > 0f) Chasing(); } // Otherwise... else Patrolling();

18 Characters in videogames 18 Reactive behavior Look into the current state of the game-world Use a recipe to decide what the interactive object/ character should do in the next immediate frame Proactive behavior Look into the possible evolutions of the current state under the effect of actions Use evaluation criteria to decide which course of action and corresponding outcome is more desirable

19 Characters in videogames 19 Reactive behavior Look into the current state of the game-world Use a recipe to decide what the interactive object/ character should do in the next immediate frame Proactive behavior Look into the possible evolutions of the current state under the effect of actions Use evaluation criteria to decide which course of action and corresponding outcome is more desirable Thinking (in terms of look-ahead) before acting

20 Characters in videogames 20 So how does planning apply to the videogame setting? Let s see some cases where methods inspired from HTN planning and STRIPS planning have been used in commercial games

21 Characters in videogames 21 So how does planning apply to the videogame setting? Let s see some cases where methods inspired from HTN planning and STRIPS planning have been used in commercial games As you will notice, the requirements and assumptions are different from the ones we typically consider in textbook versions of planning

22 Applications of planning in videogames 22 Characters in videogames: How do they think? Behavior Trees ( Reactive HTN-like planning) Goal-Oriented Action Planning (STRIPS-like planning) Utility-systems (BFS search) Interactive non-linear stories in videogames More!

23 Behavior Trees 23 Running example Specify the (part of the) thinking function for a character that decides about how to enter in a room (Very simple.. but it will illustrate the main points) First, we go over an HTN for this simple character behavior

24 HTN-like planning 24 Specify the behavior objective in terms of tasks that can be decomposed to other tasks and atomic actions Get in in room Get in room Free door Free door Move into room Move to door Free door Move into room Unlock door Kick door

25 HTN-like planning 25 Preconditions and effects specify conceptually whether some (task or) atomic action can be executed Get in in room Get in room Free door Free door Move into room Move to door Free door Move into room Unlock door Kick door Pre Eff Move into room Pre Eff Move to door Pre Eff Unlock door Pre Eff Kick door

26 HTN-like planning 26 The tasks and atomic actions form a search tree A solution is a successful (complete) decomposition Get in room Get in room Get in room Pre Eff Move into room Pre Eff Move to door Free door Pre Eff Move into room Pre Eff Unlock door Pre Eff Kick door

27 HTN-like planning 27 The tasks and atomic actions form a search tree A solution is a successful (complete) decomposition Get in room Get in room Get in room Pre Eff Move into room Pre Eff Move to door Free door Pre Eff Move into room Pre Eff Unlock door Pre Eff Kick door

28 HTN-like planning 28 The tasks and atomic actions form a search tree A solution is a successful (complete) decomposition Pre Eff Move to door Pre Eff Move into room Pre Eff Kick door

29 HTN-like planning 29 The tasks and atomic actions form a search tree A solution is a successful (complete) decomposition Pre Eff Move to door Pre Eff Move into room Actions executed: Move to door Kick door Move into room Pre Eff Kick door

30 Reactive HTN Behavior Trees 30 HTN: Search offline for a solution then execute it Get in room Get in room Get in room Pre Eff Move into room Pre Eff Move to door Free door Pre Eff Move into room Pre Eff Unlock door Pre Eff Kick door

31 Reactive HTN Behavior Trees 31 HTN: Search offline for a solution then execute it Behavior Trees: Execute online as you search (!) Get in room Get in room Get in room Pre Eff Move into room Pre Eff Move to door Free door Pre Eff Move into room Pre Eff Unlock door Pre Eff Kick door

32 Reactive HTN Behavior Trees 32 HTN: Search offline for a solution then execute it Behavior Trees: Execute online as you search (!) Note that a BT approach actually executes the failing atomic actions Assuming that our world model is accurate, in the running example it would execute the following Actions executed: Move into room Move to door Unlock door Kick door Move into room

33 Reactive HTN Behavior Trees 33 So, BTs are a form of online execution of an HTN, which is typically referred to as reactive planning They introduce a practical way to specify the tree of execution using a common interface among nodes Essentially, the intuition they keep from HTN is the notion of hierarchical decomposition in the sense that parent nodes depend on child nodes

34 Reactive HTN Behavior Trees 34 BT: A tree of tasks Tasks have a common interface: they are given CPU time to execute and they return success/failure/ongoing Leaf tasks: check a condition or execute some code Composite tasks: return value depending on child tasks

35 Reactive HTN Behavior Trees 35 BT: A tree of tasks Tasks have a common interface: they are given CPU time to execute and they return success/failure/ongoing Leaf tasks: check a condition or execute some code Composite tasks: return value depending on child tasks E.g., succeed if the door in front of the NPC is open E.g., kick the door in front of the NPC So, leaf tasks execute online preconditions and effects

36 Reactive HTN Behavior Trees 36 BT: A tree of tasks Tasks have a common interface: they are given CPU time to execute and they return success/failure/ongoing Leaf tasks: check a condition or execute some code Composite tasks: return value depending on child tasks? E.g., succeed if any of the child tasks succeed

37 Reactive HTN Behavior Trees 37 BT: A tree of tasks Tasks have a common interface: they are given CPU time to execute and they return success/failure/ongoing Leaf tasks: check a condition or execute some code Composite tasks: return value depending on child tasks E.g., succeed if all of the child tasks succeed

38 Reactive HTN Behavior Trees 38 BT: A tree of tasks Sequence composite task Selector composite task??

39 Reactive HTN Behavior Trees 39 Preconditions and effects become atomic nodes Decomposition & choice become sequence & selector Get in room Get in room Get in room Pre Eff Move into room Pre Eff Move to door Free door Pre Eff Move into room Pre Eff Unlock door Pre Eff Kick door

40 Reactive HTN Behavior Trees 40 Preconditions and effects become atomic nodes Decomposition & choice become sequence & selector Get in room Get in room Door open? Move into room Pre Eff Move to door Free door Pre Eff Move into room Pre Eff Unlock door Pre Eff Kick door

41 Reactive HTN Behavior Trees 41 Preconditions and effects become atomic nodes Decomposition & choice become sequence & selector? Door open? Move into room Pre Eff Move to door? Pre Eff Move into room Pre Eff Unlock door Pre Eff Kick door

42 Reactive HTN Behavior Trees 42 Preconditions and effects become atomic nodes Decomposition & choice become sequence & selector? Door open? Move into room Move to door? Move into room Door locked? Unlock door Kick door Door open?

43 Reactive HTN Behavior Trees 43 NPC Note behavior that no offline based search on more is involved: refined the conditions behavior and strategies tree is executed online as a kind of pre-defined program? Door open? Move into room Move to door? Move into room Door locked? Unlock door Kick door Door open?

44 Reactive HTN Behavior Trees 44 The way the tree is executed depends on the implementation, e.g., always start over, keep track of the current node, etc NPC behavior based on more refined conditions and strategies? Door open? Move into room Move to door? Move into room Door locked? Unlock door Kick door Door open?

45 Reactive HTN Behavior Trees 45 Reactive behavior based on more refined conditions and strategies that are shown visually Pattern: Sequence of actions with preconditions Precond Action 1 Action 2 Action 2

46 Reactive HTN Behavior Trees 46 Reactive behavior based on more refined conditions and strategies that are shown visually Pattern: Complex action with preconditions Precond? Finish Easy way to achieve the complex action Less easy way Last resort before failing

47 Reactive HTN Behavior Trees 47 Reactive behavior based on more refined conditions and strategies that are shown visually Pattern: Complex action with preconditions Precond? Finish Easy way to achieve the Action 1 complex action Less easy way Last resort before failing

48 Reactive HTN Behavior Trees 48 Reactive behavior based on more refined conditions and strategies Pattern: Complex action with preconditions Precond? Finish Easy way to achieve the Action 1 complex action Last resort before failing Less easy way Action 2 Action 3

49 Reactive HTN Behavior Trees 49 Reactive behavior based on more refined conditions and strategies that are shown visually Pattern: Complex action with preconditions Precond? Finish Easy way to achieve the Action 1 complex action Last resort before failing Less easy way Action 2 Action 3

50 Reactive HTN Behavior Trees 50 Reactive behavior based on more refined conditions and strategies that are shown visually Pattern: High-level complex actions under a main selector?

51 Reactive HTN Behavior Trees 51 Reactive behavior based on more refined conditions and strategies that are shown visually Pattern: High-level complex actions under a main selector? Defend Idle Attack Search player Search food

52 Reactive HTN Behavior Trees 52 Reactive behavior based on more refined conditions and strategies that are shown visually Non-deterministic sequence task and selector task ~ ~? ~? ~

53 Reactive HTN Behavior Trees 53 Reactive behavior based on more refined conditions and strategies that are shown visually? Door open? Move into room Move to door ~? Move into room Door locked? Unlock door Kick door Door open?

54 Reactive HTN Behavior Trees 54 Reactive behavior based on more refined conditions and strategies that are shown visually Parallel sequence task (similar to sequence) E.g., perform move actions while also shooting at target Also used to simulate state-like behavior by ensuring that a condition holds

55 Reactive HTN Behavior Trees 55 Reactive behavior based on more refined conditions and strategies that are shown visually Decorator tasks (wrap objects with same interface) Until fail Invert

56 Reactive HTN Behavior Trees 56 Reactive behavior based on more refined conditions and strategies that are shown visually? Until fail Attack enemy Until fail Look around Enemy in sight Invert Enemy in sight

57 Reactive HTN Behavior Trees 57 Resources

58 Reactive HTN Behavior Trees 58 Resources Behavior Trees in Software Engineering (wikipedia.org/behavior_trees)

59 Reactive HTN Behavior Trees 59 Resources Artificial Intelligence for Games, 2nd Ed., Ian Millington and John Funge, Section 5.4 (ai4g.com)? Door open? Move into room Move to door? Move into room Door locked? Unlock door Kick door Door open?

60 Reactive HTN Behavior Trees 60 Resources Behave Unity package by Angry Ant (angryant.com/behave) with integrated editor

61 Reactive HTN Behavior Trees 61 Resources Behavior tree blog post series by Björn Knafla on efficiently implementing and running them in games (altdevblogaday.com:intro-to-bts/)

62 Reactive HTN Behavior Trees 62 Resources Coordinating Agents with Behavior Trees by Crytech (freesdk.crydev.net:behaviortrees) )

63 Reactive HTN Behavior Trees 63 Resources Tank Maneuvers, Damage Models and Motion Planning in RED ORCHESTRA 2 (aigamedev.com:red-orchestra-2)

64 Reactive HTN Behavior Trees 64 Resources Omni-bot in Wolfenstein 3D Enemy Territory (omni-bot.com) Open-source code available for the game (splashdamage.com:wolfenstein3d-et)

65 Reactive HTN Behavior Trees 65 One of the first commercial video games that used BTs is Halo2 (2004) Simple to understand Simple to implement Separation between the work of the programmer and the game designers Offers the visual specification of fine-grained behaviors (e.g., sequencing, parallel tasks, etc)

66 HTNs in videogames 66 BTs and variants of FSMs have dominated NPC behavior specification in character-based games Going back to the HTN formalism, more recently also actual proactive HTN planning has been used in games as well

67 HTNs in videogames 67 Overview on aigamedev.com:planning-in-games

68 HTNs in videogames 68 E.g., Transformers: War for Cybetron (2012) t2thompson.com/2014/03/16/ai-of-transformers/

69 Applications of planning in videogames 69 Characters in videogames: How do they think? Behavior Trees ( Reactive HTN-like planning) Goal-Oriented Action Planning (STRIPS-like planning) Utility-systems (BFS search) Non-linear stories in videogames More!

70 STRIPS planning 70 Let s not write the decompositions ourselves Model the goal condition in terms of state conditions Get in room Get in room Get in room Pre Eff Move into room Pre Eff Move to door Free door Pre Eff Move into room Pre Eff Unlock door Pre Eff Kick door

71 STRIPS planning 71 Let s not write the decompositions ourselves Model the goal condition in terms of state conditions Pre Eff Actions Move into room Get in room Pre Eff Pre Eff Pre Eff Move to door Unlock door Kick door

72 STRIPS planning 72 Let s not write the decompositions ourselves Model the goal condition in terms of state conditions Pre Eff Actions Move into room Get in room State conditions Door open Not Door open Pre Eff Move to door Door locked Not Door locked Pre Eff Unlock door In room Not In room Pre Eff Kick door

73 STRIPS planning 73 Let s not write the decompositions ourselves Model the goal condition in terms of state conditions Pre Eff Actions Move into room Get in room State conditions Door open Not Door open Pre Eff Move to door Door locked Not Door locked Pre Eff Unlock door In room Not In room Pre Eff Kick door Door locked Hold key Unlock door Not Door locked Door open

74 STRIPS planning 74 STRIPS: We essentially only model the requirements for actions and the goal, not how to achieve the goal Initial state Actions Goal Not Door open Pre Move into room Eff In room Not Door locked Pre Unlock door Eff Not In room Pre Eff

75 STRIPS planning 75 STRIPS: We essentially only model the requirements for actions and the goal, not how to achieve the goal I G

76 STRIPS planning 76 Notice that the state space is much bigger compared to the HTN formulation. How can this actually work? I G

77 STRIPS planning 77 STRIPS planning is a graph reachability problem Start from the initial state/node The search graph is generated by the action descriptions The goal condition specifies the node we search for

78 STRIPS planning 78 STRIPS planning is a graph reachability problem Start from the initial state/node The search graph is generated by the action descriptions The goal condition specifies the node we search for STRIPS is a much more informed representation than just the generated search graph because actions are specified using preconditions and add/delete effects Move to door AddEffect: At Door Precond: At Door Kick door

79 STRIPS planning 79 This type of information allows a search algorithm to look into how actions affect each other Move to door Kick door Move into room In fact some exciting work is being done on ways to generate domain-independent heuristics about finding the most promising node to follow in search, exploiting the add/delete list information

80 STRIPS planning 80 E.g., the distinction of add/delete effects allows us to consider a relaxed (i.e., intended to be simpler) problem in which the delete effects are ignored Think of it this way: As actions are applied, only the positive interactions are kept without removing anything from the state, thus making it easier to achieve goals For example, moving does not remove the old position, and using a resource still keeps it available

81 81 STRIPS planning How does this work as a heuristic? Solve this relaxed problem for every next state you consider and the same goal If the goal cannot be found in the relaxed problem then the original problem cannot be solved from this state If the goal is found then the length of the solution on the relaxed problem is a heuristic estimate for the original! It works great! Some of the best heuristics (e.g., FF) are based on this idea (but there are others too now) RP 1 RP 2 RP 3 RP 4

82 STRIPS Goal-Oriented Action Planning 82 OK, so how is this applied in videogames?

83 STRIPS Goal-Oriented Action Planning 83 FEAR (2005), probably the most famous game using GOAP Motivation One main AI programmer responsible for all NPCs behavior Idea: Different behaviors can be achieved among characters by using STRIPS and providing each character with same goals but a different set of available actions

84 84 STRIPS Goal-Oriented Action Planning

85 STRIPS Goal-Oriented Action Planning 85 Simplifying STRIPS planning

86 STRIPS Goal-Oriented Action Planning 86 Simplifying STRIPS planning Literals are stored as variables (essentially having one argument) The state is stored as an array of a fixed size Actions replace the value of some properties Energy: 50 Distance: 76 Holding: Item3 Variable: Value

87 STRIPS Goal-Oriented Action Planning 87 Simplifying STRIPS planning Literals are stored as variables (essentially having one argument) The state is stored as an array of a fixed size Actions replace the value of some properties Energy: 50 Distance: 76 Holding: Item3 Variable: Value The add/delete representation is lost! Regular STRIPS-like heuristics cannot be applied (as-is)

88 STRIPS Goal-Oriented Action Planning 88 Simplifying STRIPS planning Literals are stored as variables (essentially having one argument) The state is stored as an array of a fixed size Actions replace the value of some properties Energy: 50 Distance: 76 Holding: Item3 Variable: Value A* search is used for plans of length at most 3 but the search is more or less similar to uninformed BFS

89 STRIPS Goal-Oriented Action Planning 89 Advantages Easy to manage a large number of generated behaviors Able to achieve different behaviors that satisfy the given requirements under different conditions without explicitly listing the resulting strategies

90 STRIPS Goal-Oriented Action Planning 90 Advantages Easy to manage a large number of generated behaviors Able to achieve different behaviors that satisfy the given requirements under different conditions without explicitly listing the resulting strategies Challenges Need to solve planning problems in real-time! ( = a few frames = a few msec )

91 STRIPS Goal-Oriented Action Planning 91 Advantages Easy to manage a large number of generated behaviors Able to achieve different behaviors that satisfy the given requirements under different conditions without explicitly listing the resulting strategies Challenges Need to solve planning problems in real-time! ( = a few frames = a few msec ) In complex domains with chaining of effects, the goal count heuristic is comparable to blind search

92 STRIPS Goal-Oriented Action Planning 92 One of the first commercial video games that used GOAP is FEAR (2005) Not so simple to understand Not so simple to implement Not so clear separation between the work of the programmer and the game designers The specification of fine-grained behaviors is tricky

93 STRIPS Goal-Oriented Action Planning 93 Overview on aigamedev.com:planning-in-games

94 STRIPS Goal-Oriented Action Planning 94 Overview on web.media.mit.edu/~jorkin/goap.html

95 Characters in videogames 95 General observations about HTN/STRIPS planning States are often represented as normal variables in the target programming language Actions are often modeled as normal functions that operate on the state variables Preconditions as normal if-statements, effects as normal assignments In many cases developers exploit mostly the intuitions about expressing the intended behaviors in terms of actions, and then perform search over the space of action application, rather than exploit offline symbolic tricks like the relaxed heuristic Note1: more difficult to keep track of causal links as in the textbook version of add/delete lists of literals Note2: goal count heuristic can still be applied (check variables if they match with some goal condition)

96 Applications of planning in videogames 96 Characters in videogames: How do they think? Behavior Trees ( Reactive HTN-like planning) Goal-Oriented Action Planning (STRIPS-like planning) Utility-systems (BFS search) Interactive non-linear stories in videogames More!

97 Utility-based planning in videogames 97 General observations about utility systems Essentially the state representation is the same as STRIPS-like planning (e.g., with variables and values) but the goal here is to maximize some metric The evaluation function is typically a combination of utility functions, such as energy, hunger, thirst, etc As exhaustive search is typically used, and either the number of available actions is limited or the length of sequences of actions to consider

98 Utility-based planning in videogames 98 Most famous commercial video-game: The Sims series! Basic idea: nearby objects expose available actions to be performed as well as the outcome in utility The Sim evaluates each of the actions and picks the most useful or most urgent 1-step planning of local actions :-)

99 99 Utility-based planning in videogames

100 Utility-based planning in videogames 100 Most famous commercial video-game: The Sims series! Many additional tricks to handle sequences of actions, social interactions based on FSM social states, ageing, Introduced the notion of smart objects Data-driven actions and effects The logic behind the domain is pushed to the objects instead of the NPC Add-on extensions can be done easily

101 Utility-based planning in videogames 101 Nice resources available Original code by Will Wright ( Artificial Intelligence in The Sims series by Yoann Bourse (

102 Applications of planning in videogames 102 Characters in videogames: How do they think? Behavior Trees ( Reactive HTN-like planning) Goal-Oriented Action Planning (STRIPS-like planning) Utility-systems (BFS search) Interactive non-linear stories in videogames More!

103 103 Challenge: Hybrid deliberation

104 Challenge: Hybrid deliberation 104 BTs and HTN-like planning share a lot of intuitions Can be used as programs for a STRIPS-like domain Can be mixed to allow for more flexibility Precond? Finish Easy way to achieve the Action 1 complex action Less easy way by HTN-like planning Last resort by STRIPS-like planning

105 Challenge: Hybrid deliberation 105 Quick and dirty Python prototype of HTN/STRIPS hybrid planning available for experimentation

106 Challenge: Hybrid deliberation 106 Pac-man test-bed in Python (used in courses to specify STRIPS planning agents or Golog agents) inst.eecs.berkeley.edu/~cs188/pacman/

107 Challenge: Hybrid deliberation 107 There are other competitions too :-)

108 Applications of planning in videogames 108 Characters in videogames: How do they think? Behavior Trees ( Reactive HTN-like planning) Goal-Oriented Action Planning (STRIPS-like planning) Utility-systems (BFS search) Interactive non-linear stories in videogames More!

109 Moving to the story level 109 Each NPC has some action-driven autonomy The overall interaction is emergent based on this Follow player Attack Interact to give item X

110 Moving to the story level 110 Each NPC has some action-driven autonomy The overall interaction is emergent based on this How is the overall story controlled? Follow player Attack Interact to give item X

111 Moving to the story level 111 Linear storytelling: specific events trigger the next chapter/level/area/cut-scene Nonlinear storytelling: the story adapts to the player interaction Follow player Attack Interact to give item X

112 Interactive storytelling in video games 112 Linear storyline similar to the one story of films Strict order of plot points, only one way to move forward Traditional approach in video games 112

113 Interactive storytelling in video games 113 Quest-based approach in an open world Players may visit plot points in any order they choose E.g., World of Warcraft, Grand Theft Auto 113

114 Interactive storytelling in video games 114 Open-world groups that converge to a linear story E.g., in Syberia all chapters start and end in a fixed way but the order of interacting with sub-parts can vary 114

115 Interactive storytelling in video games 115 Branching depending on player action that may lead to different endings E.g., Heavy Rain, Beyond Two Souls 115

116 Interactive storytelling in video games 116 Branching depending on player action that may lead to different endings E.g., Heavy Rain, Beyond Two Souls 116

117 Interactive storytelling in video games 117 Next generation of video games Adapting the story based on player s choices Adapting the story to improve the player s experience, e.g., according to player type: solvers/fighters/wanderers Strong story vs character autonomy AI Drama manager directs the story following a rich collection of parameters

118 Interactive storytelling in video games 118 As the complexity of the increases, hard-coded solutions do not scale well

119 Interactive storytelling in video games 119 Challenge: Generate an interesting adaptive story over a large space of opportunities or story states

120 Interactive storytelling in video games 120 Model story generation as a solution to a planning problem over story states I G

121 Interactive storytelling in video games 121 Model story generation as a solution to a planning problem over story states The domain of stories seems to be better suited for AI work in knowledge representation and automated reasoning than (high-level) NPC behavior High-level symbols are already present Time constraints are less critical A lot of work in major AI conferences (e.g., AAMAS, AAAI, ECAI)

122 Interactive storytelling in video games 122 Some themes

123 Interactive storytelling in video games 123 Some themes Reactive planning for story generation and adaptation Generate stories based on current situation and intended goal condition for the story using PDDL planners Use PDDL features to model time constraints Use more expressive languages to express modalities such as intention of characters and plan also taking these into account Compile modalities into PDDL planning Generate medical soap opera episodes!

124 124 Interactive storytelling in video games

125 Interactive storytelling in video games 125 Stories in games are created by authors/writers and have many more features than events, actors, and time A successful story is one that takes into account relationships between actors, the timing of narrative intensity, etc These open up interesting KR&R problems Let s see one such aspect briefly

126 Interactive storytelling in video games 126 Let s focus on a particular type of stories that are common in video games: war stories Model the story of Iliad as a solution of a planning problem Initial state Available actions Goal condition Motivation: Adaptive Iliad! by means of real-time planners

127 Challenge: First book of Iliad 127 Apollo s priest Chryses comes to the Achaian camp and asks to ransom back his daughter Chryseis, who has been captured by Agamemnon. Chryses, is insulted and sent away. He prays to Apollo to punish the Greeks, which Apollo does by sending a plague upon them. Achilleus calls an assembly to deal with the plague, and the prophet, Kalchas, reveals that Apollo was angered by Agamemnon s refusal to return the daughter of his priest. Agamemnon agrees to give her back, but demands compensation. This provokes Achilleus anger, and, after they exchange threats and angry words, Agamemnon decides to take Achilleus prize, the captive woman, Briseis. The goddess, Athene, prevents Achilleus from killing Agamemnon by promising that he will one day be compensated with three times as many prizes. Agamemnon s men take Briseis from Achilleus, and Achilleus prays to his divine mother, Thetis, for help. He says he will not fight, and he asks her to persuade Zeus to make the battle go badly for the Greeks so they will see that they should not have dishonored him. Odysseus leads a group of Greeks to Chryse to return Chryseis to Chryses. Meanwhile, Achilleus isolates himself from the other Greeks. Thetis, begs Zeus to honor her son, Achilleus, by turning the battle against the Greeks so they will see that they need him.

128 Challenge: First book of Iliad 128 STRIPS is an action-centered representation that models which properties are true at a given state Agamemnon is at the Greek camp Chryseis is kept captive by Agamemnon In Iliad though most crucial to the plot is what the heroes believe, desire, intend Chryses desires that Chryseis is not kept captive by Agamemnon So apart from facts that are true and false we need to reason about modalities over these facts

129 Challenge: First book of Iliad 129 Some facts about Iliad first book in STRIPS At(Agamemnon,GreekCamp) HoldsCaptive(Agamemnon,Chryseis) A desire modality is not over objects of the domain, e.g., people, places, etc, but over facts Desires Chryses ( HoldsCaptive(Agamemnon,Chryseis)) There are logics for representing and reasoning over such modalities, but we want to use existing real-time STRIPS planners, which don t support them

130 Challenge: First book of Iliad 130 There is some recent work particular on intentions IPOCL: Intent-based Partial Order Causal Link planner Riedl and Young, JAIR Narrative Planning: Compilations to Classical Planning Haslum, JAIR

131 Challenge: First book of Iliad 131 A practical solution that would be intuitive also to game developers and story designers Reify modalities into objects of the domain, and use a special mood predicate to represent the disposition of characters toward each other Mood(Agamemnon,Achilleus,Negative) Mood(Chryses,Agamemnon,DesireRelease) Any modalities can be represented as needed, e.g., Angry, Punish, DesireCapture, etc

132 Challenge: First book of Iliad 132 The interpretation of our mood predicate and objects do not follow formal modal semantics, rather than depend on any actions specified by the user We separate actions then in two categories Physical actions modify physical properties E.g., go, capture, release, punish, etc Interaction actions that modify dispositions interactmood(chryses,agamemnon,requestrelease) Also reified over a generic interactmood action that takes arguments of similar form as the Mood predicate

133 Challenge: First book of Iliad 133 Instances of interact-mood actions modify only the disposition between characters The disposition of characters enables different physical actions to be performed This provides a moods layer for representing the gist of the story as a game between the relationships of characters, while physical actions are just ways to materialize the tensions expressed in the moods.

134 Challenge: First book of Iliad 134 The goal of the planning problem is then expressed also solely in terms of the moods of the characters: Mood (Achilleus,Agamemnon,Negative) Mood(Zeus,Agamemnon,Punish) Mood(Chryses,Agamemnon,Good) Hence, at the end of the first book, Achilleus is upset with Agamemnon, Zeus is in the mood of punishing Agamemnon, and Chryses is happy with the former captor of his daughter

135 135 Challenge: First book of Iliad

136 Applications of planning in videogames 136 Characters in videogames: How do they think? Behavior Trees ( Reactive HTN-like planning) Goal-Oriented Action Planning (STRIPS-like planning) Utility-systems (BFS search) Interactive non-linear stories in videogames More!

137 Applications of planning in videogames 137 Conferences Foundations of Digital Games (FDG) Computational Intelligence in Games (IEEE CIG) AI for Interactive Digital Entertainment (AAAI AIIDE)

138 Applications of planning in videogames 138 Two relevant papers from last year NetworkING: using Character Relationships for Interactive Narrative Generation Porteous, Charles, Cavazza, AAMAS, Towards story-based content generation: From plot-points to maps Valls-Vargas, Ontanon, Jichen Zhu, IEEE CIG, = &tag=1

139 Applications of planning in videogames 139 Background Interactive Narrative: An Intelligent Systems Approach Riedl, Bulitko, AI Magazine Applying planning to interactive storytelling: Narrative control using state constraints Porteous, Charles, Cavazza, ACM TIST,

Gameplay as On-Line Mediation Search

Gameplay as On-Line Mediation Search Gameplay as On-Line Mediation Search Justus Robertson and R. Michael Young Liquid Narrative Group Department of Computer Science North Carolina State University Raleigh, NC 27695 jjrobert@ncsu.edu, young@csc.ncsu.edu

More information

CS 387/680: GAME AI DECISION MAKING. 4/19/2016 Instructor: Santiago Ontañón

CS 387/680: GAME AI DECISION MAKING. 4/19/2016 Instructor: Santiago Ontañón CS 387/680: GAME AI DECISION MAKING 4/19/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Reminders Check BBVista site

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Introduction to Game AI Fall 2018 What does the A stand for? 2 What is AI? AI is the control of every non-human entity in a game The other cars in a car game The opponents

More information

Intelligent Agents. Introduction to Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University. last change: 23.

Intelligent Agents. Introduction to Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University. last change: 23. Intelligent Agents Introduction to Planning Ute Schmid Cognitive Systems, Applied Computer Science, Bamberg University last change: 23. April 2012 U. Schmid (CogSys) Intelligent Agents last change: 23.

More information

Grading Delays. We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can

Grading Delays. We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can Grading Delays We don t have permission to grade you (yet) We re working with tstaff on a solution We ll get grades back to you as soon as we can Due next week: warmup2 retries dungeon_crawler1 extra retries

More information

Capturing and Adapting Traces for Character Control in Computer Role Playing Games

Capturing and Adapting Traces for Character Control in Computer Role Playing Games Capturing and Adapting Traces for Character Control in Computer Role Playing Games Jonathan Rubin and Ashwin Ram Palo Alto Research Center 3333 Coyote Hill Road, Palo Alto, CA 94304 USA Jonathan.Rubin@parc.com,

More information

A Character Decision-Making System for FINAL FANTASY XV by Combining Behavior Trees and State Machines

A Character Decision-Making System for FINAL FANTASY XV by Combining Behavior Trees and State Machines 11 A haracter Decision-Making System for FINAL FANTASY XV by ombining Behavior Trees and State Machines Youichiro Miyake, Youji Shirakami, Kazuya Shimokawa, Kousuke Namiki, Tomoki Komatsu, Joudan Tatsuhiro,

More information

Inaction breeds doubt and fear. Action breeds confidence and courage. If you want to conquer fear, do not sit home and think about it.

Inaction breeds doubt and fear. Action breeds confidence and courage. If you want to conquer fear, do not sit home and think about it. Inaction breeds doubt and fear. Action breeds confidence and courage. If you want to conquer fear, do not sit home and think about it. Go out and get busy. -- Dale Carnegie Announcements AIIDE 2015 https://youtu.be/ziamorsu3z0?list=plxgbbc3oumgg7ouylfv

More information

Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen

Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen Making Simple Decisions CS3523 AI for Computer Games The University of Aberdeen Contents Decision making Search and Optimization Decision Trees State Machines Motivating Question How can we program rules

More information

Glaive: A State-Space Narrative Planner Supporting Intentionality and Conflict

Glaive: A State-Space Narrative Planner Supporting Intentionality and Conflict Proceedings of the Tenth Annual AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE 2014) Glaive: A State-Space Narrative Planner Supporting Intentionality and Conflict

More information

CS 480: GAME AI TACTIC AND STRATEGY. 5/15/2012 Santiago Ontañón

CS 480: GAME AI TACTIC AND STRATEGY. 5/15/2012 Santiago Ontañón CS 480: GAME AI TACTIC AND STRATEGY 5/15/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro.html Reminders Check BBVista site for the course regularly

More information

Artificial Intelligence for Games

Artificial Intelligence for Games Artificial Intelligence for Games CSC404: Video Game Design Elias Adum Let s talk about AI Artificial Intelligence AI is the field of creating intelligent behaviour in machines. Intelligence understood

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Lecture 01 - Introduction Edirlei Soares de Lima What is Artificial Intelligence? Artificial intelligence is about making computers able to perform the

More information

Automatically Adjusting Player Models for Given Stories in Role- Playing Games

Automatically Adjusting Player Models for Given Stories in Role- Playing Games Automatically Adjusting Player Models for Given Stories in Role- Playing Games Natham Thammanichanon Department of Computer Engineering Chulalongkorn University, Payathai Rd. Patumwan Bangkok, Thailand

More information

the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra

the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra Game AI: The set of algorithms, representations, tools, and tricks that support the creation

More information

Game Artificial Intelligence ( CS 4731/7632 )

Game Artificial Intelligence ( CS 4731/7632 ) Game Artificial Intelligence ( CS 4731/7632 ) Instructor: Stephen Lee-Urban http://www.cc.gatech.edu/~surban6/2018-gameai/ (soon) Piazza T-square What s this all about? Industry standard approaches to

More information

What is Nonlinear Narrative?

What is Nonlinear Narrative? Nonlinear Narrative in Games: Theory and Practice By Ben McIntosh, Randi Cohn and Lindsay Grace [08.17.10] When it comes to writing for video games, there are a few decisions that need to be made before

More information

the gamedesigninitiative at cornell university Lecture 23 Strategic AI

the gamedesigninitiative at cornell university Lecture 23 Strategic AI Lecture 23 Role of AI in Games Autonomous Characters (NPCs) Mimics personality of character May be opponent or support character Strategic Opponents AI at player level Closest to classical AI Character

More information

Tac 3 Feedback. Movement too sensitive/not sensitive enough Play around with it until you find something smooth

Tac 3 Feedback. Movement too sensitive/not sensitive enough Play around with it until you find something smooth Tac 3 Feedback Movement too sensitive/not sensitive enough Play around with it until you find something smooth Course Administration Things sometimes go wrong Our email script is particularly temperamental

More information

STRATEGO EXPERT SYSTEM SHELL

STRATEGO EXPERT SYSTEM SHELL STRATEGO EXPERT SYSTEM SHELL Casper Treijtel and Leon Rothkrantz Faculty of Information Technology and Systems Delft University of Technology Mekelweg 4 2628 CD Delft University of Technology E-mail: L.J.M.Rothkrantz@cs.tudelft.nl

More information

the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra

the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra the question of whether computers can think is like the question of whether submarines can swim -- Dijkstra Game AI: The set of algorithms, representations, tools, and tricks that support the creation

More information

An Overview of the Mimesis Architecture: Integrating Intelligent Narrative Control into an Existing Gaming Environment

An Overview of the Mimesis Architecture: Integrating Intelligent Narrative Control into an Existing Gaming Environment An Overview of the Mimesis Architecture: Integrating Intelligent Narrative Control into an Existing Gaming Environment R. Michael Young Liquid Narrative Research Group Department of Computer Science NC

More information

5.4 Imperfect, Real-Time Decisions

5.4 Imperfect, Real-Time Decisions 5.4 Imperfect, Real-Time Decisions Searching through the whole (pruned) game tree is too inefficient for any realistic game Moves must be made in a reasonable amount of time One has to cut off the generation

More information

CMSC 671 Project Report- Google AI Challenge: Planet Wars

CMSC 671 Project Report- Google AI Challenge: Planet Wars 1. Introduction Purpose The purpose of the project is to apply relevant AI techniques learned during the course with a view to develop an intelligent game playing bot for the game of Planet Wars. Planet

More information

CS 387/680: GAME AI DECISION MAKING

CS 387/680: GAME AI DECISION MAKING CS 387/680: GAME AI DECISION MAKING 4/21/2014 Instructor: Santiago Ontañón santi@cs.drexel.edu TA: Alberto Uriarte office hours: Tuesday 4-6pm, Cyber Learning Center Class website: https://www.cs.drexel.edu/~santi/teaching/2014/cs387-680/intro.html

More information

Moving Path Planning Forward

Moving Path Planning Forward Moving Path Planning Forward Nathan R. Sturtevant Department of Computer Science University of Denver Denver, CO, USA sturtevant@cs.du.edu Abstract. Path planning technologies have rapidly improved over

More information

AI in Computer Games. AI in Computer Games. Goals. Game A(I?) History Game categories

AI in Computer Games. AI in Computer Games. Goals. Game A(I?) History Game categories AI in Computer Games why, where and how AI in Computer Games Goals Game categories History Common issues and methods Issues in various game categories Goals Games are entertainment! Important that things

More information

An Analysis of Artificial Intelligence Techniques in Multiplayer Online Battle Arena Game Environments

An Analysis of Artificial Intelligence Techniques in Multiplayer Online Battle Arena Game Environments An Analysis of Artificial Intelligence Techniques in Multiplayer Online Battle Arena Game Environments Michael Waltham CSIR Meraka Centre for Artificial Intelligence Research (CAIR) University of KwaZulu-Natal,

More information

Agent Smith: An Application of Neural Networks to Directing Intelligent Agents in a Game Environment

Agent Smith: An Application of Neural Networks to Directing Intelligent Agents in a Game Environment Agent Smith: An Application of Neural Networks to Directing Intelligent Agents in a Game Environment Jonathan Wolf Tyler Haugen Dr. Antonette Logar South Dakota School of Mines and Technology Math and

More information

Search then involves moving from state-to-state in the problem space to find a goal (or to terminate without finding a goal).

Search then involves moving from state-to-state in the problem space to find a goal (or to terminate without finding a goal). Search Can often solve a problem using search. Two requirements to use search: Goal Formulation. Need goals to limit search and allow termination. Problem formulation. Compact representation of problem

More information

Chapter 7A Storytelling and Narrative

Chapter 7A Storytelling and Narrative Chapter 7A Storytelling and Narrative Storytelling: -a feature of daily experience that we do without thinking -consume stories continuously Game designers add stories to: -enhance entertainment value

More information

CS 387/680: GAME AI AI FOR FIRST-PERSON SHOOTERS

CS 387/680: GAME AI AI FOR FIRST-PERSON SHOOTERS CS 387/680: GAME AI AI FOR FIRST-PERSON SHOOTERS 4/28/2014 Instructor: Santiago Ontañón santi@cs.drexel.edu TA: Alberto Uriarte office hours: Tuesday 4-6pm, Cyber Learning Center Class website: https://www.cs.drexel.edu/~santi/teaching/2014/cs387-680/intro.html

More information

Socially-aware emergent narrative

Socially-aware emergent narrative Socially-aware emergent narrative Sergio Alvarez-Napagao, Ignasi Gómez-Sebastià, Sofia Panagiotidi, Arturo Tejeda-Gómez, Luis Oliva, and Javier Vázquez-Salceda Universitat Politècnica de Catalunya {salvarez,igomez,panagiotidi,jatejeda,loliva,jvazquez}@lsi.upc.edu

More information

CS 387/680: GAME AI TACTIC AND STRATEGY

CS 387/680: GAME AI TACTIC AND STRATEGY CS 387/680: GAME AI TACTIC AND STRATEGY 5/12/2014 Instructor: Santiago Ontañón santi@cs.drexel.edu TA: Alberto Uriarte office hours: Tuesday 4-6pm, Cyber Learning Center Class website: https://www.cs.drexel.edu/~santi/teaching/2014/cs387-680/intro.html

More information

INTRODUCTION TO GAME AI

INTRODUCTION TO GAME AI CS 387: GAME AI INTRODUCTION TO GAME AI 3/31/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Outline Game Engines Perception

More information

Five-In-Row with Local Evaluation and Beam Search

Five-In-Row with Local Evaluation and Beam Search Five-In-Row with Local Evaluation and Beam Search Jiun-Hung Chen and Adrienne X. Wang jhchen@cs axwang@cs Abstract This report provides a brief overview of the game of five-in-row, also known as Go-Moku,

More information

Structure & Game Worlds. Topics in Game Development Spring, 2008 ECE 495/595; CS 491/591

Structure & Game Worlds. Topics in Game Development Spring, 2008 ECE 495/595; CS 491/591 Structure & Game Worlds Topics in Game Development Spring, 2008 ECE 495/595; CS 491/591 What is game structure? Like other forms of structure: a framework The organizational underpinnings of the game Structure

More information

Building a Better Battle The Halo 3 AI Objectives System

Building a Better Battle The Halo 3 AI Objectives System 11/8/12 Building a Better Battle The Halo 3 AI Objectives System Damián Isla Bungie Studios 1 Big Battle Technology Precombat Combat dialogue Ambient sound Scalable perception Flocking Encounter logic

More information

Principles of Computer Game Design and Implementation. Lecture 29

Principles of Computer Game Design and Implementation. Lecture 29 Principles of Computer Game Design and Implementation Lecture 29 Putting It All Together Games are unimaginable without AI (Except for puzzles, casual games, ) No AI no computer adversary/companion Good

More information

Robust and Authorable Multiplayer Storytelling Experiences

Robust and Authorable Multiplayer Storytelling Experiences Robust and Authorable Multiplayer Storytelling Experiences Mark Riedl, Boyang Li, Hua Ai, and Ashwin Ram School of Interactive Computing Georgia Institute of Technology Atlanta, Georgia 30308 {riedl, boyangli,

More information

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence IMGD 1001: Programming Practices; Artificial Intelligence Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu Outline Common Practices Artificial

More information

Building a Risk-Free Environment to Enhance Prototyping

Building a Risk-Free Environment to Enhance Prototyping 10 Building a Risk-Free Environment to Enhance Prototyping Hinted-Execution Behavior Trees Sergio Ocio Barriales 10.1 Introduction 10.2 Explaining the Problem 10.3 Behavior Trees 10.4 Extending the Model

More information

Who am I? AI in Computer Games. Goals. AI in Computer Games. History Game A(I?)

Who am I? AI in Computer Games. Goals. AI in Computer Games. History Game A(I?) Who am I? AI in Computer Games why, where and how Lecturer at Uppsala University, Dept. of information technology AI, machine learning and natural computation Gamer since 1980 Olle Gällmo AI in Computer

More information

Automated Gameplay Generation from Declarative World Representations

Automated Gameplay Generation from Declarative World Representations Automated Gameplay Generation from Declarative World Representations Justus Robertson and R. Michael Young Liquid Narrative Group Department of Computer Science North Carolina State University Raleigh,

More information

Intelligent Agents & Search Problem Formulation. AIMA, Chapters 2,

Intelligent Agents & Search Problem Formulation. AIMA, Chapters 2, Intelligent Agents & Search Problem Formulation AIMA, Chapters 2, 3.1-3.2 Outline for today s lecture Intelligent Agents (AIMA 2.1-2) Task Environments Formulating Search Problems CIS 421/521 - Intro to

More information

IMGD 1001: Programming Practices; Artificial Intelligence

IMGD 1001: Programming Practices; Artificial Intelligence IMGD 1001: Programming Practices; Artificial Intelligence by Mark Claypool (claypool@cs.wpi.edu) Robert W. Lindeman (gogo@wpi.edu) Outline Common Practices Artificial Intelligence Claypool and Lindeman,

More information

Solving Problems by Searching

Solving Problems by Searching Solving Problems by Searching Berlin Chen 2005 Reference: 1. S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach. Chapter 3 AI - Berlin Chen 1 Introduction Problem-Solving Agents vs. Reflex

More information

Trade Offs in Game Design

Trade Offs in Game Design Trade Offs in Game Design Trade Offs in Game Design Quite often in game design, there are conflicts between different design goals. One design goal can be achieved only through sacrificing others. Sometimes,

More information

Emergent Situations in Interactive Storytelling

Emergent Situations in Interactive Storytelling Emergent Situations in Interactive Storytelling Marc Cavazza, Fred Charles, Steven J. Mead University of Teesside, School of Computing and Mathematics Middlesbrough, TS1 3BA, United Kingdom {m.o.cavazza,

More information

Incorporating User Modeling into Interactive Drama

Incorporating User Modeling into Interactive Drama Incorporating User Modeling into Interactive Drama Brian Magerko Soar Games group www.soargames.org Generic Interactive Drama User actions percepts story Writer presentation medium Dramatic experience

More information

SHORT FILM DISCUSSION QUESTIONS EPISODES 1-10

SHORT FILM DISCUSSION QUESTIONS EPISODES 1-10 SHORT FILM EPISODES 1-10 EPISODE 1 LOOKING FOR A STORY 1 In this short film, Dan Allender asks, If your life was a story, would it be worth reading? How would you respond to that question? 2 If you re

More information

Agent-Based Systems. Agent-Based Systems. Agent-Based Systems. Five pervasive trends in computing history. Agent-Based Systems. Agent-Based Systems

Agent-Based Systems. Agent-Based Systems. Agent-Based Systems. Five pervasive trends in computing history. Agent-Based Systems. Agent-Based Systems Five pervasive trends in computing history Michael Rovatsos mrovatso@inf.ed.ac.uk Lecture 1 Introduction Ubiquity Cost of processing power decreases dramatically (e.g. Moore s Law), computers used everywhere

More information

Emily Short

Emily Short Emily Short emshort.wordpress.com @emshort About me Author of 20+ works of interactive fiction, including Galatea and Counterfeit Monkey One of the leads on the Versu project versu.com Provide assorted

More information

TGD3351 Game Algorithms TGP2281 Games Programming III. in my own words, better known as Game AI

TGD3351 Game Algorithms TGP2281 Games Programming III. in my own words, better known as Game AI TGD3351 Game Algorithms TGP2281 Games Programming III in my own words, better known as Game AI An Introduction to Video Game AI A round of introduction In a nutshell B.CS (GD Specialization) Game Design

More information

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY

CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY Submitted By: Sahil Narang, Sarah J Andrabi PROJECT IDEA The main idea for the project is to create a pursuit and evade crowd

More information

A Model of Superposed States

A Model of Superposed States A Model of Superposed States Justus Robertson Department of Computer Science North Carolina State University Raleigh, NC 27695 jjrobert@ncsu.edu R. Michael Young School of Computing The University of Utah

More information

Using Reactive Deliberation for Real-Time Control of Soccer-Playing Robots

Using Reactive Deliberation for Real-Time Control of Soccer-Playing Robots Using Reactive Deliberation for Real-Time Control of Soccer-Playing Robots Yu Zhang and Alan K. Mackworth Department of Computer Science, University of British Columbia, Vancouver B.C. V6T 1Z4, Canada,

More information

Monte Carlo Tree Search. Simon M. Lucas

Monte Carlo Tree Search. Simon M. Lucas Monte Carlo Tree Search Simon M. Lucas Outline MCTS: The Excitement! A tutorial: how it works Important heuristics: RAVE / AMAF Applications to video games and real-time control The Excitement Game playing

More information

IMPROVING TOWER DEFENSE GAME AI (DIFFERENTIAL EVOLUTION VS EVOLUTIONARY PROGRAMMING) CHEAH KEEI YUAN

IMPROVING TOWER DEFENSE GAME AI (DIFFERENTIAL EVOLUTION VS EVOLUTIONARY PROGRAMMING) CHEAH KEEI YUAN IMPROVING TOWER DEFENSE GAME AI (DIFFERENTIAL EVOLUTION VS EVOLUTIONARY PROGRAMMING) CHEAH KEEI YUAN FACULTY OF COMPUTING AND INFORMATICS UNIVERSITY MALAYSIA SABAH 2014 ABSTRACT The use of Artificial Intelligence

More information

5.4 Imperfect, Real-Time Decisions

5.4 Imperfect, Real-Time Decisions 116 5.4 Imperfect, Real-Time Decisions Searching through the whole (pruned) game tree is too inefficient for any realistic game Moves must be made in a reasonable amount of time One has to cut off the

More information

CS 480: GAME AI DECISION MAKING AND SCRIPTING

CS 480: GAME AI DECISION MAKING AND SCRIPTING CS 480: GAME AI DECISION MAKING AND SCRIPTING 4/24/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro.html Reminders Check BBVista site for the course

More information

Co-evolution of agent-oriented conceptual models and CASO agent programs

Co-evolution of agent-oriented conceptual models and CASO agent programs University of Wollongong Research Online Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences 2006 Co-evolution of agent-oriented conceptual models and CASO agent programs

More information

Game Designers. Understanding Design Computing and Cognition (DECO1006)

Game Designers. Understanding Design Computing and Cognition (DECO1006) Game Designers Understanding Design Computing and Cognition (DECO1006) Rob Saunders web: http://www.arch.usyd.edu.au/~rob e-mail: rob@arch.usyd.edu.au office: Room 274, Wilkinson Building Who are these

More information

University of Sheffield. CITY Liberal Studies. Department of Computer Science FINAL YEAR PROJECT. StarPlanner

University of Sheffield. CITY Liberal Studies. Department of Computer Science FINAL YEAR PROJECT. StarPlanner University of Sheffield CITY Liberal Studies Department of Computer Science FINAL YEAR PROJECT StarPlanner Demonstrating the use of planning in a video game This report is submitted in partial fulfillment

More information

5.1 State-Space Search Problems

5.1 State-Space Search Problems Foundations of Artificial Intelligence March 7, 2018 5. State-Space Search: State Spaces Foundations of Artificial Intelligence 5. State-Space Search: State Spaces Malte Helmert University of Basel March

More information

TGD3351 Game Algorithms TGP2281 Games Programming III. in my own words, better known as Game AI

TGD3351 Game Algorithms TGP2281 Games Programming III. in my own words, better known as Game AI TGD3351 Game Algorithms TGP2281 Games Programming III in my own words, better known as Game AI An Introduction to Video Game AI In a nutshell B.CS (GD Specialization) Game Design Fundamentals Game Physics

More information

A review of interactive narrative systems and technologies: a training perspective

A review of interactive narrative systems and technologies: a training perspective 1 A review of interactive narrative systems and technologies: a training perspective Linbo Luo 1, Wentong Cai 2, Suiping Zhou 3,Michael Lees 4, Haiyan Yin 2, 1 School of Computer Science and Technology,

More information

ACKNOWLEDGEMENTS. This work is dedicated to my twin daughters, Evdokia and Myranda, who were born a few months before I completed my research.

ACKNOWLEDGEMENTS. This work is dedicated to my twin daughters, Evdokia and Myranda, who were born a few months before I completed my research. ABSTRACT In recent years, the field of Digital Interactive Storytelling (DIS) has become very popular both in academic circles, as well as in the gaming industry, in which stories are becoming a unique

More information

Overview Agents, environments, typical components

Overview Agents, environments, typical components Overview Agents, environments, typical components CSC752 Autonomous Robotic Systems Ubbo Visser Department of Computer Science University of Miami January 23, 2017 Outline 1 Autonomous robots 2 Agents

More information

Chapter 4 Summary Working with Dramatic Elements

Chapter 4 Summary Working with Dramatic Elements Chapter 4 Summary Working with Dramatic Elements There are two basic elements to a successful game. These are the game formal elements (player, procedures, rules, etc) and the game dramatic elements. The

More information

Procedural Content Generation

Procedural Content Generation Lecture 14 Generation In Beginning, There Was Rogue 2 In Beginning, There Was Rogue Roguelike Genre Classic RPG style Procedural dungeons Permadeath 3 A Brief History of Roguelikes Precursors (1978) Beneath

More information

Procedural Content Generation

Procedural Content Generation Lecture 13 Generation In Beginning, There Was Rogue 2 In Beginning, There Was Rogue Roguelike Genre Classic RPG style Procedural dungeons Permadeath 3 A Brief History of Roguelikes Precursors (1978) Beneath

More information

Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software

Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software Strategic and Tactical Reasoning with Waypoints Lars Lidén Valve Software lars@valvesoftware.com For the behavior of computer controlled characters to become more sophisticated, efficient algorithms are

More information

Outline. Agents and environments Rationality PEAS (Performance measure, Environment, Actuators, Sensors) Environment types Agent types

Outline. Agents and environments Rationality PEAS (Performance measure, Environment, Actuators, Sensors) Environment types Agent types Intelligent Agents Outline Agents and environments Rationality PEAS (Performance measure, Environment, Actuators, Sensors) Environment types Agent types Agents An agent is anything that can be viewed as

More information

COMP3211 Project. Artificial Intelligence for Tron game. Group 7. Chiu Ka Wa ( ) Chun Wai Wong ( ) Ku Chun Kit ( )

COMP3211 Project. Artificial Intelligence for Tron game. Group 7. Chiu Ka Wa ( ) Chun Wai Wong ( ) Ku Chun Kit ( ) COMP3211 Project Artificial Intelligence for Tron game Group 7 Chiu Ka Wa (20369737) Chun Wai Wong (20265022) Ku Chun Kit (20123470) Abstract Tron is an old and popular game based on a movie of the same

More information

Elements of Artificial Intelligence and Expert Systems

Elements of Artificial Intelligence and Expert Systems Elements of Artificial Intelligence and Expert Systems Master in Data Science for Economics, Business & Finance Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano (MI) Ufficio

More information

Algorithms and Networking for Computer Games

Algorithms and Networking for Computer Games Algorithms and Networking for Computer Games Chapter 1: Introduction http://www.wiley.com/go/smed Definition for play [Play] is an activity which proceeds within certain limits of time and space, in a

More information

A NEW SIMULATION FRAMEWORK OF OPERATIONAL EFFECTIVENESS ANALYSIS FOR UNMANNED GROUND VEHICLE

A NEW SIMULATION FRAMEWORK OF OPERATIONAL EFFECTIVENESS ANALYSIS FOR UNMANNED GROUND VEHICLE A NEW SIMULATION FRAMEWORK OF OPERATIONAL EFFECTIVENESS ANALYSIS FOR UNMANNED GROUND VEHICLE 1 LEE JAEYEONG, 2 SHIN SUNWOO, 3 KIM CHONGMAN 1 Senior Research Fellow, Myongji University, 116, Myongji-ro,

More information

COMP9414: Artificial Intelligence Problem Solving and Search

COMP9414: Artificial Intelligence Problem Solving and Search CMP944, Monday March, 0 Problem Solving and Search CMP944: Artificial Intelligence Problem Solving and Search Motivating Example You are in Romania on holiday, in Arad, and need to get to Bucharest. What

More information

IHK: Intelligent Autonomous Agent Model and Architecture towards Multi-agent Healthcare Knowledge Infostructure

IHK: Intelligent Autonomous Agent Model and Architecture towards Multi-agent Healthcare Knowledge Infostructure IHK: Intelligent Autonomous Agent Model and Architecture towards Multi-agent Healthcare Knowledge Infostructure Zafar Hashmi 1, Somaya Maged Adwan 2 1 Metavonix IT Solutions Smart Healthcare Lab, Washington

More information

Adversarial Reasoning: Sampling-Based Search with the UCT algorithm. Joint work with Raghuram Ramanujan and Ashish Sabharwal

Adversarial Reasoning: Sampling-Based Search with the UCT algorithm. Joint work with Raghuram Ramanujan and Ashish Sabharwal Adversarial Reasoning: Sampling-Based Search with the UCT algorithm Joint work with Raghuram Ramanujan and Ashish Sabharwal Upper Confidence bounds for Trees (UCT) n The UCT algorithm (Kocsis and Szepesvari,

More information

CS 680: GAME AI INTRODUCTION TO GAME AI. 1/9/2012 Santiago Ontañón

CS 680: GAME AI INTRODUCTION TO GAME AI. 1/9/2012 Santiago Ontañón CS 680: GAME AI INTRODUCTION TO GAME AI 1/9/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs680/intro.html CS 680 Focus: advanced artificial intelligence techniques

More information

Tutorial: Creating maze games

Tutorial: Creating maze games Tutorial: Creating maze games Copyright 2003, Mark Overmars Last changed: March 22, 2003 (finished) Uses: version 5.0, advanced mode Level: Beginner Even though Game Maker is really simple to use and creating

More information

CISC 1600 Introduction to Multi-media Computing

CISC 1600 Introduction to Multi-media Computing CISC 1600 Introduction to Multi-media Computing Summer Session II 2012 Instructor : J. Raphael Email Address: Course Page: Class Hours: raphael@sci.brooklyn.cuny.edu http://www.sci.brooklyn.cuny.edu/~raphael/cisc1600.html

More information

Tac Due: Sep. 26, 2012

Tac Due: Sep. 26, 2012 CS 195N 2D Game Engines Andy van Dam Tac Due: Sep. 26, 2012 Introduction This assignment involves a much more complex game than Tic-Tac-Toe, and in order to create it you ll need to add several features

More information

Model-Based Testing. CSCE Lecture 18-03/29/2018

Model-Based Testing. CSCE Lecture 18-03/29/2018 Model-Based Testing CSCE 747 - Lecture 18-03/29/2018 Creating Requirements-Based Tests Write Testable Specifications Produce clear, detailed, and testable requirements. Identify Independently Testable

More information

Exam #2 CMPS 80K Foundations of Interactive Game Design

Exam #2 CMPS 80K Foundations of Interactive Game Design Exam #2 CMPS 80K Foundations of Interactive Game Design 100 points, worth 17% of the final course grade Answer key Game Demonstration At the beginning of the exam, and also at the end of the exam, a brief

More information

GLOSSARY for National Core Arts: Media Arts STANDARDS

GLOSSARY for National Core Arts: Media Arts STANDARDS GLOSSARY for National Core Arts: Media Arts STANDARDS Attention Principle of directing perception through sensory and conceptual impact Balance Principle of the equitable and/or dynamic distribution of

More information

IBM Rational Software

IBM Rational Software IBM Rational Software Development Conference 2008 Pushing open new DOORS: Support for next generation methodologies for capturing and analyzing requirements Phani Challa Rick Banerjee phchalla@in.ibm.com

More information

Applying Goal-Driven Autonomy to StarCraft

Applying Goal-Driven Autonomy to StarCraft Applying Goal-Driven Autonomy to StarCraft Ben G. Weber, Michael Mateas, and Arnav Jhala Expressive Intelligence Studio UC Santa Cruz bweber,michaelm,jhala@soe.ucsc.edu Abstract One of the main challenges

More information

Dialectical Theory for Multi-Agent Assumption-based Planning

Dialectical Theory for Multi-Agent Assumption-based Planning Dialectical Theory for Multi-Agent Assumption-based Planning Damien Pellier, Humbert Fiorino To cite this version: Damien Pellier, Humbert Fiorino. Dialectical Theory for Multi-Agent Assumption-based Planning.

More information

: Principles of Automated Reasoning and Decision Making Midterm

: Principles of Automated Reasoning and Decision Making Midterm 16.410-13: Principles of Automated Reasoning and Decision Making Midterm October 20 th, 2003 Name E-mail Note: Budget your time wisely. Some parts of this quiz could take you much longer than others. Move

More information

Applying Principles from Performance Arts for an Interactive Aesthetic Experience. Magy Seif El-Nasr Penn State University

Applying Principles from Performance Arts for an Interactive Aesthetic Experience. Magy Seif El-Nasr Penn State University Applying Principles from Performance Arts for an Interactive Aesthetic Experience Magy Seif El-Nasr Penn State University magy@ist.psu.edu Abstract Heightening tension and drama in 3-D interactive environments

More information

Character AI: Sensing & Perception

Character AI: Sensing & Perception Lecture 21 Character AI: Take Away for Today Sensing as primary bottleneck Why is sensing so problematic? What types of things can we do to improve it? Optimized sense computation Can we improve sense

More information

CS 680: GAME AI WEEK 4: DECISION MAKING IN RTS GAMES

CS 680: GAME AI WEEK 4: DECISION MAKING IN RTS GAMES CS 680: GAME AI WEEK 4: DECISION MAKING IN RTS GAMES 2/6/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs680/intro.html Reminders Projects: Project 1 is simpler

More information

Heuristics & Pattern Databases for Search Dan Weld

Heuristics & Pattern Databases for Search Dan Weld 10//01 CSE 57: Artificial Intelligence Autumn01 Heuristics & Pattern Databases for Search Dan Weld Recap: Search Problem States configurations of the world Successor function: function from states to lists

More information

A review of Reasoning About Rational Agents by Michael Wooldridge, MIT Press Gordon Beavers and Henry Hexmoor

A review of Reasoning About Rational Agents by Michael Wooldridge, MIT Press Gordon Beavers and Henry Hexmoor A review of Reasoning About Rational Agents by Michael Wooldridge, MIT Press 2000 Gordon Beavers and Henry Hexmoor Reasoning About Rational Agents is concerned with developing practical reasoning (as contrasted

More information

Basic AI Techniques for o N P N C P C Be B h e a h v a i v ou o r u s: s FS F T S N

Basic AI Techniques for o N P N C P C Be B h e a h v a i v ou o r u s: s FS F T S N Basic AI Techniques for NPC Behaviours: FSTN Finite-State Transition Networks A 1 a 3 2 B d 3 b D Action State 1 C Percept Transition Team Buddies (SCEE) Introduction Behaviours characterise the possible

More information

AI Agent for Ants vs. SomeBees: Final Report

AI Agent for Ants vs. SomeBees: Final Report CS 221: ARTIFICIAL INTELLIGENCE: PRINCIPLES AND TECHNIQUES 1 AI Agent for Ants vs. SomeBees: Final Report Wanyi Qian, Yundong Zhang, Xiaotong Duan Abstract This project aims to build a real-time game playing

More information

Philosophy. AI Slides (5e) c Lin

Philosophy. AI Slides (5e) c Lin Philosophy 15 AI Slides (5e) c Lin Zuoquan@PKU 2003-2018 15 1 15 Philosophy 15.1 AI philosophy 15.2 Weak AI 15.3 Strong AI 15.4 Ethics 15.5 The future of AI AI Slides (5e) c Lin Zuoquan@PKU 2003-2018 15

More information