Formulas & equations
The math the game actually runs, taken from the source code and data. Use the calculators to plan upgrades and prestige runs.
// Production
Each tick lasts \(\Delta t = 0.2\,\text{s}\). A node with capacity \(C\) (sets per second) and inputs \(i\), each with demand \(d_i\) per set and stored amount \(s_i\), runs:
\(o\) is the output amount per set, \(H_{\text{mult}}\) is the heat multiplier, and bugs is the number of bugs on that node. Each input consumes \(d_i \cdot \text{sets}\).
In rate terms (what the tooltip shows):
When one output feeds several consumers, consumer \(k\) receives a share proportional to its demand:
ProductionNode.cs · PortProduction.cs · NodePort.cs
// Rate stat (capacity)
A node's capacity is a stat built up from its base value \(b\), its upgrade stage \(n\) (starts at 1, +1 per purchase) and modifiers from the Matrix and skills:
\(a, I\) = auto-scale multiplier and interval (Power 1.2 / 30, Training Crawler 1.25 / 100, NLP Preprocessor 1.1 / 50; others have none). \(\sum\%\) = additive percent bonuses (Matrix items). \(P = 1 + \text{chips}/150\) is the prestige bonus.
So upgrades are linear (level 10 = 10× base), Matrix bonuses stack additively, and prestige multiplies everything.
SkillTree System/Stat.cs
// Upgrade & slot costs
The cost of rate upgrade level \(n\), with base cost \(c_0\) and growth \(g\) (1.07 or 1.13 for rates, 1.5 for sell prices):
Buying \(k\) levels at once starting at level \(n\) (the ×10 / ×100 / Max buttons) is a geometric sum:
A new node slot, when you already own \(m\) slots of that type (growth \(g=10\), power \(p\) between 2 and 3.5):
Example: the second Training Crawler costs \(175 \cdot 10^{1\cdot 2} = 17{,}500\) RP. All costs are rounded.
SkillNodeData.cs · SkillTreeLayoutNode.cs
// Split, Union & Market
\(f\) is the Split slider (default 0.5). The Market sells whole units each tick, and prices max out at \(6p_0\).
SplitNode.cs · UnionNode.cs · Market.cs
// Heat
The factory temperature \(T\) (°C, ambient 24) changes each tick with the total heat \(H\) from nodes, fans and bugs:
A node's own heat moves toward its heat cost \(h\) while producing and toward 0 while idle, at \(0.5\,|h|\) per second. Fan heat per fan:
| Temperature | \(H_{\text{mult}}\) | State |
|---|
HeatStat.cs · NodeData.cs · CoolantNode.cs
// Bugs & cannons
Fire rate starts at 1 shot/s and each upgrade adds +1. Range starts at 1 and each upgrade adds +1 (+1% radius). Cannon slot \(m\) costs \(\$2\times10^{5}\cdot 2.5^{2m}\).
Bug.cs · AntimalwareCannonNode.cs
// Matrix
\(s\) = number of randomize rolls on that item, \(\ell\) = shape level. Shapes are clamped to 3–16 cells until level 15, then 1–16 cells.
MatrixController.cs · MatrixItemData.cs · ItemShapeUtility.cs
// Models
\(R_0, g\) = base reward and growth. \(q_0, g_q\) = base requirement and requirement growth. \(L_{\text{from}}\) = the level where that requirement starts. See the model table.
ModelSystem/*
// Prestige
PrestigeManger.cs · PrestigeStat.cs
// Offline earnings
SessionController.cs
// Calculators
Node throughput
Upgrade cost
Base costs are listed on each node card under Costs & scaling.
Heat equilibrium
Add up the Heat value of every working node.
Prestige planner
Scientific notation works, e.g. 2.5e12.