CS 680: GAME AI WEEK 5: DRAMA MANAGEMENT 2/13/2012 Santiago Ontan - - PowerPoint PPT Presentation

cs 680 game ai
SMART_READER_LITE
LIVE PREVIEW

CS 680: GAME AI WEEK 5: DRAMA MANAGEMENT 2/13/2012 Santiago Ontan - - PowerPoint PPT Presentation

CS 680: GAME AI WEEK 5: DRAMA MANAGEMENT 2/13/2012 Santiago Ontan santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/CS680/intro.html Reminders Change in schedule: Week 9 (March 12) will have an extended project help


slide-1
SLIDE 1

CS 680: GAME AI

WEEK 5: DRAMA MANAGEMENT

2/13/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/CS680/intro.html

slide-2
SLIDE 2

Reminders

  • Change in schedule: Week 9 (March 12) will have an

extended project help session:

  • In class students are welcome to bring their laptops to discuss

projects,

  • Online students are welcome to be online in the chat room for the

same purpose.

  • Progress self-check indicator:
  • Your progress is good is you have project 1 completed.
  • Any questions from the RTS games lectures? Anything

that needs to be re-explained?

slide-3
SLIDE 3

Outline

  • Student Presentation:

“Adversarial Planning Through Strategy Simulation”

  • Student Presentation:

“Build Order Optimization in Starcraft”

  • Student Presentation:

“On-Line Case-Based Planning”

  • Drama Management
  • Example: Avoiding Players Getting Stuck
  • Representing Game Narratives
  • Player Models
  • Search-Based Drama Management
  • Project 2
  • Project Discussion
slide-4
SLIDE 4

Outline

  • Student Presentation:

“Adversarial Planning Through Strategy Simulation”

  • Student Presentation:

“Build Order Optimization in Starcraft”

  • Student Presentation:

“On-Line Case-Based Planning”

  • Drama Management
  • Example: Avoiding Players Getting Stuck
  • Representing Game Narratives
  • Player Models
  • Search-Based Drama Management
  • Project 2
  • Project Discussion
slide-5
SLIDE 5

Drama Management

  • So far, we have been concerned with:
  • How can the game AI play better? (RTS games)
  • How can we make it more efficient? (path-finding)
  • How can it make optimal decisions? (decision making)
  • Let’s turn now to a different kind of Game AI:
  • How can the AI make the game experience better?
slide-6
SLIDE 6

Drama Management

  • Premise:
  • Different players have different preferences
  • Each player enjoys a different subset of the elements of a game
  • Problem:
  • How can a game automatically adapt to match the current player?
  • Maintain the dramatic arc expected by the game designer
  • Prevent the players from dealing with parts of the game not appealing to

them

  • Adjust difficulty level, etc.
  • Solution:
  • Drama Management / Experience Management / AI Director
slide-7
SLIDE 7

Drama Management

Game Engine Player

slide-8
SLIDE 8

Drama Management

Game Engine Drama Manager Player Game Adaptation Evaluation Function

slide-9
SLIDE 9

Drama Management

Game Engine Drama Manager Player The Drama Manager modifies the game by executing DM Actions Game Adaptation Evaluation Function The Drama Manager

  • bserves the

interaction between player and game: Player Actions

slide-10
SLIDE 10

Drama Management

Game Engine Drama Manager Player Game Adaptation Evaluation Function The DM needs a function to assess interest / difficulty / boredom / dramatic effect / etc. Player model The DM needs an adaptation strategy that decides how to change the game to maximize the evaluation function

slide-11
SLIDE 11

Drama Management Examples

  • Façade:
  • http://www.youtube.com/watch?v=GmuLV9eMTkg
  • Left 4 Dead:
  • http://www.youtube.com/watch?v=VVIdHPG0wYI
  • AI Director controls: spawning enemies and items, music, map (can

block or open paths)

  • Not random spawns: AI Director has a set of predefined patterns

with parameter ranges, and selects the appropriate pattern with the appropriate parameters.

  • Anchorhead (GraphicIFEngine):
  • Demo
