=Paper=
{{Paper
|id=Vol-2282/EXAG_118
|storemode=property
|title=What’s the Worst Thing You’ve Ever Done at a Conference? Operationalizing Dread’s Questionnaire Mechanic
|pdfUrl=https://ceur-ws.org/Vol-2282/EXAG_118.pdf
|volume=Vol-2282
|authors=Ian Horswill,Ethan Robison
|dblpUrl=https://dblp.org/rec/conf/aiide/HorswillR18
}}
==What’s the Worst Thing You’ve Ever Done at a Conference? Operationalizing Dread’s Questionnaire Mechanic==
What’s the Worst Thing You’ve Ever Done at a Conference? Operationalizing Dread’s Questionnaire Mechanic Ian Horswill and Ethan Robison EECS Department, Northwestern University, 2133 Sheridan Road, Evanston IL ian@northwestern.edu, yikes.gov@u.northwestern.edu Abstract game. The questionnaire helps the player design their char- Dread (Barmore et al. 2005) is an award-winning tabletop acter, establishing useful bits of backstory that can be used horror RPG that emphasizes storytelling. One of its innova- as narrative hooks by both player and host to produce drama tive mechanics is the use of a questionnaire for character de- and tension during gameplay. sign that helps players develop a personality and history for Questionnaires cover a range of topics: the character’s their characters. Questionnaires vary for different scenarios and characters, but always include “intrusive” questions such motivations, capabilities and limitations, relation to the as “why are you married if you aren’t in love?” or “what’s overall plot, and relationships with other characters. Ques- the worst thing you’ve ever done to a loved one?” In this tionnaires always include so-called “intrusive” questions: paper, we discuss work in progress on AutoDread, an imple- questions that get at issues characters would be reluctant to mentation of Dread-style questionnaires for video games. disclose in real life, such as “who else knows you’re a The system presents human-authored questions and candi- date answers to players to choose between, collecting the im- fraud?” plications of those answers in a character model. As impli- In this paper, we discuss work in progress on AutoDread, cations are accumulated, the system uses a SAT solver to fil- an electronic version of Dread-style questionnaires, suitable ter questions and answers that are inconsistent with character for use in video games. The system works from a stock of facts established by previous questions. human-authored questions and potential answers, each tagged with their logical implications. For example, a ques- Introduction tion such as “How long has it been since you saw your brother?” would be tagged with “has brother”. The answer Dread (Barmore et al. 2005) is a table-top horror RPG in the “Not since mom’s funeral” would be tagged “mother dead”, recent tradition of “storygames” or “freeform” games, such while the answer “We watch the game every Monday night” as Fiasco (Morningstar 2009) and Monsterhearts (Alder might be tagged “brother alive” and “loves brother”, or at 2012), that deemphasize rules and stats in favor of freeform least “not hates brother”. improvisation (Stark 2014). It won the 2006 Ennie award This brings up one of the fundamental limitations of Au- for Innovation, as well as being nominated in both the Best toDread: it can’t accept freeform answers from players, re- Rules and Best Game categories. quiring them instead to select from a specific list of human- Dread introduces two novel mechanics. One is the use of authored answers to the question. This allows the question- a Jenga tower in lieu of dice to determine outcomes of char- naire to be machine-readable, at the cost of increased work acter actions. This provides a particularly visceral imple- for the author and decreased player freedom. mentation of LeBlanc’s aphorism that drama = uncertainty As the system asks the player questions, it accumulates + inevitability (LeBlanc 2005). these implications, as well as other facts that follow from the Dread’s other novel mechanic is the use of questionnaires implications, to gradually create a model of the character for character design. Scenarios are pre-authored by a host and their backstory. The system uses a SAT solver (gamemaster) to have a designated set of character roles, (Horswill 2018) to automatically reject questions or answers such as ship’s captain or camp counselor. Each character that contradict facts already established in previous ques- role has a pre-authored questionnaire that is answered, in tions and player-selected answers. At the end, it uses the character, by that character’s player before the start of the SAT solver to generate a specific, random, character model Possible English surface realizations of predicates are spec- consistent with the player’s answers. ified as part of the predicate. The act of asking the question implies that the character’s brother is indeed dead, and that the character feels some re- Potential applications sponsibility for it. It therefore forecloses any questions that AutoDread is an exploratory first-step toward making a gen- presuppose the brother is still alive or that the character is erative interactive fiction system mimicking at least some of an only child. The first answer, if chosen, further adds that the player experience of Dread. To be useful for an elec- the character’s brother was an alcoholic, while the second tronic game, the game would have to have sufficient gener- adds that their father was abusive. The third answer adds ativity to make use of the formal character model. While it that the brother was a gang member. might conceivably increase player engagement for them to The questionnaire can also specify a limited set of con- know their character had had a pet rabbit as a child, it won’t straints and other axioms: affect the gameplay unless the game’s AI can somehow take advantage of that knowledge. • Mutually exclusive: fact1, … , factn Alternatively, the system could be used as an adjunct to At most one of fact1, … , factn can be true. existing tabletop games, either to help beginning players de- • Contradiction: fact1, … , factn sign their characters, or more likely to help GMs quickly fact1, … , factn cannot all be simultaneously true. flesh out random NPCs that they need. The GM could use • Unique: fact1, … , factn generic questionnaires for merchants, innkeepers, etc., when Exactly one of fact1, … , factn must be true. a given character types was needed. Or, since the system is • conclusion <- premise1, …, premisen driven by a SAT solver, the system could generate answers Classical implication. to the questions itself and simply present the finished char- • conclusion <= premise1, …, premisen acter model to the GM. A Horn rule with stable-model semantics (Gelfond More generally, the notion of using a questionnaire as a & Lifschitz 1988; Gebser et al. 2012). This differs kind of user-interface to allow a player or GM to drive a from classical implication in that it adds the con- PCG system might find applications in other areas. straint that the conclusion may only be true if one of its Horn rules justifies it. Questionnaire design These are used to specify, for example, that a character must have an “affliction” – some character flaw or other disabil- Questions, answers, and their implications are specified in a ity, while preventing the character from being riddled with human-authored text file. Questions are prefixed with Q: multiple afflictions: and answers with A:. Implications for a question or answer, if any, are given in a comma-separated list beneath their re- // Afflictions spective question or answer. Questions and answers are Unique: insomnia, violent, asthma, free-form text. Implications are given as atomic proposi- grief_stricken, ignored, tone_deaf, tions (single tokens) or applications of predicates to terms, bored, superstitious, bad_temper expressed in ersatz English. For example: Q: What could you have done to save your Knowledge representation language brother's life? dead brother, family_guilt The questionnaire is a more author-friendly front-end to the A: Taken the car keys away internal KR language used by the character modeling sys- alcoholic brother tem. Character models are represented in an order-sorted A: Taken him away from dad logic with atomic terms: terms (arguments to predicates, abusive father represented internally by strings) are atomic rather arbitrary A: Made him move in with me to get him term expressions; they’re divided into sorts (data types); and out of the neighborhood those sorts are ordered (types can have subtypes) with Entity brother_gang_member being the top sort. Predicates specify sorts for their argu- ments: dead(𝑥𝑥) is limited to 𝑥𝑥’s of the Person sort. Single-token facts such as family_guilt are atomic One of the goals of the system is to allow non-technical propositions and multiword constructions such as dead authors to write questions and answers for the system. As a brother are predicate applications (i.e. dead(brother)). result, we’ve been reluctant to add rules with explicit varia- bles and quantifiers, such as would be found in Prolog (Clocksin & Mellish 2003) or ASP (Smith & Mateas 2011) Axiom compilation to the system. Instead, we’ve added two simple higher-or- der constructs that handle the limited use-cases that have Before the questionnaire can be administered, the infor- come up so far. mation in the questionnaire must be compiled into proposi- The first of these is existential quantification over a sort. tions and axioms in the SAT problem. Each potential fact If the author writes “dead father”, i.e. dead(father), that has in the questionnaire, be it an atomic fact such as “insomnia”, the usual semantics since father is a term. But if they write or a predicate instance, such as “likes alcohol” is mapped to “dead parent”, since parent is a sort, it means ∃𝑥𝑥 ∈ a proposition in the SAT problem. The system also gener- parent. dead(𝑥𝑥). A question or answer can therefore add to ates implication rules for any generalizations or existential the character model that they have a dead parent, without quantifications over the predicate instances. having to specify which parent. The current language, how- Let 𝑝𝑝 be a unary predicate defined over sort 𝑆𝑆, and let 𝐷𝐷 ⊆ ever, does not have a syntax for specifying that all parents 𝑆𝑆 be the set of arguments to 𝑝𝑝 that appear as facts in the are dead (apart from saying “not living parent” or explicit questionnaire. Then, to implement generalization, for each quantified variables such as ∃𝑥𝑥. dead(𝑥𝑥) ∧ abusive(𝑥𝑥), i.e. 𝑎𝑎 ∈ 𝐷𝐷, the system adds the rule: they have a dead, abusive parent. The other form of implicit quantification is the ability to 𝑞𝑞(𝑎𝑎) <- 𝑝𝑝(𝑎𝑎) specify that one predicate generalizes another predicate. There are three forms of generalization: For each negative generalization 𝑛𝑛 and each 𝑎𝑎 ∈ 𝐷𝐷 it adds the rule: • 𝑝𝑝 generalizes 𝑞𝑞 ∀𝑥𝑥 ∈ 𝑠𝑠. 𝑞𝑞(𝑥𝑥) → 𝑝𝑝(𝑥𝑥), where 𝑠𝑠 is the sort over ¬𝑛𝑛(𝑎𝑎) <- 𝑝𝑝(𝑎𝑎) which 𝑞𝑞 is defined. • 𝑝𝑝 strongly generalizes 𝑞𝑞 And for each strong generalization 𝑄𝑄 and each 𝑎𝑎 ∈ 𝐷𝐷, it ∀𝑥𝑥 ∈ 𝑠𝑠. 𝑞𝑞(𝑥𝑥) → 𝑝𝑝(𝑥𝑥), but also, 𝑝𝑝(𝑥𝑥) implies at adds the rule: least one of the predicates that is strongly general- ized by it must be true of 𝑥𝑥. 𝑄𝑄(𝑎𝑎) <= 𝑝𝑝(𝑎𝑎) • 𝑝𝑝 negatively generalizes 𝑞𝑞 Asserts that ∀𝑥𝑥 ∈ 𝑠𝑠. 𝑞𝑞(𝑥𝑥) → ¬𝑝𝑝(𝑥𝑥). To implement existential quantification over sorts, for each subsort 𝑆𝑆’ ⊆ 𝑆𝑆, and for each 𝑎𝑎 ∈ 𝑆𝑆’ ∩ 𝐷𝐷, the system adds the For example, loves and hates are each generalized by rule: exists. So, if you love or hate someone, they must exist. But living and dead are strongly generalized by ex- 𝑝𝑝(𝑆𝑆’) <= 𝑝𝑝(𝑎𝑎) ists, so if someone exists, they must also be living or dead. Living and dead also negatively generalize one another, CatSAT operates internally on clauses in conjunctive nor- so you can’t be both living and dead. mal form, i.e. disjunctions of literals (propositions or their To simplify the English parsing and generation, predi- negations). The system translates standard <- implica- cates are currently limited to at most two arguments. tions into single CNF clauses, i.e. 𝑞𝑞(𝑎𝑎) <- 𝑝𝑝(𝑎𝑎) is trans- We do not presently have an author-friendly syntax for lated into the single clause 𝑞𝑞(𝑎𝑎) ∨ ¬𝑝𝑝(𝑎𝑎). However, <= specifying new predicates or sorts inside the questionnaire rules are more complicated, since they have the semantics file. They’re currently defined in C# code. that the consequent can only be true if the antecedent of one of its <= rules is true. A set of rules, such as: Implementation 𝑞𝑞(𝑎𝑎) <= 𝑝𝑝(𝑎𝑎) 𝑞𝑞(𝑎𝑎) <= 𝑟𝑟(𝑎𝑎) AutoDread is implemented in C# under the Unity3D (Unity Technologies 2004) game engine. It uses the CatSAT logic is translated first into the biconditional 𝑞𝑞(𝑎𝑎) ↔ 𝑝𝑝(𝑎𝑎) ∨ programming system for back-end inference. The KR lan- 𝑟𝑟(𝑎𝑎), which is then translated into its CNF form: guage is translated at run-time into CatSAT assertions and character models are computed by solving for models of the 𝑞𝑞(𝑎𝑎) ∨ ¬𝑝𝑝(𝑎𝑎) assertions. 𝑞𝑞(𝑎𝑎) ∨ ¬𝑟𝑟(𝑎𝑎) ¬𝑞𝑞(𝑎𝑎) ∨ 𝑝𝑝(𝑎𝑎) ∨ 𝑟𝑟(𝑎𝑎) Constraint directives such as unique: and mutually exclusive: are directly supported by CatSAT, and so require no preprocessing other than to map facts in the ques- Also inferred: not posh tastes, since that contradicts sim- tionnaire to the internal SAT propositions used to represent ple tastes. them. Q: When you have trouble sleeping, what do you focus on? Questionnaire administration A: The last time my brother and I saw each other. The core loop steps through questions, presenting them and Implications: likes alcohol, simple tastes, insomnia, collecting answers. Questions and answers inconsistent brother exists, sentimental with the current model are eliminated without being pre- Also inferred: since the character is inflicted with insom- sented to the user. nia and they aren’t allowed multiple afflictions, the other The valid answers 𝑉𝑉(𝑞𝑞, 𝐹𝐹) to a question 𝑞𝑞, given a set of inflictions have been ruled out. Since they have been es- assumed facts 𝐹𝐹 is the subset of 𝑞𝑞’s answers 𝐴𝐴(𝑞𝑞), for which tablished as sentimental, other mindsets such as being ar- the assumptions 𝐹𝐹, 𝑞𝑞’s implications 𝐼𝐼(𝑎𝑎), and that answer’s rogant have also been ruled out (this is not a realistic per- implications are all consistent, i.e., they have a model: sonality model, but it’s one of the axioms). 𝑉𝑉(𝑞𝑞, 𝐹𝐹) = {𝑎𝑎 ∈ 𝐴𝐴(𝑞𝑞): ∃𝑀𝑀. 𝑀𝑀 ⊨ 𝐹𝐹 ∪ 𝐼𝐼(𝑞𝑞) ∪ 𝐼𝐼(𝑎𝑎)} Q: What could you have done to save your brother? A: Take him away from Dad. Here the model 𝑀𝑀 is found by invoking the SAT solver on Implications: likes alcohol, simple tastes, insomnia, 𝐹𝐹 ∪ 𝐼𝐼(𝑞𝑞) ∪ 𝐼𝐼(𝑎𝑎). brother exists, sentimental, dead brother, dead brother, The basic loop is then to accumulate a set of facts 𝐹𝐹 by family_guilt, abusive father asking questions that don’t contradict 𝐹𝐹, adding any impli- Also inferred: hates father, not brother living, guilt (from cations of those questions and answers to 𝐹𝐹: family_guilt) foreach 𝑞𝑞 ∈ questionnaire { Q: What book do you read every year on the anniversary // Find the non-contradictory answers of your father’s death? 𝐴𝐴 = 𝑉𝑉(𝑞𝑞, 𝐹𝐹) A: King Lear // Make sure there are enough of them Implications: likes alcohol, simple tastes, insomnia, if ⌊𝐴𝐴⌋ > 1 { brother exists, sentimental, dead brother, dead brother, present 𝑞𝑞 and 𝐴𝐴 to the user family_guilt, abusive father, narcissistic father collect user’s answer 𝑎𝑎 ∈ 𝐴𝐴 Also inferred: dead father. Note that an option involving // Update the known facts about the character the father’s favorite book is suppressed here because the 𝐹𝐹 = 𝐹𝐹 ∪ 𝐼𝐼(𝑞𝑞) ∪ 𝐼𝐼(𝑎𝑎) character hates the father. } } Q: Why are you the black sheep of the family? Find a character model 𝑀𝑀 such that 𝑀𝑀 ⊨ 𝐹𝐹 A: I’m a fucking loser Display 𝑀𝑀 for user Implications: likes alcohol, simple tastes, insomnia, brother exists, sentimental, dead brother, dead brother, The algorithm is fully implemented and running in Unity. family_guilt, abusive father, narcissistic father, black_sheep, hates self Annotated example run Q: How often do you see your family? A: Never To get a sense of the operation of the system, we give an Implications: likes alcohol, simple tastes, insomnia, example run using a minimal questionnaire, which can be brother exists, sentimental, dead brother, dead brother, found in the appendix. “Implications” gives the set of spe- family_guilt, abusive father, narcissistic father, cific implications of the questions and answers (the set black_sheep, hates self, living family 𝐹𝐹 from above). “Also inferred” gives other propositions that Also inferred: since there are living family, but the the SAT solver would determine to be true, but that don’t brother and father are dead, it knows there must be an- appear in the set 𝐹𝐹: other living family member Q: What’ll you have to drink? Finally, the SAT solver finds a model of the implications. A: Whiskey, on the rocks. This fills in the gaps left unspecified by the player’s answers Implications: likes alcohol, simple tastes to make a random character model consistent with the infer- ences: the character has a mother, whom the character neither loves nor hates; they have a pet; they’re gregarious, extensions are necessary are best determined by putting the frail, and religious. system in front of users. Related work Appendix: questionnaire used in the example We are not aware of any previous work on character PCG guilt <- family_guilt using questionnaires. However, there is a sizable body of work on SAT-based PCG in general using Answer-Set Pro- // Personalities gramming (Smith et al. 2012; Smith 2011; Nelson & Smith Unique: gregarious, playful 2016). There have also been several attempts to generate or otherwise model character personality and history. The // Mindsets - every character has one Sims 3 (Maxis 2009) used a rule-based system and a set of Unique: nostalgic, arrogant, peaceful, 81 different personality traits to model character behavior optimistic, sentimental, prepared, ob- (Evans 2009). Current versions of Dwarf Fortress (Adams noxious, vulnerable, bossy, health_ori- & Adams 2006) use a similar system. Versu (Evans & Short ented 2013) uses a general, declarative logic for character model- ing. // Afflictions There has also been a significant amount of work on mak- Unique: insomnia, violent, asthma, ing author-friendly languages for interactive fiction. Ingold grief_stricken, ignored, tone_deaf, (2015), co-designer of Ink (Inkle 2013), has argued persua- bored, superstitious, bad_temper sively for the importance of IF scripting languages that al- low writers to write their lines without having to learn pro- // Body types gramming. Nelson’s Inform 7 (Nelson 2006a) is the most Unique: athletic, frail widely used parser-based IF authoring system in the world. Nelson argues that within the IF domain, English can be Mutually exclusive: simple tastes, posh used effectively as a declarative language (Nelson 2006b). tastes He also built a system, Prompter (Nelson 2013) to act as a more author-friendly front-end to Versu. // QUESTIONS Q: What'll you have to drink? A: Whiskey, on the rocks. Conclusion likes alcohol, simple tastes AutoDread is a work in progress. At this point, we have a A: A bottle of spring water, please working parser, inference system, and driver loop. The next posh tastes step is to build out a more substantive questionnaire, which A: A diet coke. I'm trying to watch my we’d like to do in conjunction with writers. Our hope is to weight. build a system that technophilic non-programmers can au- health_oriented, likes sweets thor for. Such users are often found in game development, A: An ice-cold bottle of orange juice. IF authoring, and table-top roleplaying. I'm parched This will certainly involve extending the system. As likes sweets mentioned above, adding new predicates (and hence new verbs) currently requires editing the underlying C# code, in Q: When you have trouble sleeping, what part because it requires giving the parser hints as to how to do you focus on? translate between the internal form of the assertions and the insomnia pseudo-English of the questionnaire. It would also be desir- A: The last time my brother and I saw able to find natural English expressions for the higher-order each other assertions about predicates, such as generalization. How- brother, sentimental ever, it’s unfair, or at least unrealistic, to ask naïve users to A: The time I won a big game back in learn the difference between the material implication of high school classical logic and Horn clauses with stable-model seman- athletic, nostalgic tics, both of which are supported in the system. A: What I'll say to my lover when I It may also be necessary to extend the expressiveness of make it back the system’s KR language. However, what types of optimistic, lover A: The serenity of mountain climbing likes outdoors, peaceful, athletic Q: What could you have done to save your brother's life? dead brother, family_guilt A: Taken the car keys away Q: What do you have in your pockets? alcoholic brother A: My inhaler. I'm not in the best of A: Taken him away from dad health. abusive father asthma, frail A: Made him move in with me to get him A: My trusty-dusty pocket knife. You out of the neighborhood never know when something (or someone) brother_gang_member will need cutting. prepared, violent Q: What book do you read every year on A: A battered paperback novel. Rule the anniversary of your father's death? number two: always have something to dead father read. A: The bible prepared, likes literature religious A: My lucky coin. A: "Ender's Game". He loved it. Superstitious loves father A: King Lear. Q: What do you miss the most about the narcissistic father before times? nostalgic Q: Why are you the black sheep of the A: All the people. It's lonely in the family? wastelands. black_sheep sentimental, gregarious A: I married outside of our faith A: There used to be a lot more to do religious_family around here. Everything is so boring A: I just have this temper these days. bad_temper playful, bored A: I like the bottle too much A: My family. They were all killed in alcoholic self the incident. A: I'm a fucking loser mother dead, father dead, likes hates self mother, likes father, nostalgic, grief_stricken Q: How often do you see your family? A: I had a dog. Now, I have nothing. living family pet dead, grief_stricken A: Once a year A: Once a week Q: What do you think that you're better loves family at than you really are? A: Never arrogant estranged_from_family A: I like to think I'm pretty funny. No one else seems to agree. obnoxious References A: I'm a really good singer! Probably. Adams, T. & Adams, Z., 2006. Slaves to Armok: God of Blood tone_deaf Chapter II: Dwarf Fortress. A: I can weather any storm. As long as Alder, A., 2012. Monsterhearts, Buried Without Ceremony. it's not a metaphor for a difficult Available at: https://buriedwithoutceremony.com/. emotional experience. Barmore, N. et al., 2005. Dread, The Impossible Dream. Available vulnerable at: http://www.tiltingatwindmills.net/. A: I'm a talented leader; just, most of Clocksin, W.F. & Mellish, C.S., 2003. Programming in Prolog: the time, people ignore my guidance. Using the ISO Standard 5th ed., New York, NY: Springer. bossy, ignored Evans, R., 2009. AI Challenges in Sims 3. In Artificial Intelligence and Interactive Digital Entertainment. Stanford, CA: AAAI Press. Evans, R. & Short, E., 2013. Versu. Gebser, M. et al., 2012. Answer Set Solving in Practice, Gelfond, M. & Lifschitz, V., 1988. The stable model semantics for logic programming. 5th International Conf. of Symp. on Logic Programming, pp.1070–1080. Horswill, I., 2018. CatSAT: A Practical, Embedded, SAT Language for Runtime PCG. In AIIDE-18. AAAI Press. Ingold, J., 2015. Adventure in Text: Innovating in Interactive Fiction. In Game Developer’s Conference. San Francisco, CA: UBM Techweb. LeBlanc, M., 2005. Tools for Creating Dynamic Game Dynamics. In K. S. Tekinbas & E. Zimmerman, eds. The Game Design Reader: A Rules of Play Anthology. Cambridge, MA: MIT Press, pp. 438–459. Maxis, 2009. The Sims 3. Morningstar, J., 2009. Fiasco, Durham, NC: Bully Pulpit Games. Nelson, G., 2006a. Inform 7. Nelson, G., 2006b. Natural Language, Semantic Analysis, and Interactive Fiction. Nelson, G., 2013. Writing for Versu, San Francisco, CA: Linden Lab. Nelson, M. & Smith, A., 2016. ASP With Applications to Mazes and Levels. In N. Shaker, J. Togelius, & M. J. Nelson, eds. Procedural Content Generation in Games. Berlin, Heidelberg: Springer, pp. 143–158. Smith, A., 2011. A Map Generation Speedrun with Answer Set Programming. Expressive Intelligence Studio Blog. Available at: http://eis-blog.ucsc.edu/2011/10/map-generation-speedrun/. Smith, A.M., Andersen, E. & Mateas, M., 2012. A Case Study of Expressively Constrainable Level Design Automation Tools for a Puzzle Game. In International Conference on the Foundations of Digital Games. Raleigh: ACM Press. Smith, A.M. & Mateas, M., 2011. Answer Set Programming for Procedural Content Generation : A Design Space Approach. IEEE Transactions on Computational Intelligence and AI in Games, 3(3), pp.187–200. Stark, L., 2014. Pocket Guide to American Freeform, CreateSpace Independent Publishing Platform. Inkle, 2013. Ink. Unity Technologies, 2004. Unity 3D.