Unity Plugin (UP) & API
Easy Level Progression
How to build a generic and simplistic level progression in Machinations.
The basic action the player performs is to Kill Enemies. For each Enemy killed, the player gets XP points.
- △ Sources produce Resources
- The Source Kill Enemy produces 50 XP Points each time it’s triggered
- → Resource Connections transfer Resources
- The amount of XP given is stated by the number 50 on the Get XP Resource Connection
- ◯ Pools collect Resources
- The XP points are collected in the XP Points Pool
By earning XP Points, the player levels up.
- ▷Converters transform one type of Resource into another
- Convert XP to Level transforms 100 XP Points into 1 Level
- The Resource Connections set the rules for the converter:
- The input Level-up Cost sets the number of Resources the Converter processes: 100 XP Points
- The output Level-up sets the amount the Converter out-puts/returns: 1 Level
- Charts plot Resources over time
- The Level Pool is plotted on the Chart. And we can immediately visualise how the player progresses through levels.
In any given game, as the player progresses through the game, leveling up becomes more challenging. So, let’s add that in.
- ⇢ State Connections change the state of elements on the diagram
- We use the Level Pool, which indicates the level of the player, to determine the cost of future level-ups. This creates a feedback loop: it takes the output of the system, and feeds it back in as an input.
- The formula on the Increase Level-up Cost State Connection will increase the Level-up Cost by 100, each time the Level increases.
To account for different types of enemy encounters, we’re introducing randomness.
- Formulas define the rate of Resources flow
- On the Get XP Resource Connection, we changed the initial formula to D50.
- A die with 50 faces (D50) will be rolled for each encounter.
- The result of the die roll (a random number between 1 and 50) will determine the XP given out.
Batch Plays are the ultimate study of randomness, they use the Monte Carlo method to analyse player experience over multiple play sessions: emergence.