Back to Blog
skill treesprogressionbalancingsystems design

Skill Trees That Make Builds, Not Shopping Lists

Five playtesters, five nearly identical builds. Build variety is a structural property of your skill tree, not a tuning problem: how to pick a topology, cost nodes against a point budget, and run a one-afternoon diagnostic that proves the tree has more than one answer.

GameDesignerX TeamNovember 15, 20268 min read

You built a forty-node skill tree. You watch six playtesters spend forty points each, and five of them end up with nearly the same eleven nodes. The sixth one went a different way, then said at minute fifty that they thought they'd "built it wrong" and asked whether they could start over.

That tree isn't a progression system. It's a shopping list with extra clicks. The good news: build variety is a structural property, not a tuning problem — you can design it in before you touch a number, and test for it in one afternoon.

Why trees collapse into one build

Three failure modes cause almost all of it.

Strict upgrades. A node that is better than its neighbour in every situation is not a choice. If +10% damage sits next to +10% reload speed and your game's bottleneck is damage, the second node is decoration. Players find the dominant path within one run and never revisit it.

Invisible math. A node reading "improves stability" tells the player nothing they can reason about. When players can't predict an effect, they default to the biggest visible number, usually raw damage. Opaque nodes don't add variety; they add guessing, and guessing resolves to the safest option.

The prerequisite tax. If reaching an interesting tier-3 node costs four boring tier-1 nodes, the boring nodes aren't choices either — they're a toll. Worse, the toll is usually the same toll for every branch, so every build shares its first ten points.

Pick a topology before you pick numbers

The shape of the tree determines how many distinct builds can exist. Choose deliberately:

Topology Shape Builds it produces Good for
Linear ladder One spine, no branches One, with pacing Short games, single-character action
Pick-one tiers 4–6 tiers, 3 exclusive options each 3^tiers on paper, far fewer in practice Readable builds, easy balance
Branching paths 3 trunks, light cross-links 3 pure + 2–3 hybrids Class fantasy without classes
Open web / constellation Many nodes, adjacency-gated Dozens, mostly unintentional Long games with respec
Unlock pool (no tree) Flat list, resource-gated Driven by loadout slots Roguelikes, build-per-run

A practical default for a small team: three trunks, five tiers deep, with one cross-link per tier. That is roughly 15–20 meaningful nodes plus three capstones — small enough that you can actually balance it, broad enough that two players' characters feel different by hour three.

Resist the open constellation unless you have a systems designer and telemetry. It looks generous and usually means forty nodes, six of which matter.

Give every node a job

Tag each node with exactly one of these types, then check your ratios:

  • Stat node — changes a number. Cheap to make, cheap to balance, zero identity.
  • Verb node — grants or changes an action: a dash, a parry, a second charge. This is what players describe when someone asks what their build does.
  • Rule node — changes how an existing system resolves: "critical hits refresh your dash", "ammo pickups heal you at full ammo".
  • Capstone — one per trunk, build-defining, mutually exclusive with other capstones.

A tree that produces builds is roughly 50% stat, 30% verb, 15% rule, 5% capstone by node count — but the verb and rule nodes should hold most of the power budget. If your tree is 90% stat nodes, you don't have builds; you have a slider.

The fastest fix for a flat tree is converting stat nodes into conditional stat nodes. +15% damage becomes +30% damage to enemies above 80% health (an opener build) or +30% damage to enemies below 30% health (an executioner build). Same power budget, now two different playstyles, and players can articulate the difference.

Write the three builds before you draw the tree

This is the single highest-value step and it takes twenty minutes. Before any node exists, write out the builds you want to see, in the voice of a player describing them:

  1. "I stay at range, I never reload, and I die instantly if something touches me."
  2. "I'm slow, I soak three hits, and every kill heals me."
  3. "I'm fast and fragile, and my damage comes from hitting the same enemy four times in two seconds."

Now each node must earn a place by serving at least one of those sentences. A node that serves all three is probably a stat node that belongs in the shared base of the tree or nowhere. A node that serves none is cut. When a fourth build emerges from playtesting that you didn't plan, that's a win — document it and support it.

This is also the cleanest way to document the tree for your team. In GameDesignerX, the three build sentences live as a mechanic entry with the tree's nodes beneath it, so the person tuning tier-4 next month can see which fantasy a node was meant to serve rather than guessing from its numbers.

Cost it in a budget, not by feel

Pick a currency and a total. Say the player earns 40 points over a full playthrough, and the tree contains 120 points of nodes. That 3:1 ratio is the pressure that makes choices real; at 1.2:1 everyone eventually buys everything and all builds converge at the endgame.

Then set a cost ladder and hold to it:

Tier Point cost Power budget per node Count
1 1 small stat, ~5–10% 6
2 2 conditional stat or minor verb 6
3 3 verb or rule 5
4 4 rule, build-shaping 3
5 6 capstone, exclusive 3

Two rules keep this honest. First, no tier-1 node may be mandatory for more than one trunk — that kills the shared toll. Second, a tier-5 capstone should cost roughly 15% of the player's lifetime points, so committing to one is felt.

Keep that table in your balance sheet, not in your head. When someone wants to add a node mid-production, the question becomes "which tier, and what comes out of the budget?" instead of a debate.

Make the numbers visible

Show real values in the tooltip: +30% damage to enemies above 80% health, not "increased damage against healthy foes". Show the resulting total where you can — damage: 24 → 31. If a node depends on a hidden formula, players will not build around it, which means it can't be part of a build.

Two cheap additions pay for themselves: a hover preview that highlights the stats which would change with before/after values, and a build summary panel — five lines of derived stats plus the verbs the player owns. The summary is also your best bug-report tool during playtests.

Respec, and what it costs you

Decide early, because it changes your balance work:

  • Free respec — players experiment and you get far more build data, but build identity weakens and players optimise per-encounter.
  • Paid respec — a currency sink and a real decision, though a bad early pick punishes new players.
  • No respec — maximum commitment and maximum regret. Defensible only if runs are short or the tree is per-run.

For a single-player game under 25 hours, free respec at a hub is usually right. The variety you want is variety across players and playthroughs; the respec button just lets one player find their build faster.

A one-afternoon diagnostic

Run this with five testers who have never seen the tree. Give each of them 40 points and no advice.

  • Can each tester describe their build in one sentence, without naming node titles?
  • Do any two testers share more than 60% of their nodes?
  • Which nodes were picked by zero testers? (Cut, merge, or re-cost them.)
  • Which nodes were picked by all five? (Either move them into the free base, or weaken them.)
  • Ask each tester to predict a node's effect before buying it. How often are they right?
  • Ask what they'd pick on a second playthrough. Silence means the tree has one answer.

The 60% overlap number is the one to watch. In a healthy three-trunk tree, two testers will share the base and diverge from tier 2 onward, landing somewhere near 30–40% overlap. If your five testers are at 80%, you have a dominant path — find the node they all took and ask what it's compensating for. Nine times out of ten it's a node that papers over a weakness in the base character rather than extending it.

Log each tester's described build and the nodes they took in your playtest notes, and re-run the diagnostic after every retune. A skill tree is one of the few systems where you can measure whether a balance pass worked — as long as you keep asking the same six questions.

Skill Trees That Make Builds, Not Shopping Lists — GameDesignerX Blog — GameDesignerX