slide-12
SLIDE 12

Purposes of Drama Management

  • Maximize interest/enjoyment of the game:
  • Guide players to arcs of the game more interesting for them
  • Prevent players from getting bored
  • Ensure dramatic intent is achieved:
  • Game author wanted the game to be played in a certain way to achieve certain

dramatic effects (surprise/fear/calm/etc.)

  • Achieving those effects might require different strategies for different players
  • Training:
  • In Training simulations, ensure the intended situations are experienced by the

player, and the expected lessons are learned.

  • Adjust difficulty:
  • Automatically detect the level of the player and adjust the game difficulty to the

adequate level

slide-13
SLIDE 13

Outline

  • Student Presentation:

“Adversarial Planning Through Strategy Simulation”

  • Student Presentation:

“Build Order Optimization in Starcraft”

  • Student Presentation:

“On-Line Case-Based Planning”

  • Drama Management
  • Example: Avoiding Players Getting Stuck
  • Representing Game Narratives
  • Player Models
  • Search-Based Drama Management
  • Project 2
  • Project Discussion
slide-14
SLIDE 14

Graphic Adventure

  • The biggest problem in graphic adventures is that players

get constantly stuck

slide-15
SLIDE 15

Example Drama Manager

  • Let us illustrate how a drama manager works with a

simple example

  • Game:
  • Graphic Adventure
  • Goal:
  • Avoiding players getting frustrated when they are stuck
slide-16
SLIDE 16

Drama Management

Game Engine Drama Manager Player Game Adaptation Evaluation Function

slide-17
SLIDE 17

Drama Management

Game Engine Drama Manager Player Game Adaptation Evaluation Function Is the player stuck? For how long? 1) Find what is the next step in the game 2) Provide some sort of hint

slide-18
SLIDE 18

Evaluation Function: Is Player Stuck?

  • Certain actions in graphic adventures are relevant for

advancing in the game, and some of them are not

  • The player is stuck when no new “relevant action” has

been executed for a long time

  • Thus, the Drama Manager needs to know which actions

are relevant for advancing in the game

slide-19
SLIDE 19

Relevant Actions

  • Example: the game designer could provide the DM with

an ordered list of actions:

  • If the player executes the actions in such order, the game

will be completed

Take kite Take soap Take water bucket Wash car Fly kite

slide-20
SLIDE 20

Detecting the Player is Stuck

  • The Evaluation function could simply consist of a timer,

counting when was the last time a new action from the “relevant action list” was executed:

Take kite Take soap Take water bucket Wash car Fly kite Executed at time 6s Executed at time 22s Executed at time 24s Current time: 90s Not yet executed Not yet executed Time stuck: 66s

slide-21
SLIDE 21

Game Adaptation

  • The game designer could provide a series of hints for the

actions in the list.

Take kite Take soap Take water bucket Wash car Fly kite Hint 1 (subtle): character says “Oh! A kite! I love kites!” Hint 2 (obvious): character says “I wonder what could I do with that kite?” Hint 3 (obvious): an NPC points at the soap and says “I wish I had had that soap last time I washed my car!” Etc.

slide-22
SLIDE 22

Game Adaptation

  • When player is stuck for longer than 3 minutes, provide a

subtle hint for the next action (if available)

  • When player is stuck for longer than 5 minutes, provide an
  • bvious hint for the next action (if available)

Take kite Take soap Take water bucket Wash car Fly kite Executed at time 6s Executed at time 22s Executed at time 24s Next action, available clues Hint 7 (subtle) Hint 8 (obvious)

slide-23
SLIDE 23

Drama Management

Game Engine Drama Manager Player Game Adaptation Evaluation Function

Action 1 Action 2 Action 3 Action 4 Action 5 Action 6 Action n

Time Stuck

Hint 1 Hint 2 Hint 3 Hint 4 Hint 5 Hint m

… Player Actions Hints Time

slide-24
SLIDE 24

Drama Management

