Last updated 16 days ago

Use Labels in a Machinations diagram to se the parameters for your Resources flow.

Labels are applied to Connections. Depending on which type of Connections they are used, Labels determine the rate at which Resources flow, or how the diagram's State changes.

Resource Connections Labels

Labels on Resource Connections dictate how Resources flow between Nodes.

Here are the types of Labels supported by Resource Connections:

Label Types




flow rate


0; 2 ; 13; 0.5

random flow rate

Dx; yDx; x%

D6; 2D5; D3-D2; 20%; 50%



1|4; 2|2; D6|3; D3|(D6+2)




2*50%; 3*D3

all resources



draw randomly


draw1; draw2; draw5

State Connections Labels

Labels attached to State Connections indicate the effects of state and state changes on other elements in the diagram.

Here are the Label types you can use, and to which types of State Connection they can be applied:

Label Types



Applicable to



+; -; +x; -x; +x%

+; -; +2; -0.3; +5%; -2%

value modifiers; node modifiers

interval modifiers

+xi; -xi

+2i; -1i

value modifiers


x%; x

20%; 3

triggers after a gate


==x; !=x; x; >=x;

==0; !=2; >=4;

activators; triggers after a gate

range (conditions)


2..5; 4..7

activators; triggers after a gate


trigger maker




reverse trigger



revers triggers


You may want a Node in your diagram to be activated less than every time step.

Create flow rates with an interval by using |

For example, a Source that has an output rate of 1|5 will produce 1 Resource every 5 time steps.

A similar effect can be created when the output rate is set to 0.2. However, using Intervals allows you more control and you can produce Resources in bursts. For example, a production rate of 5/10 would produce 5 Resources at once every 10 steps.

You can use random flow rates with Intervals. A production rate of D6|3 will produce between one and six Resources every 3 steps.

Intervals can be random as well. A production rate of 1|(D4+2) indicates that 1 Resource is produced every 3 to 6 steps.

Random Intervals can be a good way to keep the player’s attention on the game.

You can even use a production rate of D6|D6, which indicates between one and six resources are produced every one to six steps.

Intervals can also be modified dynamically. Label Modifiers that have an i as a unit of their modification (for example, +1i or -3i) will change their target’s interval.


When working with random flow rates, it is often useful to combine multiple chances into one value. For example, a Source might have two chances to produce a Resource during every time step.

A multiplier is created by adding n* before the flow rate, for example 3*50%, 2*10%, or 3*D3.

The two constructions are equivalent, but the one on the right is less cluttered. If you need to use different probabilities, however, you will have to create a construction like the one on the left.

Like Intervals, Multipliers can also be modified dynamically. Label Modifiers that have an m as a unit of their modification (for example, +2m or -1m) will change their target’s Multiplier.

A Label Modifier with an m on its own label transmits the change in the source Node.

Comment: Although the value of Register B is the same as that on the Resource Connection, it doesn’t have to be. If the Label Modifier’s Connection were +2m, it would transmit double the change in B.