Levels
Player experience
A level is a chapter you stand in. The space tells the story. The Altar is the first chapter, and it is unlocked. The Void is the second, and a quest opens it. The Ruins is the next place, still a concept.
Each level owns its spawn table, including a boss or miniboss that can belong only to that chapter. Today The Altar and The Void list the same 25 rounds, in the same order. The rounds themselves are shared. The pacing of each table belongs to that level.
Product goal
Each level is a different fight and a different chapter. A unique roster, and a boss that only shows up there, give the quests and the story something that only happens in that place. Unlocking the next level is how the narrative moves.
Open
Every level is an exploration so far. The visuals are open, and the quests are an MVP to prove that system works. The pages describe what is there now.
What is unique about each roster is open until a table actually differs. The specific plot is open. New places are still open. The Ruins is a concept page on this site. It is not a level on master.
The Altar
Unlocked from the start
The Altar is chapter one. You start here. Survive to round 5 and the level gives you Ground Pound and the door to The Void. The horde, the shop, and the kit are what you learn in this room.
The Void
Locked
The Void is chapter two. You earn the door by surviving The Altar to round 5. The goal inside is round 15, and the reward is Halo. The fight is the same 25 rounds, for now.
The Ruins
Concept
The Ruins is an early concept for a third place: ancient temple demonic ruins. It is not a level on master. It has no round table, no quest track, and no unlock.
As built
Levels
What the player can do
Level select lists levels from LevelCatalog. Each entry is a LevelDefinition: a display name, a level id, and a scene. Choosing Play loads that scene for a solo run. Co-op start loads the level id carried on the match. A development debug entry loads the default level definition instead of asking.
What ends it
The level scope ends when gameplay returns and the player does not restart from the leaderboard, or when a co-op match returns to the lobby. Back on level select leaves the player scope. The scene unloads with the level scope.
What is saved
A scored run submits a RunScore under that level id. The level asset itself is project content, not a player save. Which levels exist is the set of LevelDefinition assets in as-built assets.