<!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>Casual Creator Cursed Problems or: How I Learned to Start Worrying And Love Designers</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Adam Summerville</string-name>
          <email>asummerville@cpp.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ben Samuel</string-name>
          <email>bsamuel@cs.uno.edu</email>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>James Ryan</string-name>
          <email>jryan@carleton.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Liz England</string-name>
          <email>lizengland07@gmail.com</email>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>California State Polytechnic University</institution>
          ,
          <addr-line>Pomona</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Carleton College</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of New Orleans</institution>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>if Gossiper heard GossipedAboutAction and Gossipee didn't do GossipedAboutAction</institution>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Natural Language</institution>
        </aff>
        <aff id="aff5">
          <label>5</label>
          <institution>Simple Simulation</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>A cursed problem is a problem that contains a contradictory set of goals. In this discussion paper, we discuss the trials and tribulations behind trying to create a language for social simulation aimed at a casual (or at least non-programmer) audience, while also still appealing to ourselves and other more expert users.</p>
      </abstract>
      <kwd-group>
        <kwd>if Drinker is drunk and</kwd>
        <kwd>Drinker and Target don't like each other</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In his 2019 GDC talk
        <xref ref-type="bibr" rid="ref4">(Jaffe 2019)</xref>
        , Alex Jaffe defines a
cursed problem as a “problem with some inherent
contradiction in goals.” We propose that the construction of a casual
creator Domain Specific Language (DSL) for complex
phenomena is a cursed problem, and invite discussion towards
understanding how best to design a DSL that can be useful
and usable by designers – programming and non.
      </p>
      <p>
        In her dissertation
        <xref ref-type="bibr" rid="ref3">(Compton 2019)</xref>
        , Kate Compton
discusses Casual Creator (CC) programming languages and
discusses three components that CC programming
languages might (should?) have:
• Scaffolded – The output of the program should be visible
during editing, to speed the ‘grok’ loop
• Unfoldable – The language should have a compact form
that beginners can use, with advanced features available
for power users
• Little – The language has a compact vocabulary useful
for a small domain (as opposed to a general purpose
programming language like C, Javascript, or Python)
The authors of this paper have been developing a CC-like
DSL capable of producing worlds for social simulation title
Kismet
        <xref ref-type="bibr" rid="ref10">(Summerville and Samuel 2020)</xref>
        . Previous attempts
at social simulations have either relied on bespoke code in
a general purpose programming language
        <xref ref-type="bibr" rid="ref1 ref8">(Ryan et al. 2015;
Adams and Adams 2006)</xref>
        or DSL’s that are perhaps only
arguably human readable (the XML representation of Comme
il Faut
        <xref ref-type="bibr" rid="ref5">(McCoy et al. 2014)</xref>
        ). Taking inspiration from Inform
7
        <xref ref-type="bibr" rid="ref6">(Nelson 2006)</xref>
        the language in question uses natural
language like representation for constraints:
      </p>
      <p>
        but in practice, these designs do not necessarily hold up,
or at least not for all circumstances and users. The free text
nature does lend itself more to being a little language that
could exist inside of a more general purpose system, but it is
not enough for it to be little. The natural language aspect
enhances readability, but it hurts writability (E.g., is “doesn’t
like” equivalent to “dislikes”?) in that natural language is
not a formal language (Graham Nelson notes in his 2019
Narrascope talk (Nelson) “that the benefits [of natural
language] are double-edged. But they are real.”). Finally, while
the simple simulation is closer to something that can be
updated and shown in real time to a user, in practice even the
simplest of simulations takes at least a few seconds to run for
long enough to show interesting emergent properties, which
is much slower than the fraction of a second for something
like procedural text generated by Tracery
        <xref ref-type="bibr" rid="ref2">(Compton,
Kybartas, and Mateas 2015)</xref>
        .
      </p>
      <p>
        In looking to improve this language, we sought the
feedback of a professional game designer. The designer notes
that “a good tool removes cognitive overhead from the
designer and puts that information directly in the tool, so that
the designer can keep more of their focus on high level
design goals and not get bogged down with lower level
concerns like syntax or data setup, or even just remember what
the system can or cannot do.” In discussing syntax, the
designer states “My philosophy is that I don’t ever want to
have to worry about syntax. If I am spending time on
syntax, then I’m not spending time on design. If you think of
it like Maslow’s hierarchy of needs, syntax is the ’am I
being fed and clothed?’ layer, and I want to work on the
’selfactualization’ layer where all the interesting design is
happening.” The designer has expressed an interest in the
language being entirely behind the scenes, with interaction
being handled via its own one-off graphical editor (a la the
non-public editor for Comme il Faut). However, this goes in
contrast with the other goals – Free text explicitly and
Natural Language implicitly (as there is no reason for natural
language when the language is hidden from the designer). This
also goes in contrast to the goals of other designers such as
Reed
        <xref ref-type="bibr" rid="ref7">(Reed 2020)</xref>
        “Other tools were also unsuitable for
various reasons, such as requiring IDEs rather than support for
text files.” or Compton “the structure editor was a perversion
of what casual creators ought to be”
        <xref ref-type="bibr" rid="ref3">(Compton 2019)</xref>
        .
However, that is not to say that the idea of an editor is entirely
opposed, as Compton does go on to say “...but the constraint
of making JSON errors impossible was a necessary safety
support for a large percentage of my users.” I.e., the
limitations of a tool can be helpful if they also introduce useful
safety. Similarly, on the topic of simulation richness, an
expert in Social Simulation expressed that the expressiveness
of the simulation was not rich enough and needed higher
order modeling (e.g., agents being able to reason over
memories and form meta-memories where they reminisce about
those memories). The professional developer has noted that
the currently planned features are already too much: “I can
tell that once locations and more complex characters (with
roles, age, and other arbitrary defined information) are ready
to be implemented, I’m probably going to be lost.” But in
coming from a world of bespoke tooling for AAA games
they note, “I find that [the language] covers half my needs,
and the other half are a mix of missing functionality (now
that I have a specific use case) or extra functionality I don’t
need (because I can’t see what problems it solves).”
      </p>
      <p>This brings us back to the idea of a cursed problem – a
problem (in this case design goals) that have opposing goals.
Different users (the language authors, the non-programming
game designer, and a social simulation expert) each have
different features that are desirable (perhaps even necessary)
for them.
1. Free Text – Important for the authors and expert.
Unimportant for the designer.
2. Natural Language – Important for the author. Useful for
the designer for readability, but a hindrance for writability.</p>
      <p>Unimportant for the expert.
3. Simple Simulation – In some cases too complex for the
designer and in others not rich enough. Not rich enough
for the expert.</p>
      <p>Perhaps there is some set of tooling and foldability that
makes this Gordian knot cuttable, such that it is usable and
interesting to both a non-(to-lite)-programmer and a social
simulation expert, and that is what we would like to discuss.</p>
    </sec>
    <sec id="sec-2">
      <title>The Discussion</title>
      <p>We now note questions that we the authors have that we
think can lead to good discussion:
• Is this a cursed problem?
• Is there a way to please all (most?) users across a wide
range of programming comfort? (text editor for
programmers, Scratch-like GUI for beginners, drop-down boxes
for intermediate?)
• Is there a way to please all (most?) users across a wide
range of simulation desires?
• What human-in-the-loop accessible feedback can be
provided in real(ish) time for something that could take 5-100
seconds to generate?</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Adams</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Adams</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <year>2006</year>
          .
          <article-title>Dwarf fortress</article-title>
          .
          <source>Game [Windows</source>
          , Mac, Linux],
          <source>Bay</source>
          <volume>12</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Compton</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kybartas</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ; and Mateas,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <year>2015</year>
          .
          <article-title>Tracery: an author-focused generative text tool</article-title>
          .
          <source>In International Conference on Interactive Digital Storytelling</source>
          ,
          <fpage>154</fpage>
          -
          <lpage>161</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Compton</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <year>2019</year>
          .
          <article-title>Casual creators: Defining a genre of autotelic creativity support systems</article-title>
          . University of California, Santa Cruz.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Jaffe</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <year>2019</year>
          .
          <article-title>Cursed problems in game design</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>McCoy</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Treanor,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Samuel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ;
            <surname>Reed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. A.</given-names>
            ;
            <surname>Mateas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ; and
            <surname>Wardrip-Fruin</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <year>2014</year>
          .
          <article-title>Social story worlds with comme il faut</article-title>
          .
          <source>IEEE Transactions on Computational intelligence and AI in Games</source>
          <volume>6</volume>
          (
          <issue>2</issue>
          ):
          <fpage>97</fpage>
          -
          <lpage>112</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Nelson</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <year>2006</year>
          .
          <article-title>Natural language, semantic analysis, and interactive fiction</article-title>
          .
          <source>IF Theory Reader</source>
          <volume>141</volume>
          :
          <fpage>99</fpage>
          -
          <lpage>104</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Reed</surname>
            ,
            <given-names>A. A.</given-names>
          </string-name>
          <year>2020</year>
          .
          <article-title>A minimal syntax for quantum text</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Ryan</surname>
            ,
            <given-names>J. O.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Summerville</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Mateas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ; and WardripFruin,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <year>2015</year>
          .
          <article-title>Toward characters who observe, tell, misremember, and lie</article-title>
          .
          <source>In Eleventh Artificial Intelligence and Interactive Digital Entertainment Conference.</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Ryan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2018</year>
          .
          <article-title>Curating simulated storyworlds</article-title>
          .
          <source>Ph.D. Dissertation</source>
          , UC Santa Cruz.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Summerville</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Samuel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <year>2020</year>
          .
          <article-title>Kismet: a small social simulation language</article-title>
          . In Summerville,
          <string-name>
            <given-names>A.</given-names>
            , &amp;
            <surname>Samuel</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          (
          <year>2020</year>
          ,
          <article-title>September)</article-title>
          .
          <source>Kismet: a Small Social Simulation Language. In 2020 International Conference on Computational Creativity (ICCC)</source>
          .
          <source>(Casual Creator Workshop)</source>
          . ACC.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>