6Conversation Model Challenges: Anyone can speak at any time Any character can be an NPCCharacter knowledge and attitude can changeContent generation needs to be manageableMany standard models of conversation (including past work of mine where the player is talking to
7Information Structure Beliefs and QuestionsEmotional ResponsesMembership CategorizationTurn-taking
8Beliefs Propositions about the world Discovered through conversation or world modelSimilar to “facts” in previous talks except that there’s an explicit tracking of predicate and participant objects, and it’s possible for a character to hold a belief that is in fact wrong
9Default way of saying a particular belief Character-specific overridesCan include standard responses for if the listener accepts or rejects the statement
10Questions Template for information the character wants to have Can only be asked if another character present has a belief that fits the template
11Generated by conversation and contact with the world model Aid to conversation continuity and transitions between topics
12Here’s what you would get from a standard dialogue tree…
13Here’s the structure if we just have beliefs and questions: sooner or later you will run out of content no matter how much you make
14Emotional Responses Beliefs are also tagged with emotional effects Expressing a negative belief about someone could lead to them feeling insultedMentioning that you’re very rich could lead to someone…envying youthinking you’re braggingdeciding you’d be a good marriage prospect
15Emotional Reaction Library Large library of possible reactionsLayers of specificity“being a host reacting to someone insulting the wine you served”“responding to someone insulting your friend in your presence”“responding to someone being unpleasant”
16However, emotional reactions are also always available to both characters…
17And of course we have a large number of possible emotional reactions available
18Here’s an example of this in practice: [give background of scene quickly]. Question / responding belief / response to that belief / emotional reaction.
19Fine-Grained Characterization Miss BatesMr CollinsTalks constantlyLikes to talk about her nieceLikes to give adviceName-dropper, always mentioning rich patroness
20Fine-Grained Characterization Miss BatesMr CollinsTalks constantlyPositively score spoken beliefsLikes to talk about her niecePositively score beliefs on the topic of her nieceLikes to give advicePositively score beliefs that are tagged as “correcting”Name-dropperPositively score actions that result in characters having questions about his patroness
21Interface of Information & Emotion Informational content tied to narrative contextEmotional content tied to relationship between charactersEmotional content generates dramatic payoffs
30Harvey Sacks on Conversation Membership Categorization DevicesTurn-TakingTying structurePre-sequencesPreferred sequencesOne of the inspirations for our conversation model was Harvey Sacks’ work on conversation analysis.Today I’m only going to talk about two aspects: Membership Categorization Devices and Turn-Taking
31Membership Categorization Devices A character is playing many roles at onceSacks starts with the familiar observation that a character can be in many practices at once.In each practice he has a role.He is evaluated with respect to the many various roles he plays.
32Many roles at once: Mr Darcy A member of the gentryA friend of BingleyA brother to GeorgianaA participant at the ball
33Membership Categorization Devices A character is playing many roles at onceFor each role, we can ask: is he good at performing that role?A character is in many practices at once.In each practice he has a role.He is evaluated with respect to the many various roles he plays.
34Is he good at performing these roles? A member of the gentry: nobleA friend of Bingley: loyalA brother to Georgiana: kindA participant at the ball: aloof
36Choosing How to Evaluate Miss Bates’ sycophantic remark…PoliteLow-breeding(Ignore)Individual personality determines autonomous choiceThe reason Mr Quinn preferred the negative interpretations of Miss Bates’ remark was that he wanted to see her in a bad light. I will come back to this.
37Multiple Roles Breeding Constitution Propriety Accomplishments Spouse IntelligencePolitenessAttractionSensibility…In Cotillion, we model tons of different role evaluations:
39Role EvaluationAgents can remember justifications for their role evaluationsAgents can communicate role evaluations to othersRole evaluations can affect subsequent autonomous behaviorBut its not how many role-evaluations we model – its what the agents do with them that matters.
40Communicating Role Evaluations Example: I was playing the murder mystery scenario. One of the characters had been shot and the doctor was examining the body. Afterwards, the doctor kept giving me funny looks, sniffing at me dismissively. I didn’t understand why – I had never been mean to him. But after some debugging, I found out the reason. Earlier on, I had been rude to the butler. The butler had then left and gone to the kitchen, where he had had a conversation with the doctor, where he had explained to the doctor about my rudeness. The doctor had taken his opinion on board.
41Turn-TakingIf the last utterance has selected a next-speaker, that speaker should speak nextOtherwise, the floor is openOtherwise, the floor is open. It’s a free-for-all. But once somebody has started speaking next, he becomes the next speaker, and everyone else should remain silent.
42Tom has seen a ghost and even though it is not his turn to talk, he cannot help himself. He blurts out his fear.
43Planning with Conditional Effects So our game is agnostic between human players and computer players. How do we get the NPCs to behave properly? How do they work out what to do?
44PlanningIn most planning systems, the agent’s estimation of the consequences of the action is much simpler than the actual consequences of the action
45Going to the Toilet Execution: Planning: route into bathroom if nobody else aroundplay animationsatisfy Bladder motivePlanning:
47Problems It is error-prone It misses conditional-effects Strips, The Sims, bothuse this approach
48Planning with Conditional Effects Our planner uses the actual future world state – not an approximationWe return to the previous world-state by UNDOing the postconditionsWe can do this because we are working in a custom DSL which supports UNDO(Imagine trying to add UNDO to arbitrary C++ code)
50Conditional-Effects Planning In this architecture, getting the agents to play games well doesn’t mean programming algorithms.It just means telling the agents what emotional states they will be in when certain conditions hold.
51Planning with Conditional Effects Real people don’t play a game in a vacuum.They play the game with others. Other people with whom they have various complex relationships.Those relationships affect the way they play. A move in a game isn’t just a move in a game – it can also be a trouncing of your enemy, or a betrayal of your friend.