Unity Plugin (UP) & API
At its core, the Machinations framework is based on:
6 types of Basic Nodes
- Pools collect Resources
- Sources create Resources
- Drains consume/destroy Resources
- Converters transmute various types of Resources into another
- Traders exchange Resources
- Gates redistribute Resources
2 types of Connections:
- Resource Connections determine how Resources flow through a diagram
- State Connections modify the state of diagram elements
All game systems consist of elements in a constant flow of Resources.
Resources can be anything from money and property in Monopoly, ammo and HP in an FPS, or XP and equipment in an RPG.
Resources, together with the entities or actions that cause them to be produced, consumed and exchanged, make up the games’ internal economy.
Below is an example of how Sources, Pools, and Drains work. Notice the Nodes are linked together by Resource Connections (arrows) with a Formula representing the rule by which the Resources will flow between Nodes.
- Once you click the Source, it produces 3 Resources which will be transferred to the Pool
- The Drain consumes 3 Resources from the Pool
- The Random Source randomly produces between 1 and 6 Resources each time it’s clicked. The
D6Formula notation stands for “Die 6”. To establish the flow rate for each Step, Machinations simulates the throw of a 6-faces die and the Source produces the resulted number of Resources
Drain AllDrain consumes all Resources in the Pool
- The Automatic Converter transmutes 3 Resources from the origin Pool into 2 other Resource
- The Automatic Trader exchanges 2 Coins for 3 Wood and moves these Resources into their respective repository: Coins to Pocket; Wood to Woodshed
- The Interactive Multiple Converter – when clicking on it, the Converter transmutes 4 gold and 2 Rubies into 1 Skin
- The Simplified Interactive Trader – when clicking on it, the Trader exchanges 2 blue Resources for 3 Red. The difference being that the Pools store both types of Resources.
Gates are more complex Nodes, but the basic is that they redistribute Resources deterministically or probabilistically.
- The Deterministic Gate redistributes 9 Resources from the origin Pool and transfers them to each of the target Pool, according to the Fromulas, which in this case represent the weights of the outcomes
- The Random Gate redistributes the 10 Resources from the origin Pool and transfers them to each of the target Pools according to the probability on their Formulas
All the examples above feature Resource Connections. Full arrows that determine the way in which Resources flow through the diagram. More on this:
State Connections, on the other hand, modify the state of an element. Here’s how:
In the example above, the State Connection modifies the Formula on the Resource Connection and alters the flow of Resources function to the number of Resources in the Pool. As such, it adds to the initial Formula parameter (1) the number of Resources stored by the Pool after each Step.
There’s more to State Connections than this, though. They can modify Nodes’ states and act as triggers or activators.