Game Engine Drama Manager Player Game Adaptation Evaluation Function

Action 1 Action 2 Action 3 Action 4 Action 5 Action 6 Action n

Time Stuck

Hint 1 Hint 2 Hint 3 Hint 4 Hint 5 Hint m

… Player Actions Hints Time DM also keeps track of which hints have already been given, for not repeating

slide-25
SLIDE 25

Example Drama Manager

  • Decides how to pace hints during game play to prevent

the player form getting stuck

  • The example was very simple, but it can be enhanced

easily:

  • Maximum number of hints per unit of time (to prevent too many

hints)

  • Better “player stuck” detection:
  • Even if the player is not executing “relevant actions”, he might be

following a systematic approach and eventually advance

  • Take into account if players repeat actions of not (repeated actions are

sign of frustration)

  • Detecting novice from experienced players:
  • Experienced players tend to use systematic approaches (easy to detect)
slide-26
SLIDE 26

Outline

  • Student Presentation:

“Adversarial Planning Through Strategy Simulation”

  • Student Presentation:

“Build Order Optimization in Starcraft”

  • Student Presentation:

“On-Line Case-Based Planning”

  • Drama Management
  • Example: Avoiding Players Getting Stuck
  • Representing Game Narratives
  • Player Models
  • Search-Based Drama Management
  • Project 2
  • Project Discussion
slide-27
SLIDE 27

Game Narrative

  • In the previous example, the Drama Manager needed a

way to infer what was the next action to be executed in the game to advance (list of “relevant actions”)

  • Most Drama Managers need to reason about the plot of

the game (Game Narrative):

  • To provide hints (previous example)
  • To reason about which future subplot will the player like better
  • To ensure the story is unfolding as the author intended
  • etc.
  • A lot can be learned about drama management focusing
  • n simple story-based games (interactive narrative/fiction)
slide-28
SLIDE 28

Drama Management

Game Engine Drama Manager Player Game Adaptation Evaluation Function Narrative

slide-29
SLIDE 29

Narrative Representation Frameworks

  • Game narratives are instances of “multi-plot” narratives:
  • Multiple branching points, alternative endings, etc.
  • How do we represent game narratives, so the AI can

reason about them?

  • Two main approaches to represent interactive narrative in

games:

  • Focus on time relationships of events: plot point graphs
  • Focus on content: beats
slide-30
SLIDE 30

Plot Point Graphs

  • Plot point:
  • Event that is relevant to the game story
  • Example: “the player discovers the hidden chamber”
  • Plot of the game:
  • Collection of plot points that constitute the game story
  • Might have several “subplots” (subset of plot points that constitute a

meaningful part of the story)

  • Narrative or story arc:
  • Specific order in which the plot points are visited in a game execution
  • Since the player has a strong influence (agency) in this order, it is hard

for the game designer to author games that tell good stories

  • That is the job of the drama manager!
slide-31
SLIDE 31

Plot Point Graph

  • Graph where each node is a plot point, and each link is an
  • rder constraint:

Leave_house Get_flask Give_bum_flask Find_magical_shop Get_amulet Give_bum_amulet Discover_book_in_sewer Get_card Read_library_book

Subset of the plot points in Anchorhead

slide-32
SLIDE 32

Plot Point Graph

  • Graph where each node is a plot point, and each link is an
  • rder constraint:

Leave_house Get_flask Give_bum_flask Find_magical_shop Get_amulet Give_bum_amulet Discover_book_in_sewer Get_card Read_library_book

Subset of the plot points in Anchorhead Plot point Get_amulet cannot be visited before Find_magical_shop

slide-33
SLIDE 33

Plot Point Graph

  • Represents the complete Game Narrative.
  • The subset of visited plot points defines the “narrative

state”

Leave_house Get_flask Give_bum_flask Find_magical_shop Get_amulet Give_bum_amulet Discover_book_in_sewer Get_card Read_library_book

slide-34
SLIDE 34

Plot Point Graph

  • In the previous example (avoiding players getting stuck),

we used a simplified form of plot point graph to represent player progress:

