Dynamic Engine

Type
Engine

Intent
A source produces an adjustable flow of resources. Players can invest resources to improve the flow.

Motivation
A dynamic engine produces a steady flow of resources and opens the possibility for long-term investment by allowing the player to spend resources to improve production. The core of a dynamic engine is a positive constructive feedback loop.

Applicability
Use a dynamic engine when:


 * you want to introduce a trade-off between long-term investment and short-term gains. This pattern gives the player more control over the production rate than a static engine does.

Structure


Participants

 * Energy produced by the dynamic engine
 * A source that produces energy
 * Upgrades that affect the production rate of energy
 * An invest action that creates upgrades
 * Actions the player can spend on, including the invest action

Collaborations
The dynamic engine produces energy that is consumed by a number of actions. One action (Invest) produces upgrades that improve the energy output of the dynamic engine. A dynamic engine allows two different types of upgrades a player can invest in to improve its production:


 * The frequency at which energy is produced
 * The number of energy tokens generated each time

The differences between the two are subtle. A high frequency will create a steady flow, while a high number (but low frequency) will lead to bursts of energy.

Consequences
A dynamic engine creates a powerful positive constructive feedback loop that probably needs to be balanced by some pattern implementing negative feedback, such as any form of friction. Alternatively, balance it by using escalation to create challenges of increasing difficulty.

When using a dynamic engine, you must be careful not to create a dominant strategy, either by favoring the long-term strategy too much or by making the costs for the long-term strategy too high.

A dynamic engine generates a distinct gameplay signature. A game that consists of little more than a dynamic engine will cause the players to invest at first, appearing to make little progress. Beyond a certain point, the player will start to make more progress and needs to try to do so at the quickest possible pace.

Implementation
The chance of building a dominant strategy that favors either long-term or short-term investment is reduced when some sort of randomness is introduced in the dynamic engine. However, the positive feedback loop that exists in an unpredictable dynamic engine will amplify the luck a player has in the beginning of the game, which might result in too much randomness quickly.

The outcome of random production rates can be, but does not need to be, the same for every player. By using an unpredictable dynamic engine that generates the same resources for all players, the luck factor is reduced without affecting the unpredictability. This puts more emphasis on the player’s chosen strategy.

Some dynamic engines allow the player to convert upgrades back into energy, usually against a lower rate than the original investment. When upgrades are expensive and the player frequently needs large amounts of energy, this becomes a viable option.

Examples
In StarCraft, one of the abilities of Space Construction Vehicle (SCV) units is to harvest minerals that can be spent on creating more SCV units to increase the mineral harvest (see below). In its essence, this is a dynamic engine that propels the game (although in StarCraft the number of minerals is limited and SCV units can be killed by enemies). It immediately offers the player a long-term option (investing in many SCV units) and a short-term option (investing in military units to attack enemies quickly or respond to immediate threats).



The economy of The Settlers of Catan revolves around a dynamic engine affected by chance. The roll of the dice determines which game board tiles will produce resources at the start of each player’s turn. Building more villages increases the chance to receive resources every turn. The player can also upgrade villages into cities, which doubles the resource output of each tile. The Settlers of Catan gets around the typical signature a dynamic engine creates by allowing different types of invest actions and by measuring upgrades instead of energy to determine the winner.

Related Patterns

 * Dynamic Friction and Attrition are suitable patterns to counter the long-term benefits of a dynamic engine, while Static Friction emphasizes the long-term investments.
 * A dynamic engine elaborates the Static Engine pattern.
 * A dynamic engine can be elaborated by the Engine Building and the Worker Placement pattern.

Discussion
The two examples below illustrate the effect of randomness on a dynamic engine, with two different play strategies. In bot diagrams below the blue player tends to buy more upgrades than the green player. In the first diagram the engines are deterministic. In the second diagram they are random. The diagram takes around 140 seconds to complete, so a quick run is advisable.



