Sunday, July 1, 2012

Building Tight Game Systems of Cause and Effect

To play a game well, a player must master a mental model of cause and effect.  You learn that pressing a specific button moves you forward.  You figure out that a sequence of controller moves lets you dodge a fired rocket.  You observe a slight pause before an enemy attack and theorize that you could fire off a headshot at that exact moment.  At each stage of learning, you create a hypothesis, test it via your actions and refine your mental models of the whirring black box at the heart of the game.

This escalating refinement and mastery of new mental models and tools is essential to what makes many a game enjoyable. Such mastery obviously depends on the player.  Yet it also is dependent on the designer and the systems they build.  You can accidentally create a broken black box. 

Not all systems are readily amenable to the intuitive formation of models of cause and effect. As a game designer, it is your job to create systems that are intriguing to master without being completely baffling. If the system is too predictable, it becomes boring. If it is not predictable at all we assume that the system is either random or spiritual in nature. Both of these are failure conditions if you are attempting to encourage mastery.

Tight and Loose systems

I am a mechanic who fixes broken black boxes. One importance concept that has served me well is to think of the relationship between systems and the feedback the game uses to describe interactions with the systems as either ‘tight’ or ‘loose’. A tight system has clearly defined cause and effect. A loose system make is more difficult to distinguish cause and effect relationships.

There is no correct ‘tightness’ of a loop. However there are clear methods of increasing either the tightness or the looseness.

Techniques for adjusting tightness

For your reading pleasure, I've put together a list of tools that I use to tweak a system's tightness.  Not all are applicable to any given system but all of them should be part of an expert designer's toolkit.  Some of the tools are worthy of dedicated books so I apologize up front for any obvious shallowness.  For example, probability has so many subtle flavors that some designers devote their lives to studying how it impacts a player's ability to predict outcomes.  At best this is an overview.

To tighten a system, I'm making the cause and effect more obvious.  To loosen a system, I'm making the connection between cause and effect less obvious.

Strength of Feedback

Tighter: Multiple channels of aligned feedback such as color, animation, sound, and touch that reinforce one another.  The classic example is Peggle which uses particles, rainbows, Ode to Joy and time dilation to let you know that yes, the match is over and glorious points are being scored.
  • Am I using all the potential channels I need to make an impact?
  • Is the feedback sequenced correctly so that player can read it clearly?
  • Does the feedback leverage an existing mental schema so that becomes more impactful?
Looser: One channel of feedback that is weakly evident.  In multiplayer FPS games often the only sense that you have that another player is near comes from the faint patter of their footsteps.   Expert players gain immense satisfaction from being able to predict the location of their opponent by combining knowledge of the levels with tiny hints of where they might be. 
  • Does the feedback have nuance that is not readily understandable upon casual inspection?
  • Can the feedback be combined with other non-obvious information to give a clear picture to an expert user?
Space Giraffe

Tighter: A clear signal of effect that is related to the cause.
  • What is the most important piece of information the player needs right now?
  • Have I removed extraneous elements that distract the player's attention?
  • Is my feedback at the center of the player's attention? 
Looser: A multiplicity of conflicting, attention sapping signals, which are not related to cause. One of the critical skills in Jeff Minter’s Space Giraffe is learning to see through the visual noise of the psychedelic backgrounds.
  • Are there ambient elements I can add that distract, but don't annoy?
  • Can noise create a perceptual puzzle for the player?
Sensory type
Assassin's Creed 3:  Nice use of contrast and perspective

Tighter: Visually or tactile feedback is often more clearly perceived.  Consider the many billions of dollars spent on improving visual feedback each year so that we can demonstrate the visceral impact of a players bullet on simulated flesh with ever greater fidelity.  Tight visual feedback is highly functional; it communicates the effect to the player in an elegant efficient fashion.  It is not just about making pretty pictures. In a recent update of Triple Town, we changed the color scheme so that the background was the same general value as the foreground objects.  The result was attractive, but players were pissed because the icons weren't nearly as visible as before.
  • Am I using good visual design such as color, motion, contrast, line, white space, shadow, volume, perspective so that my visuals read clearly?
  • Did I make something pretty when I needed something functional?
  • What feedback is functional and what is evocative or aesthetic?
  • Am I over investing in visual feedback?