Game Engine Drama Manager Player Game Adaptation Evaluation Function Action 1 Action 2 Action 3 Action 4 Action 5 Action 6 Action n … Time Stuck Hint 1 Hint 2 Hint 3 Hint 4 Hint 5 Hint m … Player Actions Hints Time

Simplified plot point graph

slide-35
SLIDE 35

Plot Point Graph

People arriving Discussion in kitchen Cocktail party Manuel arrives Amanda arrives Paul arrives Mary & Max arrive Paul & Mary talk About the missing guests Max is surprised to See Amanda Mary & Max discuss about Announcing the engagement: Amanda Flirts with Max in Living room Mary sees the flirting In the living room Mary wants, Max doesn’t Max wants, Mary doesn’t Paul tells Max that Amanda is the family lawyer Mary learns Amanda Is ex-girlfriend of Max Paul restrains Mary so That Amanda can flirt With Max Mary gets angry With Max Jeeves reminds that there aren’t enough rooms for all guests, Jeeves sets up the Bar so guests have may mingle while he Prepares their rooms For the night Paul removes painting Of Jeeves’ old master’s grandfather Jeeves comes to check Up on everyone, notices Painting has been removed Mary spills wine on the Rug in the foyer Jeeves asks her about It, and she brushes it off Jeeves is already very Angry With the Andersens Manuel flirts with Mary Max gets angry with Manuel Paul says to Mary – “Look at How disrespectful Max is. Why Do you love him?” Jeeves asks about Special food preferences To the guests Mary & Max offer To sleep together Amanda offers to Sleep with Mary Manuel offers To sleep with Max Paul opposes Commitment of Mary & Max to sleep together Commitment of Mary & Amanda to sleep together Commitment of Manuel & Max to sleep together Paul offers every one To stay in the house Amanda offers to Sleep with Max Mary gets Incredibly angry Commitment of Amanda & Max to Sleep together Max wants, Mary wants Max doesn’t, Mary doesn’t Decision to announce Decision not to announce They break up Jeeves announces dinner is ready

Complex plot point graphs Hierarchical plot points Complex ordering conditions (NOT, OR, AND, etc.) (Example plot point graph from the intro scene of a murder mystery game)

slide-36
SLIDE 36

GraphicIFEngine

  • The game engine provided for Project 2 has the story defined

as a graph of plotpoints:

  • File “games/anchorhead/story.xml”
  • Each plot point, defined as a triple:
  • Preconditions: which other plot points must be satisfied
  • Trigger: which player action or NPC action triggers this plot point
  • Effects: events to trigger when plot point is fired
  • Example: “get-flask”
  • Preconditions: NOT(get-flask) AND AT(player,bar)
  • Trigger:

buy(player, flask)

  • Effects:

give(bartender,player,flask) say(bartender,”Here you are!”)

slide-37
SLIDE 37

GraphicIFEngine

  • Determining the set of relevant actions:
  • Already implemented:
  • IFStory.computeUserImportantActions(IFGameState gs)
  • Can be used to determine if player is stuck
  • Relevant actions can be automatically extracted from the

plot point graph:

  • Relevant actions are those that are triggers or preconditions of any

plot point

slide-38
SLIDE 38

Beat

Beat

  • A Beat is a unit of story content that makes sense by

itself, e.g.: in Façade, “the characters talk about what to have for a drink”, or “Trip greets you at the door”

Beat Goal 1 Beat Goal 2 Beat Goal 3 Preconditions Postconditions Context

slide-39
SLIDE 39

Beat

Beat

  • A Beat is a unit of story content that makes sense by

itself, e.g.: in Façade, “the characters talk about what to have for a drink”, or “Trip greets you at the door”

Beat Goal 1 Beat Goal 2 Beat Goal 3 Preconditions Postconditions Context Preconditions: What needs to be true in order to this beat to be executable Things that will be true after this beat ends

slide-40
SLIDE 40

Beat

Beat

  • A Beat is a unit of story content that makes sense by

