Faster iteration. Clearer diagrams

We’re always looking to improve how Machinations supports articulating your design ideas. Custom variables’ main quest was to introduce external data ingestion and better control when defining the rules of your systems. But they also come with boosts.

Faster iteration

Custom variables can be referenced by any node or connection needing to access that value. Whenever changes to that value are necessary, you’ll only need to apply that change once to have it propagate throughout your model(s). This reduces your workload and mitigates the risk of human error when iterating.

Take this model from one of our community members, Ioana Cazacu from Mojiworks. As win/loss rates are the same for all three match types, introducing custom variables to reference the rates would make iterating these parameters in connection to player earnings, or upgrades performed much easier. To change the loss rate, for example, you’d only need to edit its value in the Custom Variables tab to propagate to all three instances.

To change the loss rate, for example, you’d only need to edit its value in the Custom Variables tab to propagate to all…
Machinations editor at the time of writing (2022)

Moreover, defining custom variables at an account level allows you to build a set of generic custom variables for you (and your team) to reference in multiple diagrams. Think of this within the same paradigm as using library items to speed up the building process of your models.

Same complexity, fewer components

If your model uses constant values, use custom variables and eliminate the need for several registers and state connections. Take the example below to visualize how big of a difference using custom variables can make in modeling your systems.

Clearer diagrams

Make your models easier to read. Instead of using numeric values in your model, the input used to reference the variable may be something suggestive of what it represents.

Apart from decluttering your models and the boosts customer variables provide for faster iterations, they may also be used to improve the readability of your models, as shown in the example below.

Frequently asked questions

What was the main goal of introducing custom variables in Machinations?

The main goal of custom variables is to introduce external data ingestion and provide better control when defining the rules of systems.

How can custom variables facilitate faster iteration in model development?

Custom variables can be referenced by any node or connection needing to access that value. Changes to the value only need to be applied once to propagate throughout the model.

How does using custom variables reduce workload and mitigate the risk of human error during iteration?

Applying changes to a custom variable once propagates throughout the model, eliminating the need to make multiple adjustments. This reduces the workload and minimizes the risk of errors.

How can custom variables be applied to simplify the modeling of win/loss rates in different match types?

By introducing custom variables, changes to parameters related to player earnings or upgrades can be easily iterated. Editing the value in the Custom Variables tab, for example, updates the rates for all instances.

How do custom variables contribute to creating clearer and more readable diagrams?

Custom variables allow the use of suggestive input to represent values in the model, making diagrams clearer.

Can custom variables be used to represent numeric values in a more suggestive manner?

Yes, custom variables can be used to represent numeric values in a more suggestive manner. Instead of using raw numeric values in the model, the input referencing the variable can provide a more meaningful representation of its purpose.

Share this article

More articles

Browse all articles

Try what is new in Machinations

Open the app, build a model with the latest features and Play it the same day.