DEV Community

Sunder Iyer
Sunder Iyer

Posted on • Originally published at

Machinations Primer

Machinations is a powerful tool that you can use for game design. Let's go over some basic information to help us get productive in this tool.


Nodes are units in your Machinations diagram that affect Resources. Resources are your finite gameplay elements such as money, health points and so on. Some nodes include:

  • Sources, add resources
  • Drains, remove resources
  • Pools, collect resources
  • Gate, redistributes resources
  • Convertor, changes one resource into another

Nodes can be linked to each other with Resource Connections. This allows Resources to flow to simulate various game activities. Resource Connections have Inputs and Outputs. Inputs connect into nodes while Outputs lead out of nodes. Inputs are the arrowheads.

It is very important to note that the Label of the Resource Connection determines how many Resources can flow in and out in one step of the simulation. The default or empty value is 1 Resource. Labels include:

  • Absolute numbers per step
  • Random Rates such as D6, 2D20, 33%
  • Intervals of resource per step such as 1|2
  • Keywords like all for all Resources

If you need to add a descriptor to the label, use a semi-colon to separate the string from the formula. For example, "Pick Random: 50%"


Nodes and Resource Connections have many properties. Let's go over some important ones.

Activations Modes define when your Node runs. There are currently 4 types:

  • Automatic, runs once per step of the simulation
  • Interactive, runs only when clicked when the simulation is running
  • OnStart, runs only at the start of the simulation
  • Passive, runs only when Triggered

As an example, Passive nodes can be triggered by other nodes based on the node's Action property.

The Action property defines how resources are moved. There's Push/Pull and Any/All.

Push means that the Node will move Resources to Outputs while Pull means that the Node will draw Resources from Inputs.

Any means that the Node will push/pull as many Resources as the output/input allows while All means that the Node will push/pull only if the output/input can be satisfied.

It's important to note that one Node cannot both Push and Pull. If a Node is pulling and it needs to pass Resources, the other Node(s) need to pull as well.

Color Coding

Color is one of the most important concepts in Machinations because that is how Resources are differentiated! Resources can be Black, Blue, Green, Orange and Red. If you need more Resources, your diagram might be trying to do too much.

The Resources property in Nodes lets you define what type of Resource that Node adds, remove, collects, etc.

The Color Coding property in Resource Connections lets you determine whether only Resources of a specific color can pass through.

And that concludes this primer. You should now be armed with enough knowledge to be productive with this tool. To continue learning, check out Traders and State Connections.

Discussion (0)