itself, e.g.: in Façade, “the characters talk about what to have for a drink”, or “Trip greets you at the door”

Beat Goal 1 Beat Goal 2 Beat Goal 3 Preconditions Postconditions Context Context defines any beat- specific responses that characters need to have in response to player actions Beat Goals define the sequence of events that need to happen in a beat. Each beat goal might have a repertoire of events that will be triggered once the goal becomes active.

slide-41
SLIDE 41

Beat Example

  • In the context of a “murder mystery” game
  • Beat: “Police ask player about alibi” after discovered a

person beaten to death.

Beat Goal 1: Police asks Goal 2: Player justifies Goal 3: Police moves on Preconditions:

Murder discovered Police sees player with a bat Player has no alibu

Postconditions: Player has alibi Context: If player moves away, police will block him

slide-42
SLIDE 42

Façade

  • Façade uses Beats to represent the story
  • About 200 beats
  • In class presentation next week
slide-43
SLIDE 43

Left 4 Dead

  • The AI Director in L4D uses a system related to beats
  • Each “beat” is a “wave” (of zombies), with 4 beat goals:

Goal 1: Build Up Goal 2: Sustain Peak Goal 3: Peak Fade Goal 4: Relax Director spawns enemies and threats until desired peak is reached Keeps spawning to maintain the peak for some seconds Waits for player to completely resolve the situation Waits for some fixed a mount of time, or until player advanced a certain distance

slide-44
SLIDE 44

Plot points vs Beats

  • Plot points focus on time ordering between events:
  • Good to monitor progress of the player
  • Clearly represent what is already accomplished, and what still

needs to be accomplished to complete the game

  • The player has full freedom (agency) to decide what to do next
  • Beats focus on specifying content without being restrictive

about the order:

  • Good for allowing the Drama Manager decide what will happen

next

  • Only one Beat active at a time
  • The Drama Manager restricts the agency of the player, by

sequencing beats to maintain the desired story arch

slide-45
SLIDE 45

Outline

  • Student Presentation:

“Adversarial Planning Through Strategy Simulation”

  • Student Presentation:

“Build Order Optimization in Starcraft”

  • Student Presentation:

“On-Line Case-Based Planning”

  • Drama Management
  • Example: Avoiding Players Getting Stuck
  • Representing Game Narratives
  • Player Models
  • Search-Based Drama Management
  • Project 2
  • Project Discussion
slide-46
SLIDE 46

Drama Management

Game Engine Drama Manager Player Game Adaptation Evaluation Function Narrative

slide-47
SLIDE 47

Player Models

  • Drama Management aims to adapt a game to specific

players

  • The DM needs a player model
  • Player models can capture many different things:
  • Player action models: predict what the player will do next
  • Player preference models: predict what the player will like
  • Player emotional model: predicts the current emotional state of

the player

  • Player skill model: how good is the player in dealing with certain

situations

  • Etc.
slide-48
SLIDE 48

In the Previous Example…

  • Player Model:
  • If player hasn’t advanced for more than 3 minutes -> player is

getting bored

  • If player hasn’t advanced for more than 5 minutes -> player is

bored

  • This is a very simplistic player emotional model:
  • Tries to predict when the player will be bored
slide-49
SLIDE 49

Example: Player Preference Model

  • In the context of a First Person Shooter (e.g. Half-Life)
  • Modeling the player preference for weapons:
  • Player model could record how many times player uses each weapon
  • Or even, which weapon does the player use against certain enemy

times

  • Uses:
  • The DM could spawn more weapons of the preferred type if the game

needs to become easier

  • The DM could spawn more weapons of the non preferred type if the

player is finding the game too easy

  • If the player clearly underuses a weapon X that will be needed later on

for a certain boss, the DM could force the player to learn how to use X by not spawning any of the other types of weapons (forcing the player to try X out)

slide-50
SLIDE 50

Where do Player Models Come From?

  • Hard coded:
  • Like in the example above (predicting player boredom)
  • The parameters can be extracted from user evaluations
  • Like the weapon usage example above
  • In RPG games (like “Elder Scrolls”), where player take choices at

