Builder's Manual · Chapter 4

Character Creation Arithmetic

Character creation in this project happens two ways, and both run on the same arithmetic. Get it wrong in either and the sheet will tell you.

The pool

Only one XP number is stored on a character.

  • xp.granted — what they were handed: 100 per Tier of play at creation, plus 100 for each Milestone Ascension. At Tier 1 that is 100.

Everything else comes from xpAwards, an append-only log. Each row is an amount, the Tier the character was at when it was awarded, and what earned it. A new character has an empty log, whatever their Tier — the corebook is explicit that "You start the game at Rank 1 if you Ascend at character creation" (p.149), so a Tier 3 character built with 300 XP is still an Initiate.

XP Pool adds xp.granted to the sum of the log; that is what may be spent. Nothing records what was spent. The sheet derives it.

What things cost

Both tables are cumulative totals, not per-step increments. Reaching Attribute rating 4 costs 20 XP in total, not 20 on top of what rating 3 cost.

RatingAttributeSkill
00
102
246
31012
42020
53530
65542
78056
811072

Attributes start at 1 and can never be 0. Skills start at 0. A Talent costs the xpCost on its file, normally 20.

Archetype and Species are charged separately. The corebook prints one combined figure because it ties each Archetype to a single Species (p.89). This system does not: the Imperium Archetypes are open to Humans and Felinids alike, so an Archetype's xpCost covers its grants only, and the chosen Species' own xpCost is added on top. Human costs 0, so Human characters are unaffected and every printed Tier 1 figure still holds; a Felinid pays 10 more than a Human for the same Archetype. Which Species may take an Archetype is the availableToSpecies list on the Archetype file.

Archetype grants are free

This is the rule that is easiest to get wrong. An Archetype's attributes and skills objects are a floor the character receives without paying for it. Charge only the difference above that floor.

Sister Hospitaller grants Willpower 3 and Intellect 3. A Sister with Willpower 3 pays 0 for it, not 10. That is why her suggested array costs 26 XP while naively summing the same seven ratings gives 46. The corebook's printed Suggested Attributes costs are all calculated this way, and they are the check: if your arithmetic does not reproduce them, your arithmetic is wrong.

Never set an Attribute or Skill below what the Archetype grants.

The invariant

Archetype + Attributes + Skills + Talents + Wealth must not exceed XP Pool.

There is no stored spend field to get wrong. XP Spent is computed from what is actually on the sheet, so the recorded spend and the character cannot disagree.

The sheet checks you

The character type computes the whole breakdown and shows it on the Advancement tab: XP — Archetype, XP — Attributes, XP — Skills, XP — Talents, XP — Wealth, and XP Spent. Beside them sits XP Remaining — pool minus spend. Below 0 the build is illegal and the sheet raises an error.

These are computed from the linked Archetype and Talent files, so they stay correct when those files change.

Rank and Ascension

Both are derived. Neither is stored, and neither can be corrupted by an edit.

Lifetime XP EarnedRankStanding
0–391Initiate
40–792Veteran
80+3Champion

Rank sums the whole log, which only ever grows, so Rank can never drop — it carries across Ascension exactly as p.146 requires, with no "highest Rank reached" field needed to hold the ratchet.

Ascension is measured differently: p.149 asks for 100 XP earned in the current Tier, which is the sum of log rows stamped with the current Tier. Granted XP never counts, so the 100 XP from a Milestone Ascension does not immediately unlock the next one.

To Ascend, raise advancement.tier by 1. That is the entire operation. New awards get stamped with the new Tier, so XP Earned this Tier restarts at 0 on its own while lifetime earned — and therefore Rank — is untouched. This is the reason the log exists: an earlier design stored a per-Tier counter that had to be hand-migrated at Ascension, and a GM that zeroed it without carrying the total forward silently destroyed the character's Rank.

Awarding XP

Add a row. Never edit or remove one, and never raise xp.granted to represent earned XP — that inflates the pool while freezing Rank, and the sheet looks correct while being wrong. The rule is also stated as a triggered GM instruction, Awarding XP And Ascension, so the in-play GM gets it at the moment it edits a sheet.

Generated characters

The character type's creation wizard collects answers and hands them to an AI that writes the file — the flow engine itself does no arithmetic. Everything on this page is therefore also stated in the wizard's settings.generationInstructions, which is the only channel that reaches the generator at creation time. If you change a cost rule here, change it there too, or generated characters will drift from hand-built ones.

Manual updated Aug 16, 2026.