https://machinations.io/wp-content/uploads/2022/11/1.-Custom-Variables-1-1280x768.png

Faster iteration. Clearer diagrams

by Machinations Product Updates

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.

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 modelling 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.