There's a tidy framework going around for idle game economy design.
Three sinks — Progression, Engagement, Prestige — and for each one, a row telling you what it absorbs: permanent upgrades, refills and boosts, cosmetic items.
Good starting map. But "absorbs" is doing something sneaky, and if you don't catch it you'll mis-tune every economy you touch.
A sink, by definition, destroys a resource. It's the opposite of a source, which mints resources into the economy. So when a framework says a sink "absorbs permanent upgrades," it's pointing at the wrong end of the pipe. Upgrades aren't destroyed — they're handed back to you. They're the output.
The thing that actually disappears — the thing the sink eats — is whatever you paid to get them.
A sink is a converter, not a container
Every sink in an idle economy is the same shape: it takes one resource in, deletes it, and emits a different resource out. If you model your economy in code, it's literally a converter node:
pythonclass Sink:
def init(self, resource_in, resource_out, rate):
self.resource_in = resource_in # what gets DESTROYED <- the part frameworks skip
self.resource_out = resource_out # what you RECEIVE <- the part frameworks label
self.rate = rate # conversion / cost curve
def apply(self, economy):
cost = self.rate(economy.player_level)
economy.destroy(self.resource_in, cost) # the sink
economy.grant(self.resource_out) # the reward
The "Absorbs" column only ever fills in resource_out. To make the framework operational you have to fill in resource_in — and the moment you do, you realize idle games don't run on one currency. They run on a small stack of distinct resources, and each sink is tuned to eat a specific one.
ResourceSource (where the player gets it)Feels likeTimeWall-clock; production ticks idle or activeThe base currency of the genreSoft currencyTime, via production rate (gold/coins)The number that goes upEnergy / staminaTime (regen) or money (refills)Permission to act right nowAccumulated progressYour current run — banked levels + currencyThe thing you're afraid to lose
Underneath all four sits money (IAP), which buys a shortcut into any of them. That's why monetization touches every sink at once.
Progression sink: you're paying time in a currency costume
You receive: permanent power (more production).
You pay: soft currency — which is just time laundered through a number so it feels like a choice instead of a wait.
It's a closed loop: spend time → make currency → spend currency → make time more productive. Cookie Clicker buildings, AdVenture Capitalist upgrades, Clicker Heroes hero levels — same machine. The exponential cost curve keeps the gap between purchases roughly constant as numbers explode. That interval is your pacing.
Fails when content is maxed → the sink ran dry while its time-source kept minting. Currency inflates into meaninglessness. The symptom ("upgrade buys flatline") isn't an upgrade problem, it's a source/sink imbalance: faucet open, drain capped.
Prestige sink: the framework drew the wrong prestige
"Prestige" means two different mechanics, and the framework only drew one.
Reading A — the status sink (what the diagram shows). You pay money, you receive status (skins, badges, ranks). The reward has zero mechanical function; its only value is that others can see it. That's why it caps at your top spenders — once whales own the most expensive flex, the sink is full.
Reading B — the reset sink (what "you pay levels" actually means). The classic ascension loop: Cookie Clicker's Heavenly Chips, AdVenture Capitalist's Angel Investors, Clicker Heroes' Hero Souls. You pay your entire accumulated progress — a hard reset — and receive a permanent meta-multiplier for your next run. Nothing else in the economy asks you to pay that.
These are not the same sink. One eats money and returns visibility; the other eats your whole run and returns a multiplier. They tune to different motivations and fail for different reasons. The reset sink is arguably the most important mechanic in the genre, and the original framework has no box for it.
Engagement sink: you pay energy — a clock with two faucets
Your instinct said it: for playing, you pay energy. Energy is special because two sources feed it:
Time refills it slowly and for free — the leash. The regen rate is your return cadence; you're designing how often players come back, not an energy bar.
Money refills it instantly — the monetization hook bolted to the leash.
So this sink eats time from the patient majority and money from the impatient minority. Fails when sessions shorten: if energy drains in 30 seconds, there's nothing to do on return, so the return stops being worth it. The "day 10–14 retention slide" is the signature — week one coasts on novelty, then the energy leash has to carry retention alone and isn't tuned right.
Every "symptom" is an input-side problem
Notice that all the failure modes are described by their output (buys flatline, sessions shorten, top spenders cap) but caused on the input side. There are really only three ways any sink fails:
Source outpaces sink → inflation (too much minted, too little destroyed).
Conversion rate is wrong → price mistuned for your pacing.
Resource stops meaning anything → you maxed the depth, paying it no longer feels like a cost.
You can't see any of these by looking at what a sink gives. Only by tracing what it eats, where that resource is sourced, and how fast the source fills vs. how fast the sink drains.
The framework, redrawn
SinkResource paid (eaten)Source of that resourceYou receiveFails when…ProgressionSoft currency (≈ time)Idle/active productionPermanent powerSource outpaces a maxed sinkEngagementEnergy (≈ time or money)Regen clock + refillsPermission to act nowRegen mistuned vs. session lengthStatus (the drawn "prestige")Money / premium currencyReal walletVisibility, egoTop end runs out of things to signalReset (the other prestige)Accumulated progressYour entire runPermanent meta-multiplierMultiplier doesn't justify the loss
Four resources, four prices, four distinct failure modes. The three-box version collapses both prestiges into one and never names a single price.
Key takeaways for balancing an idle economy
Define every sink by resource_in, not resource_out. A sink you can't pair with a source can only inflate or starve.
Cost curves are the clock of the game, not flavor. Tune the conversion rate to the pacing you want.
When a sink fails, identify the mode — inflation, mistuned rate, or exhausted meaning. The fix is different for each.
"Prestige" is two sinks. Decide whether you're building a status sink (pays money) or a reset sink (pays progress).
Failure modes live in rates over time — invisible in a spreadsheet snapshot, obvious in a simulation across a 14-day curve.
If you want to see sources and sinks fight it out over time — wiring production, currencies, energy and prestige loops as nodes and watching the resource balance move tick by tick — that's exactly what I'm building Itembase for: a node-based game-economy simulation and design tool for designers and studios.
Model your own economy → itembase.dev