=Paper=
{{Paper
|id=Vol-3217/paper15
|storemode=property
|title=Casual Creator Cursed Problems or: How I Learned to Start Worrying And Love Designers
|pdfUrl=https://ceur-ws.org/Vol-3217/paper15.pdf
|volume=Vol-3217
|authors=Adam Summerville,Ben Samuel,James Ryan,Liz England
|dblpUrl=https://dblp.org/rec/conf/aiide/SummervilleSRE21
}}
==Casual Creator Cursed Problems or: How I Learned to Start Worrying And Love Designers==
Casual Creator Cursed Problems or:
How I Learned to Start Worrying And Love Designers
Adam Summerville1 , Ben Samuel2 , James Ryan3 , Liz England
1
California State Polytechnic University, Pomona,
2
University of New Orleans,
3
Carleton College,
asummerville@cpp.edu, bsamuel@cs.uno.edu, jryan@carleton.edu, lizengland07@gmail.com
Abstract if Drinker is drunk and
Drinker and Target don’t like each other
A cursed problem is a problem that contains a contra-
dictory set of goals. In this discussion paper, we discuss or
the trials and tribulations behind trying to create a lan-
guage for social simulation aimed at a casual (or at least if Gossiper heard GossipedAboutAction and
non-programmer) audience, while also still appealing to Gossipee didn’t do GossipedAboutAction
ourselves and other more expert users.
With the intention being the construction of a DSL that
hits the following design goals:
Introduction 1. Free Text – Can be edited in anything that can edit text
In his 2019 GDC talk (Jaffe 2019), Alex Jaffe defines a (Word, Notepad, Atom, GMail, IRC, etc.) and does not
cursed problem as a “problem with some inherent contradic- require a special editor
tion in goals.” We propose that the construction of a casual 2. Natural Language – The act of writing rules is closer to
creator Domain Specific Language (DSL) for complex phe- writing prose than a standard programming language
nomena is a cursed problem, and invite discussion towards
understanding how best to design a DSL that can be useful 3. Simple Simulation – Instead of simulating the complete
and usable by designers – programming and non. richness of human (or inhuman) society, the language is
In her dissertation (Compton 2019), Kate Compton dis- designed for “apophenia hacking” (Ryan 2018) wherein
cusses Casual Creator (CC) programming languages and humans use their innate pattern matching skills to read
discusses three components that CC programming lan- more into it than there might be
guages might (should?) have: These designs seemingly hit on some of the points set
• Scaffolded – The output of the program should be visible forth by Compton
during editing, to speed the ‘grok’ loop • Free Text → Little
• Unfoldable – The language should have a compact form • Natural Language → Unfoldable
that beginners can use, with advanced features available
for power users • Simple Simulation → Scaffolded
• Little – The language has a compact vocabulary useful but in practice, these designs do not necessarily hold up,
for a small domain (as opposed to a general purpose pro- or at least not for all circumstances and users. The free text
gramming language like C, Javascript, or Python) nature does lend itself more to being a little language that
could exist inside of a more general purpose system, but it is
The authors of this paper have been developing a CC-like
not enough for it to be little. The natural language aspect en-
DSL capable of producing worlds for social simulation title
hances readability, but it hurts writability (E.g., is “doesn’t
Kismet (Summerville and Samuel 2020). Previous attempts
like” equivalent to “dislikes”?) in that natural language is
at social simulations have either relied on bespoke code in
not a formal language (Graham Nelson notes in his 2019
a general purpose programming language (Ryan et al. 2015;
Narrascope talk (Nelson) “that the benefits [of natural lan-
Adams and Adams 2006) or DSL’s that are perhaps only ar-
guage] are double-edged. But they are real.”). Finally, while
guably human readable (the XML representation of Comme
the simple simulation is closer to something that can be up-
il Faut (McCoy et al. 2014)). Taking inspiration from Inform
dated and shown in real time to a user, in practice even the
7 (Nelson 2006) the language in question uses natural lan-
simplest of simulations takes at least a few seconds to run for
guage like representation for constraints:
long enough to show interesting emergent properties, which
Copyright © 2021for this paper by its authors. Use permitted under is much slower than the fraction of a second for something
Creative Commons License Attribution 4.0 International (CC BY like procedural text generated by Tracery (Compton, Kybar-
4.0). tas, and Mateas 2015).
In looking to improve this language, we sought the feed- designer and in others not rich enough. Not rich enough
back of a professional game designer. The designer notes for the expert.
that “a good tool removes cognitive overhead from the de-
Perhaps there is some set of tooling and foldability that
signer and puts that information directly in the tool, so that
makes this Gordian knot cuttable, such that it is usable and
the designer can keep more of their focus on high level de-
interesting to both a non-(to-lite)-programmer and a social
sign goals and not get bogged down with lower level con- simulation expert, and that is what we would like to discuss.
cerns like syntax or data setup, or even just remember what
the system can or cannot do.” In discussing syntax, the de-
signer states “My philosophy is that I don’t ever want to
The Discussion
have to worry about syntax. If I am spending time on syn- We now note questions that we the authors have that we
tax, then I’m not spending time on design. If you think of think can lead to good discussion:
it like Maslow’s hierarchy of needs, syntax is the ’am I be- • Is this a cursed problem?
ing fed and clothed?’ layer, and I want to work on the ’self-
actualization’ layer where all the interesting design is hap- • Is there a way to please all (most?) users across a wide
pening.” The designer has expressed an interest in the lan- range of programming comfort? (text editor for program-
guage being entirely behind the scenes, with interaction be- mers, Scratch-like GUI for beginners, drop-down boxes
ing handled via its own one-off graphical editor (a la the for intermediate?)
non-public editor for Comme il Faut). However, this goes in • Is there a way to please all (most?) users across a wide
contrast with the other goals – Free text explicitly and Natu- range of simulation desires?
ral Language implicitly (as there is no reason for natural lan- • What human-in-the-loop accessible feedback can be pro-
guage when the language is hidden from the designer). This vided in real(ish) time for something that could take 5-100
also goes in contrast to the goals of other designers such as seconds to generate?
Reed (Reed 2020) “Other tools were also unsuitable for var-
ious reasons, such as requiring IDEs rather than support for
text files.” or Compton “the structure editor was a perversion
References
of what casual creators ought to be” (Compton 2019). How- Adams, T., and Adams, Z. 2006. Dwarf fortress. Game
ever, that is not to say that the idea of an editor is entirely [Windows, Mac, Linux], Bay 12.
opposed, as Compton does go on to say “...but the constraint Compton, K.; Kybartas, B.; and Mateas, M. 2015. Trac-
of making JSON errors impossible was a necessary safety ery: an author-focused generative text tool. In Interna-
support for a large percentage of my users.” I.e., the limita- tional Conference on Interactive Digital Storytelling, 154–
tions of a tool can be helpful if they also introduce useful 161. Springer.
safety. Similarly, on the topic of simulation richness, an ex- Compton, K. 2019. Casual creators: Defining a genre of au-
pert in Social Simulation expressed that the expressiveness totelic creativity support systems. University of California,
of the simulation was not rich enough and needed higher
Santa Cruz.
order modeling (e.g., agents being able to reason over mem-
ories and form meta-memories where they reminisce about Jaffe, A. 2019. Cursed problems in game design.
those memories). The professional developer has noted that McCoy, J.; Treanor, M.; Samuel, B.; Reed, A. A.; Mateas,
the currently planned features are already too much: “I can M.; and Wardrip-Fruin, N. 2014. Social story worlds with
tell that once locations and more complex characters (with comme il faut. IEEE Transactions on Computational intel-
roles, age, and other arbitrary defined information) are ready ligence and AI in Games 6(2):97–112.
to be implemented, I’m probably going to be lost.” But in
Nelson, G. Opening inform.
coming from a world of bespoke tooling for AAA games
they note, “I find that [the language] covers half my needs, Nelson, G. 2006. Natural language, semantic analysis, and
and the other half are a mix of missing functionality (now interactive fiction. IF Theory Reader 141:99–104.
that I have a specific use case) or extra functionality I don’t Reed, A. A. 2020. A minimal syntax for quantum text.
need (because I can’t see what problems it solves).”
This brings us back to the idea of a cursed problem – a Ryan, J. O.; Summerville, A.; Mateas, M.; and Wardrip-
problem (in this case design goals) that have opposing goals. Fruin, N. 2015. Toward characters who observe, tell, mis-
Different users (the language authors, the non-programming remember, and lie. In Eleventh Artificial Intelligence and
game designer, and a social simulation expert) each have dif- Interactive Digital Entertainment Conference.
ferent features that are desirable (perhaps even necessary) Ryan, J. 2018. Curating simulated storyworlds. Ph.D. Dis-
for them. sertation, UC Santa Cruz.
1. Free Text – Important for the authors and expert. Unim- Summerville, A., and Samuel, B. 2020. Kismet: a small
portant for the designer. social simulation language. In Summerville, A., & Samuel,
B.(2020, September). Kismet: a Small Social Simulation
2. Natural Language – Important for the author. Useful for
Language. In 2020 International Conference on Computa-
the designer for readability, but a hindrance for writability.
tional Creativity (ICCC).(Casual Creator Workshop). ACC.
Unimportant for the expert.
3. Simple Simulation – In some cases too complex for the