Top Banner
CS 672: Spring 2010 Game Programming and Design Rapid prototyping MDA framework Prototype design 1/28/2009 1 Andrew Nealen, Rutgers, 2010 http://experimentalgameplay.com/blog/games/
38

CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Nov 05, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

CS 672: Spring 2010

Game Programming

and Design

Rapid prototyping

MDA framework

Prototype design

1/28/2009 1Andrew Nealen, Rutgers, 2010

http://experimentalgameplay.com/blog/games/

Page 2: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

MDA Framework

Hunicke, LeBlanc, ZubekMDA: A Formal Approach to Game Design and Game Research

Andrew Nealen, Rutgers, 2010 1/28/2009 2

Page 3: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Games as SoftwareMDA Framework

Code

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 3Andrew Nealen, Rutgers, 2010

Page 4: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Games as SoftwareMDA Framework

Code Process

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 4Andrew Nealen, Rutgers, 2010

Page 5: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Code RequirementsProcess

Games as SoftwareMDA Framework

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 5Andrew Nealen, Rutgers, 2010

Page 6: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Code RequirementsProcess

Games as SoftwareMDA Framework

Rules

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 6Andrew Nealen, Rutgers, 2010

Page 7: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Code RequirementsProcess

Games as SoftwareMDA Framework

RulesGame

“Session”

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 7Andrew Nealen, Rutgers, 2010

Page 8: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Code RequirementsProcess

Games as SoftwareMDA Framework

Rules “Fun”Game

“Session”

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 8Andrew Nealen, Rutgers, 2010

Page 9: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

A Design VocabularyMDA Framework

Code RequirementsProcess

Rules “Fun”Game

“Session”

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 9Andrew Nealen, Rutgers, 2010

Page 10: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

RequirementsProcess

A Design VocabularyMDA Framework

Mechanics

“Fun”Game

“Session”

Mechanics

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 10Andrew Nealen, Rutgers, 2010

Page 11: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Requirements

A Design VocabularyMDA Framework

Mechanics Dynamics

“Fun”

Mechanics Dynamics

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 11Andrew Nealen, Rutgers, 2010

Page 12: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

A Design VocabularyMDA Framework

Mechanics AestheticsDynamicsMechanics AestheticsDynamics

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 12Andrew Nealen, Rutgers, 2010

Page 13: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

DefinitionsMDA Framework

� Mechanics: The rules and concepts that

formally specify the game-as-system.

� Dynamics: The run-time behavior of the

game-as-system.game-as-system.

� Aesthetics: The desirable emotional responses

evoked by the game dynamics.

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 13Andrew Nealen, Rutgers, 2010

Page 14: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

The Player’s PerspectiveMDA Framework

Mechanics AestheticsDynamics

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 14Andrew Nealen, Rutgers, 2010

Page 15: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

The Designer’s PerspectiveMDA Framework

Mechanics AestheticsDynamics

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 15Andrew Nealen, Rutgers, 2010

Page 16: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Aesthetics

� Emotional requirements of the Software

� Questions

� How to get past words like fun and gameplay ?� How to get past words like fun and gameplay ?

� What kinds of fun are there?

� How to recognize a particular kind of fun when we

see it?

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 16Andrew Nealen, Rutgers, 2010

Page 17: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

AestheticsEight Kinds of Fun

1. Sensation

Game as sense-pleasure

2. Fantasy

Game as make-believe

5. Fellowship

Game as social framework

6. Discovery

Game as uncharted territoryGame as make-believe

3. Narrative

Game as drama

4. Challenge

Game as obstacle course

7. Expression

Game as self-discovery

8. Submission

Game as pastime

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 17Andrew Nealen, Rutgers, 2010

Page 18: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

AestheticsClarifying Aesthetics

� Quake is fun.

� Final Fantasy is fun.

� Quake: Challenge, Sensation, Fantasy� Quake: Challenge, Sensation, Fantasy

� Final Fantasy: Fantasy, Narrative, Expression,

Discovery, Challenge

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 18Andrew Nealen, Rutgers, 2010

Page 19: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

AestheticsClarifying Goals

� As designers, one can choose certain

aesthetics as goals for the game design.

� As with other software, the process is driven

by requirements, not features.by requirements, not features.

� However, one word is not enough to describe

a goal.

Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 19Andrew Nealen, Rutgers, 2010

Page 20: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Dynamics and Mechanics

� Dynamics: state machine(s), feedback systems

� Mechanics:

� Shooters: Ammunition, Spawn Points

� Golf: Sand Traps, Water Hazards� Golf: Sand Traps, Water Hazards

� Mechanics vs. Dynamics

� Dynamics and Mechanics are different views of

games.

� Dynamics emerge from Mechanics.Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research

1/28/2009 20Andrew Nealen, Rutgers, 2010

Page 21: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Prototype design

Basic “how to”

Andrew Nealen, Rutgers, 2010 1/28/2009 21

Page 22: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Protoype Programming

� What is important

� Agility

� Quick rethinking of ideas and easy change

� Velocity

� Throw away and rebuild from scratch fast� Throw away and rebuild from scratch fast

� Try out many ideas very fast

� What is not important

� Robustness

� Elegance and/or optimal code (important later ☺)

� Do not fall in love with your idea and/or tech !

[Gingold 2006]

1/28/2009 22Andrew Nealen, Rutgers, 2010

