
Learn to model and simulate a progression system with machinations, building the RPG core loop with enemies, xp, and level-ups, while balancing attributes and using state connections, gates, and registers.
Explore a generic RPG progression system where every five minutes, defeating enemies yields experience, leading to level ups that grant skill points to raise attributes.
Model the core loop with xp and level pools. Defeat enemies yields xp, converted to levels automatically every five minutes, starting at level one up to 1000 xp.
Explain using state connections as formula modifiers to dynamically scale level-up costs based on another component’s value, calculating experience requirements with 100 per level increments.
Model how level-up events award skill points by using state connections and triggers to drive a skill points pool, with passive sources and formula-based triggers.
Add vitality, endurance, and strength pools and route each level-up skill point through a random gate with 35%, 25%, and 40% chances to upgrade vitality, endurance, or strength.
Learn how registers calculate player stats, such as max HP from vitality, by applying formulas that read values from pools and update attributes as skill points are allocated.
Read vitality into a maximum HP register via state connections, use exact variable names, set initial resources, and ensure accurate readings for game economy calculations.
Model defense and damage reduction using mathjs functions, linking endurance to damage reduction via natural logarithm and strength to damage via log base ten, and apply rounding with floor.
Design a progression where players advance through areas with increasing enemy stats and rewards, using a countdown time pool and drains, starting with a 30-minute area and 40-100 minute areas.
Create custom variables, such as a math expression for time per step, to centralize parameters and ensure changes propagate across all diagram parts.
Use two custom variables—time to finish area (updated each step) and randomness—to generate a new 40–100 minute value per area with a uniform distribution, fed into the resource connection.
Learn to use state connections to control progression between areas in Machinations, enabling sources and calculating minutes when area completion reaches zero, with formulas, triggers, and variables.
In this progression system, areas raise xp per enemy and adjust enemy hp and damage. Model xp with a log curve and use conditional expressions and three-tier hp rules.
Compute xp earned per step with registers and state connections, multiplying enemies defeated by xp per enemy, using random int for total player damage, referencing enemy hp, and rounding down.
Use arrays to store level-up costs as a table; read each level's cost by index, starting at one, via registers or custom variables, enabling progression without a fixed formula.
Welcome to the “Machinations: Progression Systems for Game Economy Designers” course!
You are going to learn how to use Machinations to model and simulate a level progression system to ensure that you can convey an engaging experience for your players. You will delve into concepts such as state connections, registers, gates and arrays to solve problems in the economy of progression systems, which have been widely used in game development.
In the first lesson you will build a simple core loop for a generic progression system, including earning XP and levelling up.
In the second and third lessons you will implement an attribute system, where players get skill points and assign them to specific attributes, which will have an effect on their character’s stats.
The fourth and fifth lessons will show you how to implement how players progress between different areas, and how that affects the stats of the enemies, specifically their damage and HP.
Finally, you will tackle more complex XP earning curves with arrays and implement a simple combat system to test the economy’s balance.
At the end of the course you can take a test to assess your knowledge about Progression Systems in Machinations.
Overall, in this course we will cover the following topics:
State connections: formula modifiers, triggers, activators, getters from registers.
Gates: deterministic and probabilistic gates, gates as triggers.
Registers: basic formulas, randomness, boolean registers.
MathJS functions.
Drains.
Custom variables: math expressions, randomness.
Conditionals with ternary operators.
Arrays