Looser: Auditory and smell are less clearly perceived.  Not as much has been done here, but due to the looseness that come such systems it would seem that there are potential systems of mastery.  It is perhaps ironic that most music games, a topic typically associated with auditory mastery, can be played with the sound turned off. 

Tapping Existing Mental Models
Plants vs Zombies

Tighter: Closely map the theme, feedback and system to existing mental models.  Due to decades of exposure to pop culture, players know how zombies move and that they should be avoided.  One means of quickly communicating the dozens of variables in a particular slow moving group of monsters is to label them 'zombies'.

  • What is the cartoon model that players have in their heads (vs the 'realistic model of how the real world works)?
  • Does my theme support my mechanics?
  • Does my theme inspire useful variations on my core mechanics?
  • Am I engaging in the cardinal sin of watering down my mechanics to fit the theme?

Looser: Step away from existing models and introduce the player to new systems that they've never experienced.  Consider the metaphors involved in Tetris.  Falling elements are something our brain can process as reasonably familiar.  Tetriminos that you fit into lines that disappear to earn points while Russian music plays?  That doesn't fit any known metaphor that I know, yet it results in a great game.

  • At what point do I no longer need a gateway schema and the game can stand on its own internal consistency?
  • Are there opportunities for surrealism or intentional disorientation?
  • Can we step away from cliches to synthesis fresh experiences?

Advance Wars:  Limited units and small numbers. 

Tighter: Discrete states or low value numbers. Binary is the tightest. For example, recently we were playing with units moving a various speeds.  By making them move a 1, 2, and 4 tiles/sec, it suddenly became very obvious to the player how each unit type was distinct.  This is one of my favorite techniques for getting unruly systems under control. 
  • What is the minimum number of values that I need to create meaningful choices?
  • Can player clearly distinguish between the effect of each increment in value?
  • What would happen if I had to reduce this variable to 3 discrete values?
Looser: Analogue values or very high value numbers. For example, in Angry Birds, you can give your bird a wide range of angles and velocities.  This makes the results surprisingly uncertain.  Think of how predictable (and boring) the game would be if you could only pick 2 distinct angles and velocities. 
  • Do I have enough range that players can play creatively?
  • Do my values add interesting uncertainty to choices?
Diablo Loot Pacing

Tighter: Short time lapses between cause and effect.  When creating mouse over boxes like you find in Diablo, a common mistake is to add a delay between when the mouse is over the inventory item and when the hover dialog appears. If the delay is too short, the hover dialog pops up when the player doesn't expect it.  If the delay is too long, the dialog feels laggy and non-responsive. (In my experience, 200ms seems ideal.  That's right inside the perception gap where you've decided to do something, but your conscious mind hasn't quite caught up) 
  • Where does the game play lag?
  • What happens if I speed timing up? 
  • What happens if slow timing down?
  • What systems allow me to vary timing in an indirect fashion?
  • Am I adjusting pacing using manual content arcs when I could instead use with algorithmic loops?
Looser: Long time lapses between cause and effect. Too long and the player misses that there is an effect at all. Imagine an RPG where you have a switch and a timer.  If you hit the switch, a door opens 60 seconds later.  Surprisingly few people will figure out that the door is linked to the switch.  On the other hand, early investment in industry in Alpha Centauri resulted in alien attacks deep in the end game.  This created a richer system of interesting trade off for players to manipulate over a long time span. 
  • What are the longer loops in the game?
  • Are there long burning effects that cause players to reconsider their models for long term play loops? 
Castlevania Medusa movement (via Kotaku) 

Tighter: Linearly increasing variables are more predictable. Consider the general friendliness of throwing a sword in a straight line in Zelda versus catching an enemy with an arcing boomerang while moving.
  • What happen if I simplify the model and make the reaction linear?
  • How can I remove non-linear systems from early gameplay?
Looser: Non-linearly increasing variables, less so. The Medusa heads in Castlevania pose a surprisingly difficult challenge to many players because tracking them breaks the typical expectation linear movement.  Even something as commonplace as gravity throws most people off their game.  After all, it took thousands of years before we figured out how to accurately land an artillery shell. 
  • What systems are exponential in nature?
  • How do I constrain my non-linear systems so they are predictable?
  • How do I create interestingly chaotic behavior via feedback loops?