the beginning (be a wizard, warrior, thief, etc.), a player model could be hardcoded for each player choice (representing populations of players that typically take that choice)

  • Learned:
  • Use machine learning to automatically build player models from

data

  • We will cover this idea next week
slide-51
SLIDE 51

Outline

  • Student Presentation:

“Adversarial Planning Through Strategy Simulation”

  • Student Presentation:

“Build Order Optimization in Starcraft”

  • Student Presentation:

“On-Line Case-Based Planning”

  • Drama Management
  • Example: Avoiding Players Getting Stuck
  • Representing Game Narratives
  • Player Models
  • Search-Based Drama Management
  • Project 2
  • Project Discussion
slide-52
SLIDE 52

Drama Management

Game Engine Drama Manager Player Game Adaptation Evaluation Function Narrative

slide-53
SLIDE 53

Game Adaptation

  • Once we have determined the goal of the DM:
  • Story representation
  • Evaluation function (player model)
  • How does the DM adapt the game to maximize the

evaluation function?

  • Authored response: like in the example above about players getting

stuck

  • Decision making: if the evaluation function can be seen as a utility

function, any of the techniques we covered in the RTS decision making lecture would do!

slide-54
SLIDE 54

Search-based Drama Management

  • Goal: maximize(minimize) the evaluation function
  • Both player and DM interact with the game by executing

actions:

  • Player actions: through which the player plays the game
  • DM actions: through which the DM modifies the game
  • Assumption: given a game state, there is a finite set of of

player and DM actions that can be executed.

slide-55
SLIDE 55

Example Player and DM Actions

  • Player Actions:
  • Move
  • Pick up objects
  • Unlock a door
  • etc.
  • DM Actions:
  • Make an NPC say something to the player (e.g. a hint)
  • Make an object disappear (outside of the range of view of the

player)

  • Spawn a new object (key, enemy, power-up, etc.)
  • etc.
slide-56
SLIDE 56

Search-based Drama Management

  • Game state has two parts:
  • Game Physical state: the standard game state (location of all

characters and objects, etc.)

  • Game Story state: plot points or beats that have already been

visited

Game State

slide-57
SLIDE 57

Search-based Drama Management

  • Deciding which DM actions to

execute:

  • Open a search tree (minimax-style)

where the player and the DM alternate turns

  • Apply the evaluation function to

each leaf

  • Instead of minimax:
  • expectimax:
  • DM levels use “max”
  • Player levels use “average”
  • Select the DM action with maximum

value

current state

state state state state state state action state action state action state action DM action DM action DM action DM action DM action

slide-58
SLIDE 58

Search-based Drama Management

  • Deciding which DM actions to

execute:

  • Open a search tree (minimax-style)

where the player and the DM alternate turns

  • Apply the evaluation function to

each leaf

  • Instead of minimax:
  • expectimax:
  • DM levels use “max”
  • Player levels use “average”
  • Select the DM action with maximum

value

current state

state state state state state state action state action state action state action DM action DM action DM action DM action DM action

When propagating the values up the tree, DM action levels use the max

slide-59
SLIDE 59

Search-based Drama Management

  • Deciding which DM actions to

execute:

  • Open a search tree (minimax-style)

where the player and the DM alternate turns

  • Apply the evaluation function to

each leaf

  • Instead of minimax:
  • expectimax:
  • DM levels use “max”
  • Player levels use “average”
  • Select the DM action with maximum

value

current state

state state state state state state action state action state action state action DM action DM action DM action DM action DM action

When propagating the values up the tree, player action levels use the average

slide-60
SLIDE 60

Example Evaluation Function

  • Goal: maintain suspense of who is the murderer until the

end.

  • In terms of plot points or beats, it translates to: keep the

“discover murderer” plot point from happening for as long as possible (until very few other plot points are left to be visited)

  • Easy to implement as a function, given a branch in the

search tree of the search-based drama manager

