Labels, Types & Intervals
Connections shape how a diagram behaves. This page explains three properties you can set on them: labels, types and intervals.
Labels describe a connection and help people read the diagram.
Types set resource-flow rules, apply conditions and determine execution order.
Intervals set how often resources flow through a resource connection.


Connection labels
A label names a node or connection so people can follow the diagram. Labels also help identify components across layers and when working with others. For formula values that change behavior, see the connection types and formulas below.


Connection types
Connection types define how a connection behaves. Resource connections move resources; state connections change values or activate other elements. Triggers, activators and modifiers add further rules. The available controls depend on the selected connection: the Type menu of a Resource Connection offers Number, Chance, Dice roll and Formula (a Resource Connection that starts at a Pool also offers All), and the Type menu of a State Connection offers Change value, Change interval and Enable while.




Resource connection types
Resource connection types control how resources flow between nodes, from fixed transfers to chance-based and random outcomes. See Resource Connections for the current types, formulas and examples.
State connection formulas
A State Connection carries the state of one element to another, and its Type says what it does with it. Change value changes the value of the target Node, Change interval changes the Interval of the target Resource Connection, and Enable while enables or disables the target by checking the input against a condition.
For Change value, the Formula menu chooses how the value of the origin Node reaches the target. The table lists each choice with the description the app shows when you hover over it.


| Formula | What it does |
|---|---|
| Add change | Makes the target follow the origin’s value; set a multiplier to scale it. |
| Add gain | Adds the positive step-to-step change from the origin node to the target node. Decreases on the origin are ignored. |
| Add loss | Increases the target node by the amount lost on the origin node. Gains on the origin are ignored. |
| Add value | Adds the origin node’s current value to the target node without overwriting it. |
| Subtract value | Subtracts the origin node’s current value from the target node without overwriting it. |
| Overwrite | Sets the target’s value to the origin’s value, replacing it. |
For condition, the Formula menu offers the comparisons greater than, greater or equal, less than, less or equal, equal, not equal and between; the box under it holds the value to compare with. Use it to switch a target on or off, or to let a Trigger pass only when the condition holds.


Overwrite with the “=” operator
Choose Overwrite in the Formula menu of a Change value State Connection to overwrite the Formula on a State Connection or the value of a Node. In the example, press Play, then click the Level Control node to overwrite Target Vault.
In the example, you can experiment how changes in the input Nodes can overwrite the values of target Formulas or of target Nodes.
Label Modifier: before hitting Play, the Formula on the Resource Connection between the Source and the Pool is 10. However, upon hitting Play, the Formula will be overwritten, and it will equal the value of the Modifier Pool.
Node Modifier: before hitting Play, there are 500 Resources in the Target Pool. After hitting Play, any change to the Interactive Register will be reflected in the number of Resources contained by the Target Pool.
In short:
- Use Overwrite to overwrite Node values.
- Use Add value if the State Connection’s output Node needs to react to changes made by other inputs.
Here’s a diagram explaining the difference between the two choices (the diagram labels them “Overwrite” on Target Beta and “Add change” on Target Alpha). Press Play, then click the Drain nodes and compare how each target reacts:
Note: Click on the double-edged Sinks to notice the difference in behavior.
Intervals
Use an interval to set how often a resource connection transfers resources. The flow amount and the interval can each be fixed or variable.






You can even use a production rate of D6|D6, which indicates between 1 and 6 Resources are produced every 1 to 6 steps.
Intervals can also be modified dynamically. A State Connection whose Type is Change interval (for example with a value of +1 or -3) changes the Interval of its target Resource Connection; the app describes it as “Adjust the interval of the target resource connection by referencing the values on the input node”. In the example, press Play, then click the Difficulty Step node to change the interval.
In the original example, Difficulty increases by 1 point every 2 Steps (1|2). An Interactive Register sends an interval modifier (+1i) to change that cadence. Open the linked diagram to adjust the Register and compare the Steps between transfers. The recording shows an earlier editor.
Combining conditions
You can combine conditions and math expressions in the same formula (both for registers and for parameters (called custom variables in older guides)). If you want the math expression to calculate only when the condition is true you can use the * operator to combine them.
As you can see in the image above, you replace the “and” and “or” conditions using multiplication and addition, respectively.
and(largerEq(a,100),smaller(a,200)) is the same as largerEq(a,100)*smaller(a,200) just shorter.
Example 1:
largerEq(a,2)*(c+4)
In this case, (c+4) will only be calculated if a is larger than or equal to 2.
Please note that this condition will return 1 if it is true and 0 if it is false. Therefore, if the condition is false, the math expression will be multiplied by 0, returning 0 as the result.
Example 2:
largerEq(a,100)*smaller(a,200) → It is true when a is larger than or equal to 100 and smaller than 200
smaller(a,100)+larger(a,200) → It is true when a is smaller than 100 or larger than 200.