Tighter: Primary effects where the cause is directly related to the effect. In Zelda again, the primary attack is highly direct. You press a button, the sword swings out and a nearby enemy is hit. 
  • What systems can I remove to make the results of an action more obvious?
  • Is my cognitive load high enough?
Looser: Secondary effects where the cause triggers a secondary (or tertiary) system that in turn triggers an effect. Simulations and AI's are notorious for rapidly become indecipherable due to numerous levels of indirection.   In a game of SimEarth, it was often possible to noodle with variables and have little idea what was actually happening.  However, the immense indirection yields systems that people can play with for decades. 
  • How can simple system interact to create useful indirect effects? 
  • How can I layer useful indirect effects to create wide expressive opportunities for the player?
Hidden information 


Tighter: Visible sequences that are readily apparent.  For example, in Triple Town we signal that a current position is a match.  The game isn't about matching patterns so instead the design goal is to make the available movement opportunities as obvious as possible. 
  • Is there something hidden that shouldn't be?
  • Is there something visible that doesn't matter?
Looser: Hidden information or off screen information. A game like Mastermind is entirely about a hidden code that must be carefully deciphered via indirect clues.   Board games that are converted into computer games often accidentally hide information.  In a board game, the systems are impossible to hide because they are manually executed by the players.  However, in computers the rules are often simulated in the background, turning a previously comprehensible system into mysterious gibberish. 
  • Would hiding information fully or partially make mastery more challenging?

Tighter: Deterministic where the same effect always follows a specific cause. In a game like chess, the result of a move is always the same; a knight moves in an L and will capture the piece in lands upon. You can imagine a variant where instead you role a die to determine the winner. You can make that tighter again by constraining the probability so that certain characters roll larger dice than others. The 1d20 Pawn of Doom is a grand horror.
  • How do I make the outcome highly deterministic?
  • Is this direct action still interesting if repeated hundreds of times?
Looser: Probabilistic so that sometimes one outcome occurs but occasionally a different one happens. In one prototype I worked on there was both a long time scale between the action and the results as well as a heavily weighted but still semi-random outcome. Players were convinced that the game was completely random and had zero logic. If you pacing is fast enough and your feedback strong enough, you might be able to treat this as a slot machine.
  • Do I need a simple method of simulating a complex system?
  • Do I need a means of adding interesting pacing to the game?
  • Does the player perceive that they have the situation under controls despite the randomness?
Processing Complexity

Tighter: System requires simulating few steps to predict an outcome.  In a vertically scrolling shooter, you see the bullet coming towards you.  It doesn't take a lot of thought to figure out that if you stay in that location you are going to be hit.
  • How much can the player process in the time allotted?
  • Are players getting mentally fatigued playing the game?
Looser: System requires simulating multiple steps to predict an outcome.  On the other hand, in Triple Town, good players need to think dozens of moves ahead.  Thinking through all the various machinations necessary to get the result you want adds a serious cognitive load to the player.  A single mistake in the player's calculations yields unexpected results.
  • Do players feel smart?
  • Can players plan multiple moves ahead?
  • Can players debug why their plans didn't work?
Option Complexity
Steel Battalion

Tighter: Fewer options are available to consider. In a recent upgrade system I was building I give players 3 choices for their upgrades.  I could have given them a menu of 60 upgrades, but that would be rather overwhelming.  By focusing the user on a few important choices, I give them the mental space to think about each and pick the one with the biggest impact.
  • Can I reduce the options?  
  • If I had to remove one choice, what would it be? Would the game be better?
  • Which options are the most meaningful?
Looser: A large number of options must be considered.  In a game of Go there are often dozens of potential moves and hundreds of secondary moves.  This options complexity is a large part of why the game has been played for thousands of years. 
  • How do current options yield an exploding horizon of future options?
  • How do I re-balance outcomes to make more options useful?
Social Complexity
Death of Lord British in Ultima Online

Tighter: Another human broadly signals intent, capabilities and internal mental state.  In an MMO, a player dresses as a high level healer and stands in a spot where adhoc groups meet up. There's a good chance you know what they'll do if you ask them to go adventuring together.  Or in a managed trade window, you know exactly what you are getting when he puts up a potion for your sword.  There is little ambiguity.
  • Can I make a character automatically signal future intent via their current actions?
  • Do the options collapse to a reasonable number so that I can predict what the other player might do if they are acting rationally?
  • Do I know enough about the goals and resources of the other player?
  • Have a spent enough time with the other player to model their internal state?
  • Are there predictable methods of interacting between players?
