73
expressive intelligence studio UC Santa Cruz Mechanizing Exploratory Game Design Adam M. Smith

Mechanizing Exploratory Game Design (PhD Defense)

Embed Size (px)

Citation preview

Page 1: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio

UC Santa Cruz

Mechanizing Exploratory Game Design

Adam M. Smith

Page 2: Mechanizing Exploratory Game Design (PhD Defense)

MECHANIZATIONMusing on

Page 3: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Mechanized …

mechanized agriculturelabor reduction

mechanized warfareforce multiplication

mechanized reasoningabstraction

Page 4: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 5: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 6: Mechanizing Exploratory Game Design (PhD Defense)

AGENDADissertation Defense

Page 7: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Motivation Research Goals Background Theory Systems Evaluation Conclusion

Agenda

Page 8: Mechanizing Exploratory Game Design (PhD Defense)

MOTIVATION

Page 9: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 10: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Unfolding in branching time

Page 11: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 12: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

I’m a designer-programmer. I’m into exploratory game design. What do I want?

Tools for exploration

Page 13: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Faster/cheap/better feedback

Page 14: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Crafting during play

Page 15: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Design assistants

Page 16: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

There is a technical and practical intervention that advances each of these desires simultaneously.

Intervention

Page 17: Mechanizing Exploratory Game Design (PhD Defense)

RESEARCH GOALS

Page 18: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 19: Mechanizing Exploratory Game Design (PhD Defense)

BACKGROUND

Page 20: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Game design Design studies Computational creativity Symbolic AI

Interdisciplinary context

Page 21: Mechanizing Exploratory Game Design (PhD Defense)

Game design

Page 22: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 23: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Game design: Content generation (PCG)

Ludi (game generator)

Yavalath (generated game)

Infinite Mario Bros!

Tanagra

Page 24: Mechanizing Exploratory Game Design (PhD Defense)

Design studies

Page 25: Mechanizing Exploratory Game Design (PhD Defense)

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’

Page 26: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 27: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Design studies: Metacircularity

Jones (1979) Brooks (2010)

Page 28: Mechanizing Exploratory Game Design (PhD Defense)

Computational creativity

Page 29: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

… … Demonstrate artifact generators in human-

dominated creative domains Extreme generalization of PCG for games

Computational creativity: Goal(s)

Page 30: Mechanizing Exploratory Game Design (PhD Defense)

Symbolic AI

Page 31: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Discrete, named objects (symbol) vs. indistinct aggregates (int) vs. continuous flows (float)

Symbolic AI: Symbols

Page 32: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 33: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Planning Scheduling Theorem proving Constraint satisfaction Integer linear programming Satisfiability checking (SAT solving) …

Symbolic AI: Problems

Page 34: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 35: Mechanizing Exploratory Game Design (PhD Defense)

Zooming out…

Page 36: Mechanizing Exploratory Game Design (PhD Defense)
Page 37: Mechanizing Exploratory Game Design (PhD Defense)

THEORY

Page 38: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 39: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 40: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 41: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Design automation cycles

Page 42: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Guess an artifact description so that none of its deduced properties are forbidden, optionally optimizing a metric.

Modeling in AnsProlog

Page 43: Mechanizing Exploratory Game Design (PhD Defense)

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)

Page 44: Mechanizing Exploratory Game Design (PhD Defense)

SYSTEMS

Page 45: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Faster/cheaper/better feedback Biped

Crafting during play Variations Forever

Design assistance/assistants Refraction Tools

Systems Roadmap

Page 46: Mechanizing Exploratory Game Design (PhD Defense)

Biped

Page 47: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 48: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 49: Mechanizing Exploratory Game Design (PhD Defense)

Variations Forever

Page 50: Mechanizing Exploratory Game Design (PhD Defense)

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)

Page 51: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Variations Forever: Solution

Flash gameAnswer set solving

web service

Design space model

Mini-game design choices

Page 52: Mechanizing Exploratory Game Design (PhD Defense)

Refraction tools

Page 53: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 54: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Refraction tools: Solution (Puzzle Solver)

Puzzle Solution

Page 55: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 56: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

Aside: Controlling emergent style

Page 57: Mechanizing Exploratory Game Design (PhD Defense)

EMERGING RESULT!Two-level design spaces

Page 58: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 59: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio UC Santa Cruz

One-level ∃p, r: App(p,r)

Two-level

∃p, r : ( App(p,r) ⋀ (∀a : ¬Regret(p,a) ) )

Logical formalization

Page 60: Mechanizing Exploratory Game Design (PhD Defense)

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).

Page 61: Mechanizing Exploratory Game Design (PhD Defense)

EVALUATION

Page 62: Mechanizing Exploratory Game Design (PhD Defense)

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’

Page 63: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 64: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 65: Mechanizing Exploratory Game Design (PhD Defense)

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)

Page 66: Mechanizing Exploratory Game Design (PhD Defense)

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)

Page 67: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 68: Mechanizing Exploratory Game Design (PhD Defense)

CONCLUSION

Page 69: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 70: Mechanizing Exploratory Game Design (PhD Defense)
Page 71: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 72: Mechanizing Exploratory Game Design (PhD Defense)

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

Page 73: Mechanizing Exploratory Game Design (PhD Defense)

expressiveintelligencestudio

UC Santa Cruz

Thanks