Escalating Complexity

From MachinationsWiki
Revision as of 15:33, 24 June 2012 by Joris (Talk | contribs) (Examples)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search




Players act against growing complexity, trying to keep the game under control until positive feedback grows too strong and the accumulated complexity makes them lose.


Players are tasked to perform an action that grows more complex if the players fail and in which complexity contributes to the difficulty of the task. As long as players can keep up with the game, they can keep on playing, but once the positive feedback spins out of control, the game ends quickly. As the game progresses, the mechanism that creates the complexity speeds up, ensuring that at some point players can no longer keep up and eventually must lose the game.


Use escalating complexity when:

  • You aim for a high-pressure, skill-based game.
  • You want to create emergent mechanics that (partially) replace predesigned level progression.



  • The game produces complexity that must be kept under a certain limit by the


  • A task performed by the player reduces complexity.
  • A progress mechanism increases the production of complexity over time.


Complexity immediately increases the production of more complexity, creating a strong positive feedback loop that must be kept under control. The player loses when complexity exceeds his ability to manage it.


Given enough skill, players can keep up with the increase in complexity for a long time, but when players no longer keep up, complexity spins out of control and the game ends quickly.


The task in a game that implements the escalating complexity pattern is typically affected by player skill, especially when escalating complexity makes up most of the game’s core mechanics. When the task is governed by a random or deterministic mechanism, players will have no control over the game’s progress. Random or deterministic mechanics work a little better in more complex game systems in which players have some control over their chance of success. Using a multiplayer task is an option, but it probably also works better in a more complex game system.

Randomness in the production of complexity creates a game with a varied pace, where players might struggle to keep up with production at its peak but get a chance to catch their breath when complexity production slows down a little.

There are many ways to implement the progress mechanic, from a simple time-based increase of the production of complexity (as is the case in the previous sample structure) to complicated constructions that rely on other actions by the player or by other players. This way, it is possible to combine escalating complexity with [[Escalating Challenge]] by introducing positive feedback to the progress mechanic as a result of the execution of the task.

Escalating complexity lends itself well to serve as part of a Multiple Feedback pattern in which the complexity feeds into several feedback loops with different signatures. For example, escalating complexity can be partially balanced by having the task feed into a much slower negative feedback loop governing the production of complexity.


In Tetris, a steady flow of falling tetrominoes produces complexity. There is a slight randomness in this production as the different types of tetrominoes are created over time. Players need to place the tetrominoes in such a way that they fit together closely. When a line is completely filled, it disappears, making room for new tetrominoes. When players fail to keep up, the tetrominoes pile up quickly, and they will have less time to place subsequent tetrominoes. This can quickly increase the complexity of the field when players are not careful and cause them to lose the game if the pile of tetrominoes reaches the top of the screen. In Tetris, levels create the progression mechanism. Every time the player clears ten lines, the game advances to the next level and the tetrominoes start falling faster, making it more and more difficult to place them accurately. In this case, the level mechanism is also an example of the Escalating Challenge pattern.

The diagram below represents these mechanics of Tetris. In this diagram, tetrominoes are converted into points. The number of points goes up when there are more tetrominoes in the game. This represents the possibility to clear more lines at once and enables a high-risk, high-reward strategy. The chart in the diagram shows that once the pace grows too great for the player to keep up, the game rapidly spins out of control.

In the independently developed action shooter Super Crate Box, players are required to pick up crates containing different weapons, while keeping the number of enemies under control by shooting them. As soon as the player touches an enemy, he is killed. Enemies spawn at the top of the screen and run down the level to disappear at the bottom. An enemy that makes it to the bottom respawns at the top of the screen but moves much faster the second time. The player carries only one weapon at a time, and not all weapons are equally powerful. However, because the only way to get ahead is to pick up crates and change weapons, the player is forced to make the best use of whatever he picks up. The player has to alternate between killing enemies to keep their numbers under control and picking up boxes to score more points.

Related Patterns

  • Any type of engine pattern can be used to implement the progress mechanism.
  • It is common to find the progression mechanism implemented as an [[Escalating

Challenge]] pattern.