Looser: Another human disguises, distorts or mutes intent, capabilities and their mental state.  
  • Can people communicate?
  • Can people lie and what is the impact of that?
  • Can people harm others? Can they help? Are there repercussions?
  • To what degree is my choice dependent on another player's choice?
  • What are group dynamics that influence behavior?
Time Pressure

Tighter: Requires simulating the model at the player’s preferred pace.  This is related to processing and option complexity since players can only execute their models at a given pace.  Players are more likely to make causal connections if the time pressure is greatly reduced.   For example, the game NetHack has complexly interwoven systems that require real detective work to decipher.  In order to increase the likelihood that players will make the connection, the game is set up as a turn-based game where players may take as much time as they want between turns.  You'll see that as the situation becomes more complex, even good players will slow down their play substantially so they can understand all the ramifications.
  • How much time does the player need to understand what is happening?
  • Can I let the player choose their pacing or do I need to force a universal timing?
  • What are the multiplayer ramifications?
Looser: Requires simulating the model quickly.  In a game of WarioWare, there isn't really much complexity involved in each individual puzzle.  However, we can dramatically ramp up the cognitive load and increase outcome uncertainty by setting a very short timer. 
  • Would time pressure push the player's cognitive load into a pleasurable flow zone?
  • Is the player feeling analysis paralysis?
  • Is the player feeling wildly out of control?

Applying the tightening techniques

When I run into the common situation where players don't understand the system, I often use the tightening techniques to make the system's cause and effect relationship more crisply defined for the player.  In almost all cases, my changes are in response to observations stemming from playing a prototype myself or from watching someone else play a prototype.   I find them to be most useful as tuning techniques and less reliable for making grand plans in the absence of functional code.

Gameplay is composed of loops and these loops have distinct stages (Actions, Rules, Feedback, Updating of the player's mental model).  Depending on where in the loop the observed issue might be, I use different techniques to tweak it.

Action Problems
  • Option complexity
  • Pacing
Rules Problems
  • Processing complexity
  • Probability
  • Indirection
  • Linearity
Feedback Problems:  Feedback failures are the most common error I find when dealing when implementing known systems. Most new designer make feedback errors.  Intermediate designs often focus on feedback to the exclusion of other problem areas. 
  • Strength of feedback
  • Noisiness
  • Sensory Type
  • Hidden information
  • Discreteness
Modeling Problems:  
  • Time pressure
  • Tapping existing mental models

Tightness vs the stage of player mastery

Skill loops build upon one another.  The jumping in Mario evolves into advanced platform navigating skills. What I find is that often the lowest levels of skill loops need to be the tightest. These are the systems you need to be most obvious in the first seconds of play...they are the gateway into the rest of the game, so to speak.  Keep the number of options low, tap into existing mental models and make the cause and effect as crisp and obvious as possible.  Then once the player is comfortable manipulating the basic system, you can introduce looser connections that take more effort to master.

The player's perception of tightness and looseness changes over time. There's a mental chunking operation that occurs as we master skills. Sequences that were once confusing and complex get reduced down to easily repeated and manipulated patterns. So the higher level skills that are made of multiple chunked precursor skills end up feeling very clear and obvious. You'll often find controls that a new player describes as twitchy or sloppy are described by an expert player as extremely precise and tight. Mastery can turn loose systems into tight tools.


New designers often treat the systems at the heart of their games as inviolate features of nature.  The properties of a sniper rifle, the combo system in Street Fighter or the energy system in a farming game are treated as mathematical facts.  You can tweak some values, but the basic system has always existed and will always exist.  Yet the truth is that these systems were invented and then adopted because they had useful properties.  They are easy to pickup, yet provide sufficient depth for long term mastery.  They are designed artifacts.

We can design new systems that hit the sweet spot between mysterious and boring.  By looking at your new games through the lenses listed above (and likely some others that I'm forgetting) you can iteratively tune the systems, models and skills at the heart of your game to be more or less understandable. By following a methodical process of invention, you can take a weak game and turn it into a great game that dances hand-in-hand with player capabilities.

take care,