DEV Community

Cover image for Modeling item sinks and sources in a node graph
Sam Novak
Sam Novak

Posted on

Modeling item sinks and sources in a node graph

A practical breakdown of how to map game economy flows visually — and why node graphs make sink/source balance easier to reason about than spreadsheets.

Every game economy has the same underlying problem: stuff comes in, stuff goes out, and the ratio between the two determines whether your game feels good or broken. The concepts are simple. The hard part is seeing them clearly enough to make good decisions.
Spreadsheets are the default tool for this — and they're fine for calculating. But they're bad at showing you flow. You can't look at a spreadsheet and immediately understand whether gold is accumulating in one corner of your economy, or which mechanic is the biggest drain, or how a new item type will ripple through everything downstream.
Node graphs fix that. This post is about how to model sinks and sources as a graph — and what patterns to look for once you can see the whole picture at once.

The core model: nodes and edges
In a node-based economy model, each node represents either:

A resource — gold, wood, gems, energy, reputation, whatever your game uses
A mechanic — a process that transforms or moves resources between nodes

Edges represent flow: currency moving from one node to another, with a rate or quantity attached.
A minimal economy looks like this:
[Quest Reward] ──── gold ──→ [Player Wallet] ──── gold ──→ [Upgrade Shop]
That's a complete economy. One source, one pool, one sink. Everything else is elaboration on this pattern.

Sources: where resources enter the system
A source node is any mechanic that creates new currency or items — effectively pulling them from outside the economy into the player's hands.
Common sources:
SourceNotesDaily login rewardFixed rate, predictable. Easy to model.Quest completionVariable by quest. Use average expected earnings.Enemy dropsProbabilistic. Model as expected value per hour.Selling itemsConverts one resource type to another — technically a source and a sink depending on your frame.Battle pass rewardsTime-gated source. Important for controlling supply curves.
When modeling sources in a graph, each one gets its own node with an output rate — how much currency it pushes into the system per unit of time (usually per session or per hour of play).
[Daily Login] ──→ 50 gold/day ──→ ┐
[Quest Clear] ──→ 80 gold/hr ──→ ├──→ [Player Wallet]
[Enemy Drop] ──→ 30 gold/hr ──→ ┘
The total input rate here is ~160 gold/hour of play + 50/day. That's your baseline supply number.

Sinks: where resources leave the system
A sink node is any mechanic where currency or items are consumed and effectively removed from the economy. The player spends — the resource is gone.
Common sinks:
SinkNotesUpgrade costsScales with progression. Should grow faster than earn rate.Crafting recipesMulti-resource sinks are powerful — they drain multiple currencies at once.Cosmetic purchasesPure sink with no gameplay return. Healthy for live economies.Gacha/loot boxesProbabilistic sink. Risk of over-draining players at bad luck.Trading feesTiny but constant sink. Useful for controlling player-to-player economies.
In a node graph, sinks are terminal nodes — resources flow in, and nothing flows out. They're where your graph ends.
[Player Wallet] ──→ 200 gold ──→ Upgrade: Level 3
[Player Wallet] ──→ 500 gold ──→ Cosmetic Shop
[Player Wallet] ──→ 150 gold ──→ Crafting: Iron Axe

The balance check: input vs. output
Once you have sources and sinks mapped, the key question is: does the total output rate exceed the total input rate?
Total sources: 160 gold/hr + 50/day
Total sinks: ~350 gold/hr (if player is actively spending)
In this example, a player who plays actively can spend faster than they earn. That's fine — it creates demand for the harder-to-reach sources (battle pass, seasonal events). But if a casual player earns 50 gold/day and the cheapest sink costs 500, you have a problem.
This is where the graph earns its value: you can see at a glance whether any player archetype — casual, mid-core, hardcore — has a path through the economy that feels good. Spreadsheets show you totals. Graphs show you paths.

Intermediate nodes: the economy gets interesting
Real economies don't just go source → wallet → sink. They have intermediate nodes — resources that are themselves the output of one process and the input of another.
Example:
[Enemy Drop] ──→ Iron Ore ──→ [Forge] ──→ Iron Bar ──→ [Crafting: Sword] ──→ (terminal)
Here, Iron Ore is neither a pure source nor a pure sink. It's an intermediate resource — a conversion node. The Forge transforms it into something more valuable at the cost of player time and possibly other resources (fuel, gold for the forge fee).
Intermediate nodes are where economy design gets nuanced:

They create meaningful choices. Should I sell the Iron Ore or forge it? That's an interesting question.
They create bottlenecks. If the Forge is slow, Iron Bars become scarce even if Iron Ore is plentiful. Intentional scarcity is a design tool — unintentional scarcity is a frustration.
They hide inflation. If Iron Ore accumulates because no one forges, your economy looks balanced in the raw numbers but players feel rich in one resource and poor in another.

What to look for in a node graph
Once you have the full graph drawn, scan for these patterns:
Isolated nodes
A node with no outgoing edges (other than the expected terminal sinks) means a resource is accumulating with nowhere to go. Classic inflation indicator. Ask: is there a sink I'm missing, or is this resource actually useless?
Bottleneck nodes
A node that all other paths run through. If that node gets disrupted (rate change, bug, event), it affects everything downstream. These are high-risk, high-leverage points to watch.
Parallel paths to the same sink
Two different sources both feeding the same sink means that sink's drain rate needs to account for both simultaneously. Easy to miss in a spreadsheet; obvious in a graph.
Dead-end sources
A source node whose output has no path to any meaningful sink. Players earn the resource but can't spend it on anything they care about. A motivation killer.

Modeling this in Itembase
This is the exact problem Itembase was built to solve. You model each resource and mechanic as a node, connect them with edges, assign rates, and the tool simulates how currency accumulates or depletes over time across different player archetypes.
The visual representation forces a discipline that spreadsheets don't: you have to explicitly account for every connection. There's no way to miss a flow when you're drawing it.
If you're building an economy right now — even a simple one — mapping it as a graph before you start assigning numbers will save you a lot of painful rebalancing later.
Try it at itembase.dev

Top comments (0)