Skill trees: constellations, a destiny board, tiered columns and more — nodes players unlock with points or by levelling a skill.
Skill Boards
A skill board is a skill tree. It is a set of nodes joined by lines, grouped into coloured branches. Players unlock nodes one by one: a node can give a skill, teach an ability, grant a passive, add stats, or change the rules (a keystone). Which boards a character uses is set on its Progression Profile.
You build boards in Database → Skills → Boards — a canvas builder with a palette on the left, the board in the middle and an inspector on the right. Assign them in Database → Characters → Progression Profiles → (a profile) → Skill boards.
Setting it up#
- Open Database → Skills → Boards and click New board.
- Pick a starter preset (one per layout, below) and click Create board. Leave Pure template off to build it from your own skills, abilities and classes; tick it for placeholder nodes. Or pick Empty board and a layout.
- The builder opens. Drag skills, abilities, passives or node kinds in from the left, connect nodes by dragging from the + handle on a node to another node, and set each node's rules in the inspector.
- Press Validate and fix anything red (errors block a save; amber warnings don't). Press Simulate to check how many points a character has by a level against what the board costs.
- Press Save (Ctrl+S).
- Open Database → Characters → Progression Profiles and pick the profile your characters use. If the board's nodes cost points, add a Point pool for them, e.g. "Talent Points", 1 per character level.
- Under Skill boards, click + Add a board and pick it. Add more boards for more tabs, in the order players should see them.
- Decide Skills on no board still level and show. On (the default) = every skill still shows as before. Off = a character only sees the skills its boards give it.
- Publish.
Layouts and starter presets#
Every board is the same thing — nodes, lines and branches. The layout type decides how the builder snaps nodes and how the board is drawn. Switching layout (the layout menu above the board, or Board → Layout type) arranges the same nodes for the new type: every line, branch and rule stays, and Ctrl+Z brings the old arrangement back. The look follows the new layout unless you changed it.
| Layout | Snapping | Preset |
|---|---|---|
| List | Rows, a column per branch | Every skill, by category — one row per skill, levelled by use |
| Constellations | Free placement on a star field | Constellations — a constellation per skill category, each a different figure (a big category walks several figures side by side); each skill is a big guiding star, its perks are small stars that need the skill at 10 / 25 / 50 and cost a point; abilities that need the skill hang off it, when your project has any |
| Destiny Board | Free placement | Destiny Board — a dense web from a hub: a branch per skill category with side clusters and links between neighbouring branches; levels by use: the next skill opens at level 10 of the one before, abilities at 20 |
| Tiered Columns | A panel per branch, a row per tier | Columns named after your first three classes (Warrior / Rogue / Mage as a template) — a root, lanes of themed talents, the class's own abilities down the middle and a pick-one capstone; each tier needs 3 more points spent in the column |
| Radial Web | Rings around the centre, a wedge per branch that has nodes | Radial web with class starts — six themed sectors, notables on the outer ring, a start on the rim for each class in the sector that suits it (a class no sector suits names its own wedge) |
| Hex Grid | Hex centres | Hex grid — 37 hexes three rings deep in six themed sextants; each hex opens from the hexes next to it nearer the centre; abilities that fit a sextant's theme sit on its corner |
You can also apply a preset to an existing board from Presets above the board (My project or Template). It replaces the board's nodes — undo brings them back, and nothing is saved until you press Save.
The builder#
| Do this | How |
|---|---|
| Add a node | Drag a skill / ability / passive or a node kind from the left onto the board, or click it to drop it in the middle of the view |
| Move | Drag a node (or a selection). It snaps to the layout; hold Alt to place freely. Arrow keys nudge one grid step (Shift = five) |
| Connect | Drag from the + handle on a node's rim to another node. Lines point from parent to child. Zoomed out, where nodes are too small for a handle (a hint says so when you select one), press C or Connect above the board for the connect tool: drag from one node to another, or click one and then the other. Esc stops |
| Select | Click; Shift/Ctrl-click adds; drag on empty space or across a line for a box; Ctrl+A for all |
| Lines | Click a line to select it, then Reverse, Make two-way or Delete in the inspector. A decorative line says so there, stays decorative when reversed or made two-way, and Make it a real line makes it count for unlocking |
| Branches | Select nodes and press G (or Make a branch). Rename and recolour them on the board's Branches tab; a branch colours its nodes and lines |
| Mirror a selection | Select nodes and press M for a flipped copy of the same shape, which comes into view. It flips through the selection's parent when that spot is free, so the copy hangs from the same parent; otherwise it lands in the nearest free spot. The copies keep the lines among themselves, and where they start takes one more line: from the original's parent, else a nearby node of the same branch, else the nearest start, and only if it's no longer than this board's normal line (on Hex, neighbours only). If none fits, a message says which lines to draw, such as Draw 1 line into Mercy I to finish, those copies stay selected, and Validate warns until you do. Hex needs the whole shape on free hexes, across the selection's parent or past the edge of the board, which can grow by the selection's width. Tiered needs it to fit in its own panel without touching a neighbour; with no free lane beside the selection the copies go below it, and the message says so. If it can't, nothing changes and you see No room to mirror here. Radial, Destiny and Constellations can grow past their edge, staying close. List has no mirror or flip. Shift+M flips in place |
| Auto-layout | L (or Auto-layout) arranges the whole board for its layout type. A board that needs nothing, such as a preset you haven't touched, stays exactly as it is and you see Already arranged. On a Hex board only the nodes that are off the grid or on top of another move |
| Copy, paste, duplicate | Ctrl+C, Ctrl+V, Ctrl+X, Ctrl+D — pasted nodes get new ids |
| Undo / redo | Ctrl+Z / Ctrl+Shift+Z (or Ctrl+Y) |
| Pan and zoom | Space + drag, right drag or middle drag; the mouse wheel zooms at the cursor; F fits the board; click the minimap to jump |
| Preview | The eye menu shows the board as a new character sees it, owned or maxed |
| Shortcuts | Press ? |
On a phone or tablet#
The builder works by touch. It's the same board with the same tools, arranged for the screen.
On a phone, or any window under 768 wide or 500 high, the board fills the screen and the panels move into sheets:
| Where | What's there |
|---|---|
| Top bar | Back, the board's name, Edit (the inspector, for the selection or the board), Save and More |
| More | Layout, preview, Validate, Simulate, Auto-layout, Make a branch, snap, shortcuts and presets |
| Bottom bar | Add, Connect, Select many, Undo, Redo, Delete, Mirror and Fit. A tool that needs a selection is greyed out until you have one |
The minimap and the zoom buttons are hidden: use two fingers and Fit.
| Do this | How |
|---|---|
| Select | Tap a node or a line. Tap empty space to clear |
| Move | Drag a node with one finger |
| Pan | Drag empty space with one finger |
| Zoom | Pinch with two fingers, which also pans as they move. A second finger during a drag cancels it and puts the node back |
| Select many | Hold a finger still on empty space, then draw a box. Or turn on Select many: one finger draws a box and a tap adds or removes a node |
| Connect | Turn on Connect, then tap a node and tap another, or drag between them. The first node gets a green ring and the board names it. When a selected node is big enough on screen it also has a + just off its edge: drag it to another node, or tap it and then tap the other. Zoomed out, the board says to zoom in or use Connect |
| Add | Add, then tap an entry: it lands in the nearest free spot to the middle of the view, never on top of another node |
On a touch screen, More lists these gestures in place of the keyboard shortcuts.
On a tablet the layout stays as it is on a desktop. Buttons grow to finger size, the same bottom bar appears, and the panel button above the board hides the inspector so the board can take the full width. Add is in the bottom bar whenever the palette isn't already on screen.
How nodes are gained#
Each board has a levelling mode:
| Mode | What it means |
|---|---|
| By use | Nothing is bought. A node opens by itself once its unlock rule passes — for example, "Sword level 10" opens the nodes after the Sword node. A node opens at its full rank. The Destiny Board style |
| With points | Every node is bought rank by rank from its point pool |
| Both | Per node: a node with no cost opens by use, a node with a cost is bought |
Choice nodes are always picked by the player, even on a board that levels by use (they cost nothing there). Picking one locks the other nodes in the same choice group.
Node kinds#
| Kind | What it does |
|---|---|
| Skill | Shows a skill. Its XP bar levels it as it always does; on a board with Skills on no board off, the skill appears once this node is unlocked |
| Ability | Teaches an ability when unlocked |
| Passive | Grants a passive while the node is owned |
| Stat | Adds its effects (e.g. +10 Max HP) for every rank owned |
| Keystone | A big node with effects like a stat node — use it for the rule-changing picks |
| Choice | Pick one of the nodes sharing its choice group |
| Decor | Art and labels. Can't be unlocked |
Node fields#
Select one node to edit it in the inspector. Select several to set the branch, size, cost or lines-in rule of all of them at once.
| Field | What it does |
|---|---|
| Kind | Skill, Ability, Passive, Stat, Keystone, Choice or Decor (above) |
| Skill / Ability / Passive | The record a skill, ability or passive node gives |
| Name | What players see. Empty = the record's own name |
| Description | The node's tooltip |
| Size | Small, normal or large on the board |
| Branch | The branch it belongs to (colour, and points in branch) |
| Icon | Empty = the record's icon, or the kind's symbol |
| Ranks | How many times it can be taken (1–100) |
| Effects | Stat + amount, added per rank owned. Number fields accept a minus only where negatives are allowed: an amount can be negative, Ranks can't |
| Cost → Pool | The point pool it is paid from. Empty = the profile's first pool |
| Cost → Amount | Cost of the first rank |
| Cost → Per rank | Added to the cost for each later rank (rank 2 costs Amount + Per rank, …) |
| Start node | Can be unlocked with nothing before it |
| Start for classes | Only these classes start here; others reach it through its lines |
| Lines in | Any (one connected node owned), All (every connected node owned) or None (needs nothing) |
| Parent skill level | The connected skill node's skill must reach this level |
| Skill level | A skill must be at this level |
| Character level | The character must be at this level |
| Points in branch | Points already spent in this node's branch (Tiered Columns tiers). A node in no branch counts the whole board |
| Quest | A quest that must be turned in |
| Item | An item the player must carry |
| Classes | Only these classes may take it |
| Condition | An expression in the same language event pages use, e.g. level >= 10 && quest("q1") == "turned_in" |
| Choice group | Nodes sharing it are pick-one |
The first rank needs the whole unlock rule; later ranks only need their cost.
Board settings and look#
Click empty space to edit the board itself.
| Field | What it does |
|---|---|
| Name / Description / Tab icon | How the board's tab shows in game |
| Layout type | One of the six layouts (re-snaps the same nodes) |
| How nodes are gained | By use, With points, or Both (above) |
| This board has its own respec rule | Off = the rule of the pool its nodes cost. On = the same respec editor pools use, for this board |
| Background | Edge and centre colours, a pattern (star field, dot grid, rings, hex grid, leather) and an optional image |
| Lines | Straight, orthogonal, curved (arcs on rings), dotted or glowing; width; colour when locked and when owned |
| Nodes | Shape (circle, hex, diamond, rounded square, star), Node size (50–250%, the grid stays put), the frame colour and glow per state (locked, available, owned, maxed), the Name typeface, and whether names show |
| Frame art | Your own image laid over the node: pick what it dresses (Every node, by state, or By node kind), then the image. The node's disc and icon stay underneath and lines stop at the rim, so a ring with a see-through middle frames them. Art for a kind wins over art for a state |
| Coloured wedges | Radial Web only: draw the coloured wedges behind the branches, or leave just the rings |
Deeper looks — parallax, unlock effects and sounds — are set in the UI editor.
Validate and simulate#
Validate lists every problem by the node's name; click one to jump to it (nodes with problems carry a red or amber mark). It reads the same rules the game does, so a node it passes is a node the server honours. It checks that a skill / ability / passive node names a record that exists, a choice node has a choice group, every node can be reached from a start node, a node needing all its lines in is not stuck in a loop, a choice group has more than one node, two nodes don't sit on top of each other, and node pools exist in a profile. Save runs the same checks: errors refuse the save and open the list.
Validate also warns when an unlock rule needs a skill, quest, item or class that no longer exists, when a line runs out of a decor node (decor unlocks nothing, so the game ignores that line), when Parent skill level is set but no skill node leads there (the game ignores it: use Skill level instead), and when a class can't unlock anything on a board that locks nodes to classes. It refuses a respec that costs an item or a currency with none picked, because the server would then refuse every paid reset.
Simulate shows what one character can really reach: how many nodes, the most points it can spend and the highest level any of those nodes asks for. On a board with class locks, pick a Class: nodes locked to other classes don't count, and neither do nodes only they can lead to. A pick-one group counts once, at its dearest node. So a Tiered board of 117 points may only let a class spend 36, and Simulate says so. Pick a progression profile and a character level to also see, per point pool, the points earned by that level against what this character can spend, plus how many nodes open by use or are still level-locked. It assumes the board's skills are at the same level, ignores a parent skill level the game ignores, and saves nothing.
Resetting a board#
A player resets a board (all of it), one branch, or one node. The board's own Respec rule decides — or, when the board has none, the respec rule of the pool its nodes cost:
- Allowed, What can be reset (one node, one branch, everything), Only at an NPC, Cooldown.
- Free below level and Free resets, then silver, an item or a custom currency, plus Rises per paid reset.
A reset refunds every point the nodes cost, takes back the abilities those nodes taught (an ability the player already knew, or gets from a starter or learn-at-level row, stays) and removes their passives and stats. A single node can only be reset when nothing the player owns depends on it. A board that levels by use has nothing to reset.
When you change a board#
The next time a character logs in, a node they own that you deleted, turned into decor, gave fewer ranks or re-priced is removed and its points go back to the pool — they unlock it again at the new price. A deleted board refunds all of its nodes. A board you only unassign from the profile keeps the player's nodes; they do nothing until it is assigned again.
Gotchas#
- Nothing happens until a profile uses the board. A board on no profile is never shown and gives nothing. The board's settings show which profiles use it.
- A save is refused while the board has errors (red in Validate) — for example a skill node with no skill picked, or no start node on a board with lines. Warnings save.
- Two people, or two tabs, on one board. If the board was saved somewhere else after you opened it, your save is refused and your work stays on screen. Choose Reload (loses your changes) or Overwrite (keeps yours, and replaces the other save). If it was deleted meanwhile, you can save your work as a new board.
- A request that fails (the network dropped, the server restarted) says so in a message and keeps your work. Press the button again.
- Numbers have limits. A level can be at most 100,000: the field shows the limit when you leave it. Through the API, a value past a limit, more than 6,000 lines, more than 64 branches or a name that's too long is refused with an error, never cut short.
- Tiered Columns gives its three columns to the first three classes by Order (the Order field on the Classes page). Any other class is named when you create the board, and can unlock nothing until you give it a start.
- Switching layout moves nodes. Positions are re-arranged for the new layout, and switching back doesn't restore them. Undo does, until you leave the builder.
- Dashed lines on a constellation are either decorative (part of a figure's shape, ignored by unlock rules: click one to check) or real lines between figures, drawn quietly so the figures stay readable. Dashed lines between Tiered panels are real lines too.
- The same skill, ability or passive can be placed twice. It's allowed, but you see a message when you drop it and Validate warns by name.
- Names you can't see at a far zoom are waiting for room, and a small note on the board says so: zoom in. A bigger Node size also spreads the board out to keep room for them.
- A layout switch rewrites a description only if a preset wrote it. Anything you typed stays.
- Images on a board are stored as links to your media library. A link can't be longer than 4,096 characters; anything else is refused with a message rather than saved broken.
- Applying a preset replaces the board's nodes and description. The name changes too, unless you typed your own. Undo brings it all back until you leave the builder.
- RPG Maker section headers in your database, such as
====Alteration====, are skipped by presets and the palette. The records themselves aren't changed. - Radial wedges come from the branches that have nodes. A new, empty branch takes no wedge until a node joins it; then nodes re-seat so each sits in its own wedge. Dragging a node into another branch's wedge snaps it back to its own; change its Branch to move it, or hold Alt to place it freely.
- Deleting a board asks first and lists the profiles still using it; they simply stop showing it, and characters get their points back at their next login, even when it was your last board. This needs the game server from the same release.
- Deleting a skill that's on a board warns you and names the boards. Those nodes stop working until you pick another skill: Validate lists them.
- List boards have no lines. Lines you drew on another layout are kept but not used while the board is a List.
- The server checks every unlock. The player only names the node; the server checks the board is theirs, the rule, the choice group, the rank and the cost. A refused unlock says why and spends nothing.
- Ability nodes respect the learned-ability cap. At the cap the unlock is refused (nothing is spent) until the player forgets one.
- Skills on no board off with no board assigned changes nothing — every skill still shows.
- A condition that can't be read (a typo) keeps the node locked.
- Feature flag. Behind Skill Boards in Feature Flags (on, Beta). Off = boards give nothing and unlocks and resets are refused; owned nodes are kept. Boards also need Progression Profiles on.
- Changes reach a running server when you Publish.