<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>What's the Worst Thing You've Ever Done at a Conference? Operationalizing Dread's Questionnaire Mechanic</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ian Horswill</string-name>
          <email>ian@northwestern.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ethan Robison</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>EECS Department, Northwestern University</institution>
          ,
          <addr-line>2133 Sheridan Road, Evanston IL</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <abstract>
        <p>Dread (Barmore et al. 2005) is an award-winning tabletop horror RPG that emphasizes storytelling. One of its innovative mechanics is the use of a questionnaire for character design that helps players develop a personality and history for their characters. Questionnaires vary for different scenarios and characters, but always include “intrusive” questions such as “why are you married if you aren't in love?” or “what's the worst thing you've ever done to a loved one?” In this paper, we discuss work in progress on AutoDread, an implementation of Dread-style questionnaires for video games. The system presents human-authored questions and candidate answers to players to choose between, collecting the implications of those answers in a character model. As implications are accumulated, the system uses a SAT solver to filter questions and answers that are inconsistent with character facts established by previous questions.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <sec id="sec-1-1">
        <title>Dread (Barmore et al. 2005) is a table-top horror RPG in the</title>
        <p>
          recent tradition of “storygames” or “freeform” games, such
as Fiasco
          <xref ref-type="bibr" rid="ref13">(Morningstar 2009)</xref>
          and Monsterhearts
          <xref ref-type="bibr" rid="ref2">(Alder
2012)</xref>
          , that deemphasize rules and stats in favor of freeform
improvisation
          <xref ref-type="bibr" rid="ref22">(Stark 2014)</xref>
          . It won the 2006 Ennie award
for Innovation, as well as being nominated in both the Best
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>Rules and Best Game categories.</title>
      </sec>
      <sec id="sec-1-3">
        <title>Dread introduces two novel mechanics. One is the use of</title>
        <p>
          a Jenga tower in lieu of dice to determine outcomes of
character actions. This provides a particularly visceral
implementation of LeBlanc’s aphorism that drama = uncertainty
+ inevitability
          <xref ref-type="bibr" rid="ref10">(LeBlanc 2005)</xref>
          .
        </p>
        <p>Dread’s other novel mechanic is the use of questionnaires
for character design. Scenarios are pre-authored by a host
(gamemaster) to have a designated set of character roles,
such as ship’s captain or camp counselor. Each character
role has a pre-authored questionnaire that is answered, in
character, by that character’s player before the start of the
game. The questionnaire helps the player design their
character, establishing useful bits of backstory that can be used
as narrative hooks by both player and host to produce drama
and tension during gameplay.</p>
        <p>Questionnaires cover a range of topics: the character’s
motivations, capabilities and limitations, relation to the
overall plot, and relationships with other characters.
Questionnaires always include so-called “intrusive” questions:
questions that get at issues characters would be reluctant to
disclose in real life, such as “who else knows you’re a
fraud?”</p>
        <p>In this paper, we discuss work in progress on AutoDread,
an electronic version of Dread-style questionnaires, suitable
for use in video games. The system works from a stock of
human-authored questions and potential answers, each
tagged with their logical implications. For example, a
question such as “How long has it been since you saw your
brother?” would be tagged with “has brother”. The answer
“Not since mom’s funeral” would be tagged “mother dead”,
while the answer “We watch the game every Monday night”
might be tagged “brother alive” and “loves brother”, or at
least “not hates brother”.</p>
      </sec>
      <sec id="sec-1-4">
        <title>This brings up one of the fundamental limitations of Au</title>
        <p>toDread: it can’t accept freeform answers from players,
requiring them instead to select from a specific list of
humanauthored answers to the question. This allows the
questionnaire to be machine-readable, at the cost of increased work
for the author and decreased player freedom.</p>
        <p>
          As the system asks the player questions, it accumulates
these implications, as well as other facts that follow from the
implications, to gradually create a model of the character
and their backstory. The system uses a SAT solver
          <xref ref-type="bibr" rid="ref8">(Horswill 2018)</xref>
          to automatically reject questions or answers
that contradict facts already established in previous
questions and player-selected answers. At the end, it uses the
        </p>
      </sec>
      <sec id="sec-1-5">
        <title>SAT solver to generate a specific, random, character model consistent with the player’s answers.</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Potential applications</title>
      <p>AutoDread is an exploratory first-step toward making a
