CS 673: Spring 2012
Game Designand Programming
(Game) Systems
System dynamics and systems literacy
2/14/2012 1Andy Nealen, Rutgers, 2012
Thinking in Systems
Donella Meadows
Andy Nealen, Rutgers, 2012 2/14/2012 2
“A system is a set of things—people, cells, molecules, or whatever—
interconnected in such a way that they produce their own pattern of
behavior over time.”
Donella Meadows
Andy Nealen, Rutgers, 2012 2/14/2012 3
“A system is an interconnected set of elements that is coherently
organized in a way that achieves something.”
Donella Meadows
Andy Nealen, Rutgers, 2012 2/14/2012 4
Andy Nealen, Rutgers, 2012 2/14/2012 5
Elements
Interconnections
Function/Purpose
Elements
Visible, tangible things
Volatile, variable resources (oil, wood, etc.)
Macro: roots, trunk, branches, leaves
Micro: cells, vessels, fluids, chloroplasts
University: buildings, students, professors, etc.
Intangibles
University pride, academic prowess, etc.
Human preference, happiness, fun, fear, etc.
Andy Nealen, Rutgers, 2012 2/14/2012 6
Interconnections
Cause and effect [If A, then B]
If [resource] is available, property costs rise
If fuel is used, character shrinks
Rules and policies are modeled this way
When interconnections change, the system may be greatly altered
Think of this as a graph
Changing connections changes graph topology
Andy Nealen, Rutgers, 2012 2/14/2012 7
Function/Purpose
Fulfills a need/desire
So many successful systems in nature that we have no hand in (or should not have a hand in)
Explicitly designed systems need to live up to these standards
Time based (dynamic) behavior
Fluctuation of elements (tangible/intangible stock)
Self- sustainability and stability under uncertainty
Andy Nealen, Rutgers, 2012 2/14/2012 8
More than the sum of its parts
Andy Nealen, Rutgers, 2012 2/14/2012 9
Kinds of systems
Mechanical systems
Car motors, co-op/versus video/board games, etc.
Social systems
Neighborhoods, co-op/versus video/board games, etc.
Games are both mechanical and social
Andy Nealen, Rutgers, 2012 2/14/2012 10
System graphs (1)
Andy Nealen, Rutgers, 2012 2/14/2012 11
Stock. (resource) Memory of the history of changing flows in the system
Delays, buffers, shock absorbers of a system
System graphs (2)
Andy Nealen, Rutgers, 2012 2/14/2012 12
System graphs (3)
Andy Nealen, Rutgers, 2012 2/14/2012 13
Game example
(Simplified) Osmos system
Andy Nealen, Rutgers, 2012 2/14/2012 15
Momentum
Size/mass
Food/motes
(Simplified) Osmos system
Andy Nealen, Rutgers, 2012 2/14/2012 16
Momentum
Size/mass
Food/motes
(Simplified) Osmos system
Andy Nealen, Rutgers, 2012 2/14/2012 17
Momentum
Size/mass
Food/motes
Stock
Tangible. size + food
Less tangible. Momentum
Osmos forms a closed system
Many games do this
But: also have a social layer/system
Feedback loops
Andy Nealen, Rutgers, 2012 2/14/2012 18
“A feedback loop is a closed chain of causal connections, from a stock
through a set of decisions or rules or physical laws or actions that are
dependent on the level of stock, and back again through a flow to change
the stock.”
Donella Meadows
Andy Nealen, Rutgers, 2012 2/14/2012 19
Balancing feedback loops
Aka “negative” feedback loops
Goal seeking or stability seeking
Mass spring systems (restoring spring forces)
Thermostat that tries to achieve target temperature
Cooling of hot beverage
Andy Nealen, Rutgers, 2012 2/14/2012 20
Game example
Reinforcing feedback loops
Aka “positive” (or runaway) feedback loops
Lead to exponential growth or runaway collapses over time
Game example: chess
If I lose pieces, I am more likely to lose(and vice versa)
Andy Nealen, Rutgers, 2012 2/14/2012 22
Game example
Andy Nealen, Rutgers, 2012 2/14/2012 23
Momentum
Size/mass
Food/motes
Osmos
Reduction of size as momentum is added is a balancing feedback loop
Increase in size as motes are consumed is a reinforcing feedback loop
They need to be in balance (hard!)
Single stock + two balancing loops
Andy Nealen, Rutgers, 2012 2/14/2012 24
Single stock + two balancing loops
Andy Nealen, Rutgers, 2012 2/14/2012 25
Single stock + two balancing loops
Andy Nealen, Rutgers, 2012 2/14/2012 26
Even simpler example: hot/cold shower
Does this look familiar?
Andy Nealen, Rutgers, 2012 2/14/2012 27
Does this look familiar?
Andy Nealen, Rutgers, 2012 2/14/2012 28
Time step in Euler integration
Depending on stiffness of ODE, smaller time step
rest length stretched
f(t) s(t)
s(t)
t
f(t) = k∙s(t)
t
Oscillations
Andy Nealen, Rutgers, 2012 2/14/2012 29t
Time step in Euler integration
Depending on stiffness of ODE, smaller time step
rest length stretched
f(t) s(t)
s(t)
t
f(t) = k∙s(t)To infinity!(eventually)
How to fix this? (1)
Andy Nealen, Rutgers, 2012 2/14/2012 30
How to fix this? (2)
Andy Nealen, Rutgers, 2012 2/14/2012 31
How to fix this? (3)
Andy Nealen, Rutgers, 2012 2/14/2012 32
Dynamic perception
We need (spacetime) contrast to perceive difference and change… and explore
But thinking in spatio-temporal system dynamics is not trivial since cause and effect is not always obvious
We are linear minds in a non-linear world
Most relations are not linear
Examples. soil erosion, material behavior, etc.
Andy Nealen, Rutgers, 2012 2/14/2012 33
Purpose/Meaning/Function
Andy Nealen, Rutgers, 2012 2/14/2012 34
Purpose of a system
Procedural rhetoric (Ian Bogost)
Procedurality. creating, explaining, or understanding processes. And processes definethe way things work
Rhetoric. effective and persuasive expression
Dynamical meaning (Jon Blow, MIGS 2008)
Anytime we set up a system of behavior, that system communicates something to the player, whether intentional or not.
Andy Nealen, Rutgers, 2012 2/14/2012 35
From Jon’s talk (1)
Andy Nealen, Rutgers, 2012 2/14/2012 36
Video games are not a traditional storytelling medium per se. The player is an agent of chaos, making the medium ill-equipped to convey a pre-authored narrative with anywhere near the effectiveness of books or film. Rather, a video game is a box of possibilities, and the best stories told are those that arise from the player expressing his own agency within a functional, believable gameworld…
Steve Gaynor from his blog Fullbright,July 27th, 2008:
From Jon’s talk (2)
Andy Nealen, Rutgers, 2012 2/14/2012 37
Frank Lantz (via email):
“...meaning which is less specific, less concrete and deliberate, harder to define, harder to pin down, a meaning that transcends the author-reader conduit model of ‘message’ style meaning, a meaning that absorbs intention but is not bound by it, a meaning that can't be reduced to a claim about the world, but is no less about the world because of it.”
Systems literacy
Analysis/redesign of existing systems
Hone ability to understand parts
See/understand interconnections
Ask “what if” questions about future behaviors
Be creative and courageous about system redesign
All of this becomes your toolbox as a designer
Find common abstractions of solved problems
We are amazing pattern recognizers. Use this!
Andy Nealen, Rutgers, 2012 2/14/2012 38
Tweaking and redesigning
Numbers. Double or halve your parameters
Buffers. Sizes of stocks/resources
Stock/flow structures.
Delays. Delay between cause and effect
Balancing/reinforcing feedback loops.
Information flows. What to render and hide?
Rules. Interconnection policies
Structure. The interconnections themselves
Andy Nealen, Rutgers, 2012 2/14/2012 39
Momentum in flOw is free (other interesting progress stucture though!)
Osmos system and flOw system
Andy Nealen, Rutgers, 2012 2/14/2012 40
Momentum
Size/mass
Food/motes
Momentum
Size/mass
Food/motes
Guidelines
Get the beat of the system (playtest!)
Expose your mental models to others
Pay attention to everything, even intangibles and aesthetics, and try to get a feel for how they influence system (social/mechanical) dynamics
Implement feedback policies for loops based on experience and playtesting (!!!)
Andy Nealen, Rutgers, 2012 2/14/2012 41
Further Reading
Meadows, Thinking in Systems
Hunicke et al., MDA
Salen/Zimmerman, Rules of Play
…
The world outside and all around you
Nope. Not kidding.
2/14/2012 42Andy Nealen, Rutgers, 2012