slide-61
SLIDE 61

Search-based Drama Management

  • Search is performed each time the player executes an

action

  • If the player executes an action before the search ended,

search is aborted, and restarted after player action

  • Branching factor might be very large: Monte-Carlo

techniques can help

  • It has been shown to improve the overall interestingness
  • f games
slide-62
SLIDE 62

Experimental Evaluation

  • 22 participants [4 females, 18 males]
  • Age Range: [22, 37], Average age: ~24
  • Typical 45 minute evaluation
  • Gaming background survey
  • Play Anchorhead twice (with and without DM)
  • End interview questions
  • Anchorhead evaluation facts
  • 9 participants had no or low gaming experience
  • Average game duration: 13.5 mins
slide-63
SLIDE 63

Quantitative Results

2.7 2.75 2.8 2.85 2.9 2.95 3 3.05 6 26 # of Cases for Player Modeling Rating of the Interaction No DM DM

slide-64
SLIDE 64

Qualitative Results

Category Player Comments

DM helped player “I would have never thought (unless told by DM) that picking up the skull would ever be useful” With DM then without DM “I realized how much the DM had helped me in the first interaction only when I played the game without the DM” Game Endings “I felt that I could influence the particular outcome in the game” Liked the Game “Game allows you to discover game elements at ones

  • wn pace”

Player liked a plotpoint “I enjoyed solving the puzzle to find a magic lens”

slide-65
SLIDE 65

Agency

  • One of the main dangers of drama management is taking

agency away from the player

  • Agency is the degree to which the player has freedom to

choose between different actions, and to which degree those actions have an effect in the game

  • There must be a balance between player agency and

system agency

slide-66
SLIDE 66

Outline

  • Student Presentation:

“Adversarial Planning Through Strategy Simulation”

  • Student Presentation:

“Build Order Optimization in Starcraft”

  • Student Presentation:

“On-Line Case-Based Planning”

  • Drama Management
  • Example: Avoiding Players Getting Stuck
  • Representing Game Narratives
  • Player Models
  • Search-Based Drama Management
  • Project 2
  • Project Discussion
slide-67
SLIDE 67

Project 2: Drama Management

  • Implement a Drama Manager
  • n top of a game engine.
  • You can use GraphicIFEngine
  • The game engine comes with

a specific game defined: Anchorhead

  • Feel free to modify it or

extend it if you need additional elements in your game to test your DM

slide-68
SLIDE 68

Project 2: Drama Management

  • Identify what do you want your Drama Manager to

accomplish (avoid player getting stuck, interestingness, etc.)

  • Define the evaluation function of your DM
  • Define the set of DM actions
  • Define the strategy your DM will use (rule-based, search-

based, etc.)

  • Experiment with your DM:
  • Ask some friends to play the game with or without it, and see their
  • reactions. Does the DM achieve its goal? Is the game more fun?
slide-69
SLIDE 69

Project 2: Drama Management

  • Example ideas:
  • Try to prevent player getting stuck:
  • Define Hints for some plot-points, and a drama manager that properly

provides hints at appropriate times

  • Try to maintain an Aristotelian arc (next week, we’ll see how)
  • Try to force the player into reaching a specific ending:
  • Try to force the player into one of the 2 endings
  • Better if the ending is selected based on some information about the

player

  • Complex idea: use machine learning technique (explained

next week) to learn a player model, and try to maximize interest based on that player model.

slide-70
SLIDE 70

Outline

  • Student Presentation:

“Adversarial Planning Through Strategy Simulation”

  • Student Presentation:

“Build Order Optimization in Starcraft”

  • Student Presentation:

“On-Line Case-Based Planning”

  • Drama Management
  • Example: Avoiding Players Getting Stuck
  • Representing Game Narratives
  • Player Models
  • Search-Based Drama Management
  • Project 2
  • Project Discussion
slide-71
SLIDE 71

Project Discussion

  • Project 1:
  • Questions? Technical Problems? Assistance?
  • Project 2:
  • Questions? Technical Problems? Assistance?