cs 680 game ai
play

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


  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

  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?

  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

  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

  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?

  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

  7. Drama Management Player Game Engine

  8. Drama Management Game Evaluation Adaptation Function Drama Manager Player Game Engine

  9. Drama Management The Drama Manager Game Evaluation modifies the The Drama Manager Adaptation Function game by observes the executing interaction between DM Actions player and game: Drama Manager Player Actions Player Game Engine

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

  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

  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

  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

  14. Graphic Adventure • The biggest problem in graphic adventures is that players get constantly stuck

  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

  16. Drama Management Game Evaluation Adaptation Function Drama Manager Player Game Engine

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

  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

  19. Relevant Actions • Example: the game designer could provide the DM with an ordered list of actions: Take kite Take soap Take water bucket Wash car Fly kite • If the player executes the actions in such order, the game will be completed

  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 Executed at time 6s Take soap Executed at time 22s Take water bucket Executed at time 24s Time stuck: 66s Not yet executed Wash car Fly kite Not yet executed Current time: 90s

  21. Game Adaptation • The game designer could provide a series of hints for the actions in the list. Hint 1 (subtle): character says “Oh! A kite! I love kites!” Take kite Hint 2 (obvious): character says “I wonder what could I do with that kite?” Take soap Hint 3 (obvious): an NPC points at the soap and says “I wish I had had that soap last time I Take water bucket washed my car!” Wash car Etc. Fly kite

  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 obvious hint for the next action (if available) Take kite Executed at time 6s Executed at time 22s Take soap Take water bucket Executed at time 24s Hint 7 (subtle) Wash car Next action, available clues Hint 8 (obvious) Fly kite

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

  24. Drama Management Hint 1 Action 1 Game Action 2 Hint 2 Adaptation Time Action 3 Hint 3 Action 4 Time Stuck Hint 4 Action 5 Hint 5 Hints Action 6 Evaluation … … Function Action n Hint m Drama Manager DM also keeps track of Player which hints have already Actions been given, for not repeating Player Game Engine

  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)

  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

  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 on simple story-based games (interactive narrative/fiction)

  28. Drama Management Game Evaluation Narrative Adaptation Function Drama Manager Player Game Engine

Recommend


More recommend