Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Operationalizing Creative Theories

Chris
January 24, 2016

Operationalizing Creative Theories

Hypothetical reasoning is one of the best interdisciplinary tools we have for growing human knowledge, as it exercises imagination and empathy while yielding powerful abstractions. Operationalizing hypothetical reasoning (via programming languages) can therefore be used fruitfully in creative, imaginative activities. Conversely, pre-digital techniques for adding spontaneity and serendipity into creative work, based on collaborative play, have inspired digital interfaces and might be fruitfully extended to programming languages. I will illustrate how hypothetical reasoning and collaborative play pair well together as guiding principles, and using them, I will describe a unified design space of computational artifacts for programming, proving, storytelling, playing, and generating computational artifacts.

Chris

January 24, 2016
Tweet

More Decks by Chris

Other Decks in Research

Transcript

  1. Operationalizing
    Creative Theories
    Chris Martens
    UC Santa Cruz
    Expressive Intelligence Studio
    OBT 2016
    1

    View Slide

  2. 2

    View Slide

  3. 3

    View Slide

  4. 4

    View Slide

  5. 5
    Confluence

    View Slide

  6. confluence of
    programming abstractions
    and
    interactive expression
    6

    View Slide

  7. Roadmap
    !
    Imaginative Play
    Collaborative Play
    Generative Methods
    Tool Design
    7

    View Slide

  8. Roadmap
    !
    Imaginative Play
    Collaborative Play
    Generative Methods
    Tool Design
    8

    View Slide

  9. “Imaginative play: [children] must practice pretending
    to be someone else, in another place. Making up
    character, plot, and dialogue, for the stories they
    invent. They are, in truth, inventing abstract thinking.”
    Vivian Gussin Paley, early education
    researcher:
    9

    View Slide

  10. 10

    View Slide

  11. Hypothetical Reasoning
    11

    View Slide

  12. Hypothetical Reasoning
    wizards are real,
    wizards can cast spells,
    “accio” is a spell that summons an object,

    !
    12

    View Slide

  13. magic circles
    Adams & Rollings 2009
    13

    View Slide

  14. other “magic circles:”
    !
    metacircular interpreters
    self-similarity & fractals
    recursion in general
    14

    View Slide

  15. “magic” in digital games
    15

    View Slide

  16. 16
    inventory systems

    View Slide

  17. 17
    verb/noun systems

    View Slide

  18. emergent behavior and surprise
    !
    a response for every conjuring of the
    imagination
    !
    game worlds in conversation with their
    players
    18

    View Slide

  19. 19

    View Slide

  20. 20
    Emergent Behavior

    View Slide

  21. 21
    Simulationist Worlds
    e.g.:
    glass can break into shards
    rope is cuttable
    shards are sharp
    =>
    glass can be broken to cut the rope

    View Slide

  22. 22
    Simulationist Worlds

    View Slide

  23. 23
    Inform 7

    View Slide

  24. Roadmap
    !
    Imaginative Play
    Collaborative Play
    Generative Methods
    Tool Design
    24

    View Slide

  25. 25
    Tabletop RPGs

    View Slide

  26. Surrealist games
    26

    View Slide

  27. 27
    Like programming languages, collaborative
    games are constrained affordances whose
    use results in a designed artifact.

    View Slide

  28. Chooser: decide among available rules
    Interpreter: what does the output mean?
    Interpreter: what do the rules mean?
    Co-creator: contribute rules
    28
    The Role of the Human

    View Slide

  29. Nomic
    [Peter Suber, 1982]
    29
    Game with self-modifying rules

    View Slide

  30. 30
    Blurring the lines between
    design tool and designed artifact

    View Slide

  31. Roadmap
    !
    Imaginative Play
    Collaborative Play
    Generative Methods
    Tool Design
    31

    View Slide

  32. 32
    AKA Procedural Content
    Generation (PCG)

    View Slide

  33. Spatial level structure
    Character attributes
    NPC Dialogue
    Items
    Aesthetic components (visuals, music)
    Narrative*
    Game Rules*
    33
    What kinds of things can we generate?

    View Slide

  34. Level Structure: Spelunky
    34

    View Slide

  35. Aesthetics: Secret Habitat
    35

    View Slide

  36. Dialogue: Prom Week
    36

    View Slide

  37. DESIGN FOR RECOMBINATION
    !
    [Gillian Smith, “An Analogue History of PCG”]
    37

    View Slide

  38. Oulipo
    38

    View Slide

  39. 39

    View Slide

  40. 40

    View Slide

  41. Lego
    41

    View Slide

  42. Compositionality
    42

    View Slide

  43. Combining Hypotheticals
    43

    View Slide

  44. Compositionality
    44
    Meaning Combination function

    View Slide

  45. Compositionality
    45
    With [[-]] typing, value, etc.

    View Slide

  46. production grammars
    & rewrite systems
    46

    View Slide

  47. production grammars
    & rewrite systems
    47

    View Slide

  48. Context Freeness
    is a form of compositionality
    48

    View Slide

  49. 49
    - Given a combined thing, its meaning can be
    determined by its parts
    !
    - Given an atomic thing, its meaning can be
    understood independently of what it can be
    combined with
    Two Views of Compositionality

    View Slide

  50. for any new domain we want to generate, the question
    becomes:
    !
    what are the Lego pieces?
    how do they compose?
    50

    View Slide

  51. Narrative
    51

    View Slide

  52. Vladimir Propp: Morhpology of the Folktale
    52

    View Slide

  53. 53
    Are stories compositional?
    + = ?

    View Slide

  54. 54

    View Slide

  55. 55
    “18 Cadence” by Aaron Reed

    View Slide

  56. 56
    A refinement of compositionality
    If A’s interface I(A) matches I(B), then
    I(A * B) is defined.
    e.g.: function composition

    View Slide

  57. 57
    E.g.
    A hates B
    A has
    weapon
    A murders B
    B dead
    B hates A
    A insults B
    B hates A A hates B

    View Slide

  58. 58
    E.g.
    A hates B
    A has
    weapon
    A murders B
    B dead
    B hates A
    A insults B
    B hates A A hates B

    View Slide

  59. B hates A
    59
    A hates B
    A has
    weapon
    B dead
    B hates A A hates B
    A murders B
    A insults B

    View Slide

  60. 60
    symmetric monoidal categories

    View Slide

  61. 61

    View Slide

  62. 62
    analogies for PCG

    View Slide

  63. 63
    Can an automated system come up with coherent recipes?
    Or coherent programs in a given PL?
    (program synthesis)

    View Slide

  64. Mixed-initiative design: Sentient Sketchbook
    64

    View Slide

  65. Roadmap
    !
    Imaginative Play
    Collaborative Play
    Generative Methods
    Tool Design
    65

    View Slide

  66. Tools that lots of people
    use are more fun when
    they’re compositional
    66

    View Slide

  67. Twine
    67

    View Slide

  68. Tools that exist: Tracery
    68
    http://www.crystalcodepalace.com/traceryTut.html

    View Slide

  69. Tools that exist: Tracery
    69

    View Slide

  70. 70
    6 6¶
    6R6¶

    U6R6¶


    Q

    /RJLF3URJUDP
    LQLWLDOVWDWH
    Ceptre

    View Slide

  71. …and compositional tools
    are more fun when other
    people can use them
    71

    View Slide

  72. programming a blank canvas
    72

    View Slide

  73. compiler
    73
    structure Foo =
    struct
    !
    fun fact 0 = 1
    | fact n =
    n * fact (n-1)
    !
    end
    REPL

    View Slide

  74. compiler
    74
    REPL
    fun fact 0 = 1
    | fact n =
    n * fact (n-1)
    fact : nat -> nat
    fun mapfact l =
    map fact l

    View Slide

  75. Agda emacs mode;
    interactive theorem provers
    75
    mixed-initiative compositional
    programming?

    View Slide

  76. 76
    programming in conversation
    with a system

    View Slide

  77. CODA
    77

    View Slide

  78. <3 OBT <3
    78

    View Slide

  79. <3 OBT <3
    2012
    79

    View Slide

  80. <3 OBT <3
    2012
    2014
    80

    View Slide

  81. Different Games : GDC
    ::
    OBT : POPL
    81

    View Slide

  82. DIFFERENT GAMES are the
    FUTURE OF GAMES
    - Clara Fernandez-Vara,

    Different Games 2013
    82

    View Slide

  83. OBT PL RESEARCH is the
    FUTURE OF PL RESEARCH
    83

    View Slide

  84. Chris Martens
    [email protected]
    @chrisamaphone
    http://www.cs.cmu.edu/~cmartens
    84
    THANKS!

    View Slide

  85. Extra Slides
    85

    View Slide

  86. 86
    top-down approaches:
    evolutionary, constraint, planning
    (methods of search)

    View Slide

  87. 87
    PCG with ASP

    View Slide

  88. Simulationist story generation:
    88
    Describe what characters are in the world & their
    relationships to one another
    !
    Describe what story events can do to change those
    relationships
    !
    Describe a termination condition
    !
    Press play

    View Slide

  89. storyteller
    89

    View Slide

  90. vi hart on structure:
    !
    "we understand the world and each other through the
    patterns we know, but it's also important to realize
    the structure is there, realize how invented it all is.
    !
    “that frees you to build new, more beautiful structures
    that communicate things there were no words for
    before, even if that new word might not be
    understood."
    90

    View Slide

  91. magic circles?
    Pfenning & Davies 2000
    91

    View Slide