Page 23: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Rapid Protoypingwww.experimentalgameplay.com

� Setup: “Rapid” is a State of Mind

� Embrace possibility of failure

� Develop in parallel

� Design: Creativity and “Myth of Brainstorming”

� Formal brainstorming = 0% success rate

� Gather art + music to create emotional target� Gather art + music to create emotional target

� Simulate in your head: pre-prototype the prototype

� Development: Nobody knows how you made it, and nobody cares

� Build the toy first

� Fake it. Nobody cares about your great engineering

� General Gameplay: Juicy Fun

� Complexity does not equal fun

� Create a sense of ownership for the player

� Build toward a well defined goal

1/28/2009 23Andrew Nealen, Rutgers, 2010

Page 24: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

� Shigeru Miyamoto:

� ... and Miyamoto himself would say that he did not want any documents. He would just say, "Find the fun, and I'll be back in three months to take a look at what you have."

Rapid ProtoypingFailure is not the end of the world

look at what you have."

� The „Lessons“

� Give yourself a short period of time to 'find the fun' in a design

� If the fun isn't there, move on

� If you do fail, it isn't the end of the world

[Lost Garden 2007]

1/28/2009 24Andrew Nealen, Rutgers, 2010

Page 25: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Examples (1)

� The Marriage

http://www.rodvik.com/rodgames/

1/28/2009 25Andrew Nealen, Rutgers, 2010

Page 26: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

� Situation:

� Need to keep both partners happy

Gameplay Mechanics (1)

� Takes some learning and „interpretation“

� Interaction is minimal, but very interesting

� „Winning“ is not as simple as it looks

1/28/2009 26Andrew Nealen, Rutgers, 2010

Page 27: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Examples (2)

� Osmos

http://www.hemispheregames.com

1/28/2009 27Andrew Nealen, Rutgers, 2010

Page 28: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

� Situation:

� Need to eat all , and travel by preservation of linear momentum

Gameplay Mechanics (2)

?

� Introduces trade-off (speed/direction vs. size)

� Ambient sound and visuals

� Small change in design = large difference in gameplay

� Compared to ?

?

1/28/2009 28Andrew Nealen, Rutgers, 2010

Page 29: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Examples (3)

� flOw

© Jenova Chen

1/28/2009 29Andrew Nealen, Rutgers, 2010

Page 30: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

� Situation:

� Need to eat and progress to in order to evolve

Gameplay Mechanics (3)

1/28/2009 30Andrew Nealen, Rutgers, 2010

Page 31: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Start with Abstraction (1)

� Situation:

� Need to get from to , while avoiding enemies

Problem (Trivial) Solution Other Solution

1/28/2009 31Andrew Nealen, Rutgers, 2010

Page 32: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Implementation Example (1)

� This principle is implemented in some games

� Example: Bioshock (August 2007)

© Irrational Games

1/28/2009 32Andrew Nealen, Rutgers, 2010

Page 33: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Start with Abstraction (2)

� Situation:

� Need to get from to , in possession of 2 „doors“

Problem (Trivial) Solution Other Solution

?

1/28/2009 33Andrew Nealen, Rutgers, 2010

Page 34: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Implementation Example (2)

� This principle is implemented in Narbacular

Drop, also known as Portal

© 2007 Valve

1/28/2009 34Andrew Nealen, Rutgers, 2010

Page 35: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Prototype vs. Final Game

� Prototype:

Tower of Goo

(Demo)

� Final:

World of Goo

(Video/Demo)

http://www.gamasutra.com/features/20051026/gabler_01.shtml

http://www.2dboy.com

1/28/2009 35Andrew Nealen, Rutgers, 2010

Page 36: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Abstraction vs. Actual Game

� Is an abstraction less playable and/or fun ?

DEMO� Discuss:

� Why is this still ok ? Is this still ok ?

� Familiar music, character, and/or setting ?

� Game balance is independent of rendering ?

� Player control is more important than visuals ?

1/28/2009 36Andrew Nealen, Rutgers, 2010

Page 37: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Ideas are Everywhere

� „Three Hundred“ Mechanicshttp://www.squidi.net/three/

� 400 Rules list� 400 Rules listhttp://www.theinspiracy.com/Current%20Rules%20Master%20List.htm

� Indie Game List(s)http://www.indiegames.com/play.htm

http://www.gametunnel.com/articles.php?id=620

1/28/2009 37Andrew Nealen, Rutgers, 2010

Page 38: CS 672: Spring 2010 Game Programming and Design fileGames as Software MDA Framework Code Hunicke, LeBlanc, Zubek. MDA: A Formal Approach to Game Design and Game Research Andrew Nealen,

Further Reading

� Rules of Play� Unit 1: Core Concepts (but the ideas are interspersed

throughout the book)

� The Chemistry Of Game Designhttp://www.gamasutra.com/view/feature/1524/the_chemistry_of_game_design.php?print=1

� Flow in Games� Flow in Gameshttp://jenovachen.com/flowingames/thesis.htm

� Library of Game Mechanics (page 385) http://acta.uta.fi/english/teos.phtml?11046

� MDA Frameworkhttp://www.cs.northwestern.edu/~hunicke/pubs/MDA.pdf

� Formal Abstract Design Tools http://www.gamasutra.com/view/feature/3357/formal_abstract_design_tools.php?print=1

1/28/2009 38Andrew Nealen, Rutgers, 2010