Run
Player experience
A run is one life. You survive as many rounds as you can. Between rounds the shop lets you rent power to keep going. When you die, you go back to the kit you equipped. What you unlocked is still yours.
Hardcore is a way to start that life with Stream, an empty second slot, and no spells. It does not change the kit you saved. A quest can require it. None of the current quests do.
Product goal
The core loop is the life. Last as many rounds as you can, renting power from the shop until you die, then return to the equipped kit for the next run.
Open
The fight, the shop, and the death are in the game. How score combos grow, and how the shop's costs and odds hit the right curve, are open on those pages.
Inventory is the kit you come back to. A shop purchase does not write it.
Shop
The economy
You spend what the horde paid you between rounds. Cards rent a weapon, a spell, or a stat for this life. The countdown is short. Nothing you buy is written into your inventory.
Score
The record of the life
Kills pay points. A combo holds while you keep killing inside a short window, and it breaks when you take damage. A multi-kill in a single frame pays extra, and so do bursts, explosions, and blackholes. Style is what you submit for the level. Souls stay on your profile, counted from the enemies you killed. The kit you rented does not.
As built
Run
A run is one life inside a level: rounds, score, the shop, then a result.
As-built. Numbers for score, shop, stats, and milestones are in the economy readout.
What the player can do
GameplayState drives RoundOrchestrator and the score services while the player fights. Kills add points to the run. Between rounds the shop offers cards. A gauntlet or spell card equips that seat for this life only, through the mid-life equip path in the loadout chapter. Stat, ability, and stackable cards apply to the seat's run stack. The wallet, prices, and stat tables are the generated readout, not this page.
What ends it
The life ends when gameplay returns a GameSessionResult.
| Reason | What the player sees next |
|---|---|
| Player died | Score is submitted. Leaderboard. Restart runs the level again. |
| Party wiped | Score is submitted. Results. Return to the co-op lobby, no in-place restart. |
| Co-op ended | No leaderboard. Return to the lobby. |
| Quit to title | The level scope ends without that scored submit. |
What is saved
A submitted score stores the round reached, enemies killed, and style score for that level id and player name. Lifetime souls increase by the enemies killed on that result. Shop offers, shop equips, and the run stack are not written to the profile.
Hardcore
What the player can do
From level select the player opens the inventory screen and equips owned weapons and spells into the profile loadout. At the start of a life, LevelState resolves that loadout through the item catalog into a ResolvedLoadout for the local seat. Hardcore replaces that resolved kit with the hardcore start before gameplay builds. Co-op seats use the kit on the match when one was sent; an empty local kit falls back to the saved loadout.
What is saved
Inventory and the equipped loadout are on the profile save via IPlayerDataService. A mid-life shop equip is not that save. Hardcore is a choice on that run, stored on the match config for the life, and it does not replace the saved loadout.