Emily Short and Richard Evans – Little Text People Cotillion Emily Short and Richard Evans – Little Text People
Cotillion Project Interactive comedy of manners Set in the world of Austen
Gameplay Model social practices Allow players to experiment with appropriate and inappropriate behavior Sims-like freedom within a narrative structure
Interaction Features Real-time Multiplayer PC / NPC Agnostic
Conversation Model Challenges: Anyone can speak at any time Any character can be an NPC Character knowledge and attitude can change Content generation needs to be manageable Many standard models of conversation (including past work of mine where the player is talking to
Information Structure Beliefs and Questions Emotional Responses Membership Categorization Turn-taking
Beliefs Propositions about the world Discovered through conversation or world model Similar 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
Default way of saying a particular belief Character-specific overrides Can include standard responses for if the listener accepts or rejects the statement
Questions Template for information the character wants to have Can only be asked if another character present has a belief that fits the template
Generated by conversation and contact with the world model Aid to conversation continuity and transitions between topics
Here’s what you would get from a standard dialogue tree…
Here’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
Emotional Responses Beliefs are also tagged with emotional effects Expressing a negative belief about someone could lead to them feeling insulted Mentioning that you’re very rich could lead to someone… envying you thinking you’re bragging deciding you’d be a good marriage prospect
Emotional Reaction Library Large library of possible reactions Layers 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”
However, emotional reactions are also always available to both characters…
And of course we have a large number of possible emotional reactions available
Here’s an example of this in practice: [give background of scene quickly]. Question / responding belief / response to that belief / emotional reaction.
Fine-Grained Characterization Miss Bates Mr Collins Talks constantly Likes to talk about her niece Likes to give advice Name-dropper, always mentioning rich patroness
Fine-Grained Characterization Miss Bates Mr Collins Talks constantly Positively score spoken beliefs Likes to talk about her niece Positively score beliefs on the topic of her niece Likes to give advice Positively score beliefs that are tagged as “correcting” Name-dropper Positively score actions that result in characters having questions about his patroness
Interface of Information & Emotion Informational content tied to narrative context Emotional content tied to relationship between characters Emotional content generates dramatic payoffs
Smalltalk
Smalltalk
Smalltalk
Other types of scene…
Other types of scene…
Other types of scene…
Other types of scene…
Other types of scene…
Harvey Sacks on Conversation Membership Categorization Devices Turn-Taking Tying structure Pre-sequences Preferred sequences One 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
Membership Categorization Devices A character is playing many roles at once Sacks 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.
Many roles at once: Mr Darcy A member of the gentry A friend of Bingley A brother to Georgiana A participant at the ball
Membership Categorization Devices A character is playing many roles at once For 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.
Is he good at performing these roles? A member of the gentry: noble A friend of Bingley: loyal A brother to Georgiana: kind A participant at the ball: aloof
Choosing How to Evaluate Miss Bates’ sycophantic remark… Polite Low-breeding (Ignore) Individual personality determines autonomous choice The 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.
Multiple Roles Breeding Constitution Propriety Accomplishments Spouse Intelligence Politeness Attraction Sensibility … In Cotillion, we model tons of different role evaluations:
Compare with Other Games
Role Evaluation Agents can remember justifications for their role evaluations Agents can communicate role evaluations to others Role evaluations can affect subsequent autonomous behavior But its not how many role-evaluations we model – its what the agents do with them that matters.
Communicating 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.
Turn-Taking If the last utterance has selected a next-speaker, that speaker should speak next Otherwise, the floor is open Otherwise, 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.
Tom has seen a ghost and even though it is not his turn to talk, he cannot help himself. He blurts out his fear.
Planning 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?
Planning In most planning systems, the agent’s estimation of the consequences of the action is much simpler than the actual consequences of the action
Going to the Toilet Execution: Planning: route into bathroom if nobody else around play animation satisfy Bladder motive Planning:
Going to the Toilet
Problems It is error-prone It misses conditional-effects Strips, The Sims, bothuse this approach
Planning with Conditional Effects Our planner uses the actual future world state – not an approximation We return to the previous world-state by UNDOing the postconditions We can do this because we are working in a custom DSL which supports UNDO (Imagine trying to add UNDO to arbitrary C++ code)
Conditional-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.
Planning 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.
Planning with Conditional Effects This is what it is to care about someone: to get upset when they get upset.