generative interactive fiction system mimicking at least some of
the player experience of Dread. To be useful for an
electronic game, the game would have to have sufficient
generativity to make use of the formal character model. While it
might conceivably increase player engagement for them to
know their character had had a pet rabbit as a child, it won’t
affect the gameplay unless the game’s AI can somehow take
advantage of that knowledge.</p>
      <p>Alternatively, the system could be used as an adjunct to
existing tabletop games, either to help beginning players
design their characters, or more likely to help GMs quickly
flesh out random NPCs that they need. The GM could use
generic questionnaires for merchants, innkeepers, etc., when
a given character types was needed. Or, since the system is
driven by a SAT solver, the system could generate answers
to the questions itself and simply present the finished
character model to the GM.</p>
      <sec id="sec-2-1">
        <title>More generally, the notion of using a questionnaire as a</title>
        <p>kind of user-interface to allow a player or GM to drive a</p>
      </sec>
      <sec id="sec-2-2">
        <title>PCG system might find applications in other areas.</title>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Questionnaire design</title>
      <p>Questions, answers, and their implications are specified in a
human-authored text file. Questions are prefixed with Q:
and answers with A:. Implications for a question or answer,
if any, are given in a comma-separated list beneath their
respective question or answer. Questions and answers are
free-form text. Implications are given as atomic
propositions (single tokens) or applications of predicates to terms,
expressed in ersatz English. For example:
Q: What could you have done to save your
brother's life?</p>
      <p>dead brother, family_guilt
A: Taken the car keys away</p>
      <p>alcoholic brother
A: Taken him away from dad</p>
      <p>abusive father
A: Made him move in with me to get him
out of the neighborhood</p>
      <p>brother_gang_member</p>
      <sec id="sec-3-1">
        <title>Single-token facts such as family_guilt are atomic</title>
        <p>propositions and multiword constructions such as dead
brother are predicate applications (i.e. dead(brother)).</p>
        <sec id="sec-3-1-1">
          <title>Possible English surface realizations of predicates are spec</title>
          <p>ified as part of the predicate.</p>
          <p>The act of asking the question implies that the character’s
brother is indeed dead, and that the character feels some
responsibility for it. It therefore forecloses any questions that
presuppose the brother is still alive or that the character is
an only child. The first answer, if chosen, further adds that
the character’s brother was an alcoholic, while the second
adds that their father was abusive. The third answer adds
that the brother was a gang member.</p>
          <p>The questionnaire can also specify a limited set of
constraints and other axioms:
•
•
•
•
•</p>
          <p>Mutually exclusive: fact1, … , factn</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>At most one of fact1, … , factn can be true.</title>
          <p>Contradiction: fact1, … , factn
fact1, … , factn cannot all be simultaneously true.
Unique: fact1, … , factn</p>
        </sec>
        <sec id="sec-3-1-3">
          <title>Exactly one of fact1, … , factn must be true.</title>
          <p>conclusion &lt;- premise1, …, premisen</p>
        </sec>
        <sec id="sec-3-1-4">
          <title>Classical implication.</title>
          <p>conclusion &lt;= premise1, …, premisen</p>
        </sec>
        <sec id="sec-3-1-5">
          <title>A Horn rule with stable-model semantics (Gelfond</title>
          <p>&amp; Lifschitz 1988; Gebser et al. 2012). This differs
from classical implication in that it adds the
constraint that the conclusion may only be true if one of
its Horn rules justifies it.</p>
        </sec>
        <sec id="sec-3-1-6">
          <title>These are used to specify, for example, that a character must have an “affliction” – some character flaw or other disability, while preventing the character from being riddled with multiple afflictions:</title>
          <p>// Afflictions
Unique: insomnia, violent, asthma,
grief_stricken, ignored, tone_deaf,
bored, superstitious, bad_temper</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Knowledge representation language</title>
      <p>The questionnaire is a more author-friendly front-end to the
internal KR language used by the character modeling
system. Character models are represented in an order-sorted
logic with atomic terms: terms (arguments to predicates,
represented internally by strings) are atomic rather arbitrary
term expressions; they’re divided into sorts (data types); and
those sorts are ordered (types can have subtypes) with Entity
being the top sort. Predicates specify sorts for their
arguments: dead( ) is limited to  ’s of the Person sort.</p>
      <p>
        One of the goals of the system is to allow non-technical
authors to write questions and answers for the system. As a
result, we’ve been reluctant to add rules with explicit
variables and quantifiers, such as would be found in Prolog
        <xref ref-type="bibr" rid="ref4">(Clocksin &amp; Mellish 2003)</xref>
        or ASP
        <xref ref-type="bibr" rid="ref19 ref21">(Smith &amp; Mateas 2011)</xref>
        to the system. Instead, we’ve added two simple
higher-order constructs that handle the limited use-cases that have
come up so far.
      </p>
      <sec id="sec-4-1">
        <title>The first of these is existential quantification over a sort.</title>
        <p>If the author writes “dead father”, i.e. dead(father), that has
the usual semantics since father is a term. But if they write
“dead parent”, since parent is a sort, it means ∃ ∈
parent. dead( ). A question or answer can therefore add to
the character model that they have a dead parent, without
having to specify which parent. The current language,
however, does not have a syntax for specifying that all parents
are dead (apart from saying “not living parent” or explicit
quantified variables such as ∃ . dead( ) ∧ abusive( ), i.e.
they have a dead, abusive parent.</p>
      </sec>
      <sec id="sec-4-2">
        <title>The other form of implicit quantification is the ability to specify that one predicate generalizes another predicate. There are three forms of generalization:</title>
        <p>•
•
•
 generalizes 
∀ ∈  .  ( ) →  ( ), where  is the sort over
which  is defined.
 strongly generalizes 
∀ ∈  .  ( ) →  ( ), but also,  ( ) implies at
least one of the predicates that is strongly
generalized by it must be true of  .
 negatively generalizes</p>
        <p>Asserts that ∀ ∈  .  ( ) → ¬ ( ).</p>
        <sec id="sec-4-2-1">
          <title>For example, loves and hates are each generalized by</title>
          <p>exists. So, if you love or hate someone, they must exist.</p>
        </sec>
        <sec id="sec-4-2-2">
          <title>But living and dead are strongly generalized by ex</title>
          <p>ists, so if someone exists, they must also be living or dead.</p>
        </sec>
        <sec id="sec-4-2-3">
          <title>Living and dead also negatively generalize one another,</title>
          <p>so you can’t be both living and dead.</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>To simplify the English parsing and generation, predi</title>
        <p>cates are currently limited to at most two arguments.</p>
      </sec>
      <sec id="sec-4-4">
        <title>We do not presently have an author-friendly syntax for specifying new predicates or sorts inside the questionnaire file. They’re currently defined in C# code.</title>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Implementation</title>
      <sec id="sec-5-1">
        <title>AutoDread is implemented in C# under the Unity3D (Unity</title>
        <p>Technologies 2004) game engine. It uses the CatSAT logic
programming system for back-end inference. The KR
language is translated at run-time into CatSAT assertions and
character models are computed by solving for models of the
assertions.
 ( ) &lt;-  ( )
¬ ( ) &lt;-  ( )
 ( ) &lt;=  ( )
 ( ’) &lt;=  ( )</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Axiom compilation</title>
      <p>Before the questionnaire can be administered, the
information in the questionnaire must be compiled into
propositions and axioms in the SAT problem. Each potential fact
in the questionnaire, be it an atomic fact such as “insomnia”,
or a predicate instance, such as “likes alcohol” is mapped to
a proposition in the SAT problem. The system also
generates implication rules for any generalizations or existential
quantifications over the predicate instances.</p>
      <sec id="sec-6-1">
        <title>Let  be a unary predicate defined over sort  , and let  ⊆</title>
        <p>be the set of arguments to  that appear as facts in the
questionnaire. Then, to implement generalization, for each
 ∈  , the system adds the rule:</p>
      </sec>
      <sec id="sec-6-2">
        <title>For each negative generalization  and each  ∈  it adds</title>
        <p>the rule:</p>
      </sec>
      <sec id="sec-6-3">
        <title>And for each strong generalization  and each  ∈  , it</title>
        <p>adds the rule:</p>
        <sec id="sec-6-3-1">
          <title>To implement existential quantification over sorts, for each</title>
          <p>subsort  ’ ⊆  , and for each  ∈  ’ ∩  , the system adds the
rule:
CatSAT operates internally on clauses in conjunctive
normal form, i.e. disjunctions of literals (propositions or their
negations). The system translates standard &lt;-
implications into single CNF clauses, i.e.  ( ) &lt;-  ( ) is
translated into the single clause  ( ) ∨ ¬ ( ). However, &lt;=
rules are more complicated, since they have the semantics
that the consequent can only be true if the antecedent of one
of its &lt;= rules is true. A set of rules, such as:
 ( ) &lt;=  ( )
 ( ) &lt;=  ( )
 ( ) ∨ ¬ ( )
 ( ) ∨ ¬ ( )
¬ ( ) ∨  ( ) ∨  ( )
is translated first into the biconditional  ( ) ↔  ( ) ∨
 ( ), which is then translated into its CNF form:</p>
        </sec>
      </sec>
      <sec id="sec-6-4">
        <title>Constraint directives such as unique: and mutually</title>
        <p>exclusive: are directly supported by CatSAT, and so
require no preprocessing other than to map facts in the
questionnaire to the internal SAT propositions used to represent
them.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Questionnaire administration</title>
      <sec id="sec-7-1">
        <title>The core loop steps through questions, presenting them and collecting answers. Questions and answers inconsistent with the current model are eliminated without being presented to the user.</title>
        <sec id="sec-7-1-1">
          <title>The valid answers  ( ,  ) to a question  , given a set of</title>
          <p>assumed facts  is the subset of  ’s answers  ( ), for which
the assumptions  ,  ’s implications  ( ), and that answer’s
implications are all consistent, i.e., they have a model:
 ( ,  ) = { ∈  ( ): ∃ . 
⊨  ∪  ( ) ∪  ( )}</p>
        </sec>
        <sec id="sec-7-1-2">
          <title>Here the model  is found by invoking the SAT solver on</title>
          <p>∪  ( ) ∪  ( ).</p>
          <p>The basic loop is then to accumulate a set of facts  by
asking questions that don’t contradict  , adding any
implications of those questions and answers to  :</p>
          <p>}
foreach  ∈ questionnaire {
// Find the non-contradictory answers
 =  ( ,  )
// Make sure there are enough of them
if ⌊ ⌋ &gt; 1 {
present  and  to the user
collect user’s answer  ∈ 
// Update the known facts about the character
 =  ∪  ( ) ∪  ( )
}</p>
        </sec>
        <sec id="sec-7-1-3">
          <title>Find a character model  such that</title>
        </sec>
        <sec id="sec-7-1-4">
          <title>Display  for user</title>
          <p>⊨</p>
        </sec>
      </sec>
      <sec id="sec-7-2">
        <title>The algorithm is fully implemented and running in Unity.</title>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Annotated example run</title>
      <p>To get a sense of the operation of the system, we give an
example run using a minimal questionnaire, which can be
found in the appendix. “Implications” gives the set of
specific implications of the questions and answers (the set
 from above). “Also inferred” gives other propositions that
the SAT solver would determine to be true, but that don’t
appear in the set  :</p>
      <sec id="sec-8-1">
        <title>Q: What’ll you have to drink?</title>
      </sec>
      <sec id="sec-8-2">
        <title>A: Whiskey, on the rocks.</title>
      </sec>
      <sec id="sec-8-3">
        <title>Implications: likes alcohol, simple tastes</title>
        <p>Also inferred: not posh tastes, since that contradicts
simple tastes.</p>
      </sec>
      <sec id="sec-8-4">
        <title>Q: When you have trouble sleeping, what do you focus on?</title>
      </sec>
      <sec id="sec-8-5">
        <title>A: The last time my brother and I saw each other.</title>
      </sec>
      <sec id="sec-8-6">
        <title>Implications: likes alcohol, simple tastes, insomnia, brother exists, sentimental</title>
        <p>Also inferred: since the character is inflicted with
insomnia and they aren’t allowed multiple afflictions, the other
inflictions have been ruled out. Since they have been
established as sentimental, other mindsets such as being
arrogant have also been ruled out (this is not a realistic
personality model, but it’s one of the axioms).</p>
      </sec>
      <sec id="sec-8-7">
        <title>Q: What could you have done to save your brother?</title>
      </sec>
      <sec id="sec-8-8">
        <title>A: Take him away from Dad.</title>
      </sec>
      <sec id="sec-8-9">
        <title>Implications: likes alcohol, simple tastes, insomnia, brother exists, sentimental, dead brother, dead brother, family_guilt, abusive father</title>
        <p>Also inferred: hates father, not brother living, guilt (from
family_guilt)</p>
      </sec>
      <sec id="sec-8-10">
        <title>Q: What book do you read every year on the anniversary of your father’s death?</title>
      </sec>
      <sec id="sec-8-11">
        <title>A: King Lear</title>
      </sec>
      <sec id="sec-8-12">
        <title>Implications: likes alcohol, simple tastes, insomnia, brother exists, sentimental, dead brother, dead brother, family_guilt, abusive father, narcissistic father</title>
        <p>Also inferred: dead father. Note that an option involving
the father’s favorite book is suppressed here because the
character hates the father.</p>
      </sec>
      <sec id="sec-8-13">
        <title>Q: Why are you the black sheep of the family?</title>
      </sec>
      <sec id="sec-8-14">
        <title>A: I’m a fucking loser</title>
      </sec>
      <sec id="sec-8-15">
        <title>Implications: likes alcohol, simple tastes, insomnia, brother exists, sentimental, dead brother, dead brother, family_guilt, abusive father, narcissistic father, black_sheep, hates self</title>
      </sec>
      <sec id="sec-8-16">
        <title>Q: How often do you see your family?</title>
      </sec>
      <sec id="sec-8-17">
        <title>A: Never</title>
      </sec>
      <sec id="sec-8-18">
        <title>Implications: likes alcohol, simple tastes, insomnia, brother exists, sentimental, dead brother, dead brother, family_guilt, abusive father, narcissistic father, black_sheep, hates self, living family</title>
        <p>Also inferred: since there are living family, but the
brother and father are dead, it knows there must be
another living family member</p>
      </sec>
      <sec id="sec-8-19">
        <title>Finally, the SAT solver finds a model of the implications.</title>
      </sec>
      <sec id="sec-8-20">
        <title>This fills in the gaps left unspecified by the player’s answers</title>
        <p>to make a random character model consistent with the
inferences: 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. systemin front of users.</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>Related work Appendix: questionnaire used in the example</title>
      <p>
        We are not aware of any previous work on character PCG guilt &lt;- family_guilt
using questionnaires. However, there is a sizable body of
work on SAT-based PCG in general using Answer-Set Pro- // Personalities
gramming
        <xref ref-type="bibr" rid="ref17 ref19 ref20 ref21">(Smith et al. 2012; Smith 2011; Nelson &amp; Smith Unique: gregarious, playful
2016)</xref>
        . There have also beenseveral attempts to generate or
otherwise model character personality and history. The // Mindsets - every character has one
Sims 3
        <xref ref-type="bibr" rid="ref12">(Maxis 2009)</xref>
        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
        <xref ref-type="bibr" rid="ref5">(Evans 2009)</xref>
        . Current versions of Dwarf Fortress
        <xref ref-type="bibr" rid="ref1">(Adams noxious, vulnerable, bossy,
health_ori&amp;Adams2006)</xref>
        useasimilarsystem. Versu
        <xref ref-type="bibr" rid="ref6">(Evans&amp;Short ented
2013)</xref>
        uses a general, declarative logic for character
modeling. // Afflictions
      </p>
      <p>
        Therehasalsobeenasignificantamountofworkonmak- Unique: insomnia, violent, asthma,
ingauthor-friendlylanguages for interactive fiction. Ingold grief_stricken, ignored, tone_deaf,
(2015), co-designer of Ink
        <xref ref-type="bibr" rid="ref23">(Inkle 2013)</xref>
        , has argued persua- bored, superstitious, bad_temper
sively for the importance of IF scripting languages that
allow writers to write their lines without having to learn pro- // Body types
gramming. Nelson’s Inform 7
        <xref ref-type="bibr" rid="ref14 ref15">(Nelson 2006a)</xref>
        is the most Unique: athletic, frail
widely used parser-based IF authoring system in the world.
      </p>
      <p>
        Nelson argues that within the IF domain, English can be Mutually exclusive: simple tastes, posh
used effectively as a declarative language
        <xref ref-type="bibr" rid="ref14 ref15">(Nelson 2006b)</xref>
        . tastes
      </p>
      <sec id="sec-9-1">
        <title>He also built a system, Prompter (Nelson 2013) to act as a more author-friendly front-end to Versu.</title>
        <p>// QUESTIONS
Q: What'll you have to drink?</p>
        <p>A: Whiskey, on the rocks.</p>
        <p>Conclusion likes alcohol, simple tastes
AutoDread is a work in progress. At this point, we have a A: A bottle of spring water, please
workingparser,inferencesystem,anddriverloop. Thenext 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</p>
        <p>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 formof the assertions and the insomnia
pseudo-Englishofthequestionnaire. It wouldalsobedesir- A: The last time my brother and I saw
able to find natural Englishexpressions 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</p>
        <p>It may also be necessary to extend the expressiveness of make it back
the system’s KR language. However, what types of optimistic, lover</p>
        <p>A: The serenity of mountain climbing
likes outdoors, peaceful, athletic
Q: What do you have in your pockets?
A: My inhaler. I'm not in the best of
health.</p>
        <p>asthma, frail
A: My trusty-dusty pocket knife. You
never know when something (or someone)
will need cutting.</p>
        <p>prepared, violent
A: A battered paperback novel. Rule
number two: always have something to
read.</p>
        <p>prepared, likes literature
A: My lucky coin.</p>
        <p>Superstitious
Q: What do you miss the most about the
before times?</p>
        <p>nostalgic
A: All the people. It's lonely in the
wastelands.</p>
        <p>sentimental, gregarious
A: There used to be a lot more to do
around here. Everything is so boring
these days.</p>
        <p>playful, bored
A: My family. They were all killed in
the incident.</p>
        <p>mother dead, father dead, likes
mother, likes father, nostalgic,
grief_stricken
A: I had a dog. Now, I have nothing.</p>
        <p>pet dead, grief_stricken
Q: What do you think that you're better
at than you really are?</p>
        <p>arrogant
A: I like to think I'm pretty funny. No
one else seems to agree.</p>
        <p>obnoxious
A: I'm a really good singer! Probably.</p>
        <p>tone_deaf
A: I can weather any storm. As long as
it's not a metaphor for a difficult
emotional experience.</p>
        <p>vulnerable
A: I'm a talented leader; just, most of
the time, people ignore my guidance.</p>
        <p>bossy, ignored</p>
        <p>Q: What could you have done to save
your brother's life?</p>
        <p>dead brother, family_guilt
A: Taken the car keys away</p>
        <p>alcoholic brother
A: Taken him away from dad</p>
        <p>abusive father
A: Made him move in with me to get him
out of the neighborhood</p>
        <p>brother_gang_member
Q: What book do you read every year on
the anniversary of your father's death?</p>
        <p>dead father
A: The bible</p>
        <p>religious
A: "Ender's Game". He loved it.</p>
        <p>loves father
A: King Lear.</p>
        <p>narcissistic father
Q: Why are you the black sheep of the
family?</p>
        <p>black_sheep
A: I married outside of our faith</p>
        <p>religious_family
A: I just have this temper</p>
        <p>bad_temper
A: I like the bottle too much</p>
        <p>alcoholic self
A: I'm a fucking loser</p>
        <p>hates self
Q: How often do you see your family?</p>
        <p>living family
A: Once a year
A: Once a week</p>
        <p>loves family
A: Never
estranged_from_family</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Adams</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Adams</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <year>2006</year>
          . Slaves to Armok:
          <article-title>God of Blood Chapter II: Dwarf Fortress</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Alder</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <year>2012</year>
          . Monsterhearts, Buried Without Ceremony.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Barmore</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          et al.,
          <year>2005</year>
          . Dread, The Impossible Dream. Available at: http://www.tiltingatwindmills.net/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Clocksin</surname>
            ,
            <given-names>W.F.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Mellish</surname>
            ,
            <given-names>C.S.</given-names>
          </string-name>
          ,
          <year>2003</year>
          .
          <article-title>Programming in Prolog: Using the ISO Standard 5th ed</article-title>
          ., New York, NY: Springer.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Evans</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <year>2009</year>
          .
          <article-title>AI Challenges in Sims 3</article-title>
          .
          <source>In Artificial Intelligence and Interactive Digital Entertainment</source>
          . Stanford, CA: AAAI Press.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Evans</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Short</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <year>2013</year>
          . Versu.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Gelfond</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Lifschitz</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <year>1988</year>
          .
          <article-title>The stable model semantics for logic programming</article-title>
          .
          <source>5th International Conf. of Symp. on Logic Programming</source>
          , pp.
          <fpage>1070</fpage>
          -
          <lpage>1080</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Horswill</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <year>2018</year>
          .
          <article-title>CatSAT: A Practical, Embedded, SAT Language for Runtime PCG</article-title>
          .
          <source>In AIIDE-18</source>
          . AAAI Press.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Ingold</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <year>2015</year>
          .
          <article-title>Adventure in Text: Innovating in Interactive Fiction</article-title>
          .
          <source>In Game Developer's Conference</source>
          . San Francisco, CA: UBM Techweb.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>LeBlanc</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <year>2005</year>
          .
          <article-title>Tools for Creating Dynamic Game Dynamics</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>In K. S. Tekinbas</surname>
          </string-name>
          &amp; E. Zimmerman, eds.
          <source>The Game Design Reader: A Rules of Play Anthology</source>
          . Cambridge, MA: MIT Press, pp.
          <fpage>438</fpage>
          -
          <lpage>459</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Maxis</surname>
          </string-name>
          ,
          <year>2009</year>
          .
          <article-title>The Sims 3</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Morningstar</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <year>2009</year>
          . Fiasco, Durham,
          <string-name>
            <surname>NC</surname>
          </string-name>
          : Bully Pulpit Games.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Nelson</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <source>2006a. Inform</source>
          <volume>7</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Nelson</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <year>2006b</year>
          .
          <source>Natural Language</source>
          ,
          <string-name>
            <surname>Semantic Analysis</surname>
          </string-name>
          , and Interactive Fiction.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Nelson</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <year>2013</year>
          . Writing for Versu, San Francisco, CA: Linden Lab.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Nelson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <year>2016</year>
          .
          <article-title>ASP With Applications to Mazes and Levels</article-title>
          . In N. Shaker,
          <string-name>
            <given-names>J.</given-names>
            <surname>Togelius</surname>
          </string-name>
          , &amp; M. J. Nelson, eds.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Procedural</surname>
          </string-name>
          Content Generation in Games. Berlin, Heidelberg: Springer, pp.
          <fpage>143</fpage>
          -
          <lpage>158</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <year>2011</year>
          .
          <string-name>
            <given-names>A</given-names>
            <surname>Map Generation</surname>
          </string-name>
          <article-title>Speedrun with Answer Set Programming</article-title>
          .
          <source>Expressive Intelligence Studio Blog</source>
          . Available at: http://eis-blog.ucsc.edu/
          <year>2011</year>
          /10/map-generation-speedrun/.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andersen</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Mateas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <year>2012</year>
          .
          <article-title>A Case Study of Expressively Constrainable Level Design Automation Tools for a Puzzle Game</article-title>
          .
          <source>In International Conference on the Foundations of Digital Games</source>
          . Raleigh: ACM Press.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Mateas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <year>2011</year>
          .
          <article-title>Answer Set Programming for Procedural Content Generation : A Design Space Approach</article-title>
          .
          <source>IEEE Transactions on Computational Intelligence and AI</source>
          in Games,
          <volume>3</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>187</fpage>
          -
          <lpage>200</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Stark</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <year>2014</year>
          . Pocket Guide to American Freeform, CreateSpace Independent Publishing Platform.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <surname>Inkle</surname>
          </string-name>
          ,
          <year>2013</year>
          . Ink.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <string-name>
            <given-names>Unity</given-names>
            <surname>Technologies</surname>
          </string-name>
          ,
          <year>2004</year>
          . Unity 3D.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>