Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

2

Slide 3

Slide 3 text

3

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

5 Confluence

Slide 6

Slide 6 text

confluence of programming abstractions and interactive expression 6

Slide 7

Slide 7 text

Roadmap ! Imaginative Play Collaborative Play Generative Methods Tool Design 7

Slide 8

Slide 8 text

Roadmap ! Imaginative Play Collaborative Play Generative Methods Tool Design 8

Slide 9

Slide 9 text

“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

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

Hypothetical Reasoning 11

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

magic circles Adams & Rollings 2009 13

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

“magic” in digital games 15

Slide 16

Slide 16 text

16 inventory systems

Slide 17

Slide 17 text

17 verb/noun systems

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

19

Slide 20

Slide 20 text

20 Emergent Behavior

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

22 Simulationist Worlds

Slide 23

Slide 23 text

23 Inform 7

Slide 24

Slide 24 text

Roadmap ! Imaginative Play Collaborative Play Generative Methods Tool Design 24

Slide 25

Slide 25 text

25 Tabletop RPGs

Slide 26

Slide 26 text

Surrealist games 26

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

30 Blurring the lines between design tool and designed artifact

Slide 31

Slide 31 text

Roadmap ! Imaginative Play Collaborative Play Generative Methods Tool Design 31

Slide 32

Slide 32 text

32 AKA Procedural Content Generation (PCG)

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

Level Structure: Spelunky 34

Slide 35

Slide 35 text

Aesthetics: Secret Habitat 35

Slide 36

Slide 36 text

Dialogue: Prom Week 36

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

Oulipo 38

Slide 39

Slide 39 text

39

Slide 40

Slide 40 text

40

Slide 41

Slide 41 text

Lego 41

Slide 42

Slide 42 text

Compositionality 42

Slide 43

Slide 43 text

Combining Hypotheticals 43

Slide 44

Slide 44 text

Compositionality 44 Meaning Combination function

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

production grammars & rewrite systems 46

Slide 47

Slide 47 text

production grammars & rewrite systems 47

Slide 48

Slide 48 text

Context Freeness is a form of compositionality 48

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

Narrative 51

Slide 52

Slide 52 text

Vladimir Propp: Morhpology of the Folktale 52

Slide 53

Slide 53 text

53 Are stories compositional? + = ?

Slide 54

Slide 54 text

54

Slide 55

Slide 55 text

55 “18 Cadence” by Aaron Reed

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

60 symmetric monoidal categories

Slide 61

Slide 61 text

61

Slide 62

Slide 62 text

62 analogies for PCG

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

Mixed-initiative design: Sentient Sketchbook 64

Slide 65

Slide 65 text

Roadmap ! Imaginative Play Collaborative Play Generative Methods Tool Design 65

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

Twine 67

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

Tools that exist: Tracery 69

Slide 70

Slide 70 text

70 6 6¶ 6R6¶  U6R6¶    Q  /RJLF3URJUDP LQLWLDOVWDWH Ceptre

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

programming a blank canvas 72

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

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

Slide 75

Slide 75 text

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

Slide 76

Slide 76 text

76 programming in conversation with a system

Slide 77

Slide 77 text

CODA 77

Slide 78

Slide 78 text

<3 OBT <3 78

Slide 79

Slide 79 text

<3 OBT <3 2012 79

Slide 80

Slide 80 text

<3 OBT <3 2012 2014 80

Slide 81

Slide 81 text

Different Games : GDC :: OBT : POPL 81

Slide 82

Slide 82 text

DIFFERENT GAMES are the FUTURE OF GAMES - Clara Fernandez-Vara,
 Different Games 2013 82

Slide 83

Slide 83 text

OBT PL RESEARCH is the FUTURE OF PL RESEARCH 83

Slide 84

Slide 84 text

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

Slide 85

Slide 85 text

Extra Slides 85

Slide 86

Slide 86 text

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

Slide 87

Slide 87 text

87 PCG with ASP

Slide 88

Slide 88 text

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

Slide 89

Slide 89 text

storyteller 89

Slide 90

Slide 90 text

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

Slide 91

Slide 91 text

magic circles? Pfenning & Davies 2000 91