Mechanizing Exploratory Game Design (PhD Defense)

Preview:

Citation preview

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

Recommended