expressiveintelligencestudio
UC Santa Cruz
Mechanizing Exploratory Game Design
Adam M. Smith
MECHANIZATIONMusing on
expressiveintelligencestudio UC Santa Cruz
Mechanized …
mechanized agriculturelabor reduction
mechanized warfareforce multiplication
mechanized reasoningabstraction
expressiveintelligencestudio UC Santa Cruz
Bicycles for the mind
“What a computer is to me is the most remarkable tool that we have ever come up with. It’s the equivalent of a bicycle for our minds.” -- Steve Jobs
expressiveintelligencestudio UC Santa Cruz
Not a fancy bicycle
More like a wheel Standard component with which to build tools Fundamentally changes the mechanics of friction
Three example vehicles
Reference theory & practice for building more
This dissertation
AGENDADissertation Defense
expressiveintelligencestudio UC Santa Cruz
Motivation Research Goals Background Theory Systems Evaluation Conclusion
Agenda
MOTIVATION
expressiveintelligencestudio UC Santa Cruz
“The goal of game design is meaningful play, but play is something that emerges from the functioning of the rules. As a game designer, you can never directly design play. You can only design the rules that give rise to it. Game designers create experience, but only indirectly.”
Games, interactivity, and indirection
Salen & Zimmerman 2003
expressiveintelligencestudio UC Santa Cruz
Unfolding in branching time
expressiveintelligencestudio UC Santa Cruz
Exploratory game design
zz
z
zz
zz
zz
z
zz
zz
z
z
z
z
zz
z
z zz
z
zz
zz z
Conventional designin familiar territory
Exploratory designin unfamiliar territory
z
z
z
z
z
zz
z
z
zz z
zz
zz
zz
z
zzz
z
z zz
z
z z
zzz
z
z
z
zz
zz
zzz
zz
zzzz
zzz
z
zz
z
expressiveintelligencestudio UC Santa Cruz
I’m a designer-programmer. I’m into exploratory game design. What do I want?
Tools for exploration
expressiveintelligencestudio UC Santa Cruz
Faster/cheap/better feedback
expressiveintelligencestudio UC Santa Cruz
Crafting during play
expressiveintelligencestudio UC Santa Cruz
Design assistants
expressiveintelligencestudio UC Santa Cruz
There is a technical and practical intervention that advances each of these desires simultaneously.
Intervention
RESEARCH GOALS
expressiveintelligencestudio UC Santa Cruz
Amplify human game designer creativity What is creativity? What is it after? How do you amplify it?
Support deep, play-time design automation Which parts of design can be folded into play? Can machines
carry out the required activity? How?
Demonstrate tools that respect design problems What is a design problem? How can a tool be receptive to a
design problem? What does a design tool do?
Research goals
BACKGROUND
expressiveintelligencestudio UC Santa Cruz
Game design Design studies Computational creativity Symbolic AI
Interdisciplinary context
Game design
expressiveintelligencestudio UC Santa Cruz
Prototyping: get feedback on design idea without building full
games Playtesting:
bring game into contact with players to expose what the designer is trying to design: play
Game design: Prototyping & Playtesting
expressiveintelligencestudio UC Santa Cruz
Game design: Content generation (PCG)
Ludi (game generator)
Yavalath (generated game)
Infinite Mario Bros!
Tanagra
Design studies
expressiveintelligencestudio UC Santa Cruz
Design studies: the “third culture”Culture Phenomenon of
studyAppropriate methods Values
Sciences The natural world Controlled experiment, classification, analysis
Objectivity, rationality, neutrality, and a concern for ‘truth’
Humanities Human experience Analogy, metaphor, evaluation
Subjectivity, imagination, commitment, and a concern for ‘justice’
Design The artificial world
Modeling, pattern-formation, synthesis
Practicality, ingenuity, empathy, and a concern for ‘appropriateness’
expressiveintelligencestudio UC Santa Cruz
Wicked problems Ill-definedness Primary generators Solution leading/focusing Reflective practice Problem framing/construction Double-loop learning Situational backtalk Satisficing Appropriateness Abductive/Appositional reasoning
Design studies: Vocabulary
expressiveintelligencestudio UC Santa Cruz
Design studies: Metacircularity
Jones (1979) Brooks (2010)
Computational creativity
expressiveintelligencestudio UC Santa Cruz
… … Demonstrate artifact generators in human-
dominated creative domains Extreme generalization of PCG for games
Computational creativity: Goal(s)
Symbolic AI
expressiveintelligencestudio UC Santa Cruz
Discrete, named objects (symbol) vs. indistinct aggregates (int) vs. continuous flows (float)
Symbolic AI: Symbols
expressiveintelligencestudio UC Santa Cruz
Relations between objects south_of(santa_cruz,seattle)
Truth, derivations, choice, preference city(santa_cruz). expensive(C) :- avg_home_price(C,P), P > 500000. { overcast }. #minimize { in_basket(Item):cost(Item,C)=C }.
Symbolic AI: Symbolic logic
expressiveintelligencestudio UC Santa Cruz
Planning Scheduling Theorem proving Constraint satisfaction Integer linear programming Satisfiability checking (SAT solving) …
Symbolic AI: Problems
expressiveintelligencestudio UC Santa Cruz
Termination and completeness Heuristics Consistency and propagation Constraint learning
Automatically learning implied constraints from common dead-ends in search space
Randomness and restarts
Symbolic AI: Solutions
Zooming out…
THEORY
expressiveintelligencestudio UC Santa Cruz
Design space: the set of artifacts that a designer knows to be
appropriate to their best understanding of a design scenario
Generative space: the set of artifacts a generative process might
foreseeably generate
How do you make these coincide?
Design space vs. Generative space
expressiveintelligencestudio UC Santa Cruz
Constructivity Expresses complete configuration of artifacts Supports automatic artifact generation
Constraint Expresses form constraints (local/global) Expresses function constraints (exist/forall)
Evolution Supports iterative development (elaboration tolerance) Supports automatic learning and/or repair of constraints
Analysis Supports justification of appropriateness Supports diagnosis of externally specified artifacts
KR Requirements for Design Spaces Models
expressiveintelligencestudio UC Santa Cruz
Answer Set Programming (ASP) … is a declarative logic programming paradigm
focused on complex (NP and NPNP) combinatorial search and optimization problems.
Pro: derived from KR research high-performance, complete search algorithms
Con: strong symbolic bias
Means of mechanization
expressiveintelligencestudio UC Santa Cruz
Design automation cycles
expressiveintelligencestudio UC Santa Cruz
Guess an artifact description so that none of its deduced properties are forbidden, optionally optimizing a metric.
Modeling in AnsProlog
expressiveintelligencestudio UC Santa Cruz
Which two numbers multiply to 42?Of those, which pair has the smallest sum?
AnsProlog code:% guess a pair of numbers2{ picked(1..42) } 2.% derive their productproduct_ok :- picked(A), picked(B), A*B==42.% forbid lack of correct product:- not product_ok.% optimize (weighted) sum#minimize [ picked(N)=N ].
Modeling in AnsProlog (2)
SYSTEMS
expressiveintelligencestudio UC Santa Cruz
Faster/cheaper/better feedback Biped
Crafting during play Variations Forever
Design assistance/assistants Refraction Tools
Systems Roadmap
Biped
expressiveintelligencestudio UC Santa Cruz
Human game players are unreliable and expensive, but they provide unique insights
Machine game players are reliable, cheap and customizable, but they are inaccessible to designers
I want a new kind of prototyping/playtesting with the best of both, and it better not require a PhD to use!
Biped: Problem
expressiveintelligencestudio UC Santa Cruz
Ludocore/Biped: Solution
Queryable formal model
Game idea (in designer’s mind)
Game sketch (in custom logic language)
Human-playable prototype
Variations Forever
expressiveintelligencestudio UC Santa Cruz
Games with recombinant rule/content mechanics are interesting, but most are flakey
Can we make a game with variable rules and retain control over emergent results?
Variations Forever: Problem
ROM CHECK FAIL (Farbs 2008)
expressiveintelligencestudio UC Santa Cruz
Variations Forever: Solution
Flash gameAnswer set solving
web service
Design space model
Mini-game design choices
Refraction tools
expressiveintelligencestudio UC Santa Cruz
Given: pre-existing game design
We want to design new levels
We want to understand old levels
We want infrastructure for deeply-generative sequel
Refraction tools: Problem
Refraction gameplay
expressiveintelligencestudio UC Santa Cruz
Refraction tools: Solution (Puzzle Solver)
Puzzle Solution
expressiveintelligencestudio UC Santa Cruz
Refraction tools: Solution (Puzzle Generator)
Expressions: “((1/2)/2)”, “(1/2)+(1/4)”, “(1/4)+(1/4)”, Parameters: 24 blockers, 7 benders, 7 distractors
Space-embedded puzzle
expressiveintelligencestudio UC Santa Cruz
Aside: Controlling emergent style
EMERGING RESULT!Two-level design spaces
expressiveintelligencestudio UC Santa Cruz
On a Go board, how can I place 5 black stones so that it takes you 7 white stones to link them into a network?
Two-level design spaces: Problem
expressiveintelligencestudio UC Santa Cruz
One-level ∃p, r: App(p,r)
Two-level
∃p, r : ( App(p,r) ⋀ (∀a : ¬Regret(p,a) ) )
Logical formalization
expressiveintelligencestudio UC Santa Cruz
Two-level design spaces: Code
% parameterswidth(5).num_black(5).num_white(7).
% grid setuppos((1..X,1..Y)) :- width(X;Y).step(1;-1,0;;0,1;-1).adj((X,Y),(X+DX,Y+DY)) :- step(DX,DY), pos((X,Y);(X+DX,Y+DY)).
% guess black placementN { black(X) : pos(X) } N :- num_black(N).:- not black((1,1)).
% guess white placement{ white(X) : pos(X) }.:- black(X), white(X).
% deduce if solvedroot((1,1)) :- width(W).sel(X) :- black(X).sel(X) :- white(X).connected(X) :- root(X), black(X).connected(Y) :- connected(X), adj(X,Y), sel(Y).wconn(X) :- connected(X), white(X).solved :- num_black(NB), NB { bconn(X) }.
% deduce if used enough piecesbconn(X) :- connected(X), black(X).enough :- num_white(NW), NW { wconn(X) }.
% deduce designer regretregret :- solved, not enough.
% setup two-level metaproblem#meta conformant(black(X)):pos(X).#meta unsafe(reget).
EVALUATION
expressiveintelligencestudio UC Santa Cruz
Practicality: does it work? Ingenuity: is there something new here? Empathy: am I connecting with designer-programmers?
Design evaluationCulture Phenomenon of
studyAppropriate methods Values
Design The artificial world Modeling, pattern-formation, synthesis
Practicality, ingenuity, empathy, and a concern for ‘appropriateness’
expressiveintelligencestudio UC Santa Cruz
Game design undergrads with no symbolic logic background could learn, use, and extend the tool PhD not required!
“Structural queries” often didn’t require deep model of play Extract ASP as general PCG method
Declarative, interactive graphics were interesting for gameplay prototypes Need to explore up more, mechanize mapping
Biped: Backtalk
expressiveintelligencestudio UC Santa Cruz
Online integration approach was quite reusable Reused in RoleModel, Anza Island, Refraction, more…
Design space is closely tied to engine, engine not exposing enough control (recurring in Game-o-Matic project) Shifted bottleneck away from ruleset invention We need a new kind of engine for this kind of game!
Surprising dynamics from seemingly well-known mechanics Indirect pushing dynamics:
Variations Forever: Backtalk
expressiveintelligencestudio UC Santa Cruz
New solver was order of magnitude smaller and quickly returned results for puzzles unsolvable by original tools. Both are great for design; came from AI advances
New solver afforded rich control over the kind of solution to look for Solver is now reliable analysis power tool
Solver is much simpler than actual game but 100% faithful to original mechanics We can use it to prototype new variations!
Refraction tools: Backtalk (Puzzle Solver)
expressiveintelligencestudio UC Santa Cruz
We care about style, deeply. Continue to expand formal encodings of our
aesthetic concerns
We wanted something other than mission generation and grid embedding. Seek control over all solutions, not just reference
solution
Refraction tools: Backtalk (Puzzle Generator)
expressiveintelligencestudio UC Santa Cruz
ASP was weak on expressing NPNP problems. Working with Potassco team to disseminate new,
modeling language feature
Most complexity in my past ASP projects was involved in carefully modeling space of play as a deducible property of artifact. Now easy to model maze design without
describing bounded reachability analysis
Two-level design spaces: Backtalk
CONCLUSION
expressiveintelligencestudio UC Santa Cruz
I’ve advanced a practical, novel, and accessible design practice.
I have developed a comprehensive and new perspective on the nature of design for interactive artifacts.
Contributions
expressiveintelligencestudio UC Santa Cruz
Two-level design spaces Further develop models and explanations of design
for inherently-interactive artifacts Integration infrastructure
Tighten gap between design spaces and artifact-consuming systems
Broader base of modeling examples Develop reference material and supporting utilities
that bring others up to speed without reading a doctoral dissertation.
Future work
expressiveintelligencestudio UC Santa Cruz
By designing design within broad context, I hope to offer new insights and new opportunities for mechanizing design beyond games.
I hope the treatment of interactivity (particularly in two-level design space models) prompts a reevaluation of artifact generators for domains that are not so obviously interactive. All art is interactive.
Epilogue
expressiveintelligencestudio
UC Santa Cruz
Thanks