=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== https://ceur-ws.org/Vol-2282/EXAG_118.pdf
           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.