Missions & Game Modes

ZeroQuest Procedural Missions

Each mission's type, narrative, timer, stages, and objectives are derived deterministically from world coordinates via ZeroQuest. No two playthroughs follow the same sequence. Quest text uses the Paradistro narrative profile with covenant governance, lattice authority, shell coordinates, and builder mythology theming.

ZeroQuest Apache 2.0

Quest TypeTimerStagesWin Condition
PROTECT_HOME60-180s1Kill all enemies + extract at carrier
PROTECT_POI90-240s1Kill all enemies + extract at carrier
DATA_DUMP30-60s/stage3Complete all stages + extract
STRONGHOLDNone1Kill all enemies (no extraction needed)

Mission Flow

MENU → startLevel() → LOADING (voice pool prewarm) → QUEST_BRIEFING (narrative + accept) → PLAYING (combat + ATC comms) → MISSION_COMPLETE (score + bonus) → Next Level or Quest Gate

At quest gate levels (5, 10, 15, 20, 25), the Mission Complete screen shows "NEW INBOX MESSAGES AVAILABLE" and routes the player to the Hangar to access the narrative INBOX before continuing.

Enemy Spawning

Enemies spawn at 300ms intervals around quest objective coordinates. Round-robin across multiple spawn centres for multi-point quests. Base count: debugEnemyBaseCount + (level × 4). One FRIGATE per level. Nemesis ACEs with tier-scaled escorts.

Game Modes

Campaign

New Game / Continue

Progressive missions with escalating difficulty. Score persists as upgrade currency. Nemesis rivals carry between levels. Auto-saves to IndexedDB.

Sandbox

Tutorial (Free Play)

Max upgrades, 99 missiles, no mission, no timer, no initial enemies. Discovery spawning: every 3rd new cell spawns 2-4 enemies. HUD shows "FREE PLAY".

POI Integration

Quest stage coordinates are converted to cell-space and registered as ZeroStructureMask sites. Void pockets are carved at each objective location, and POI GLTF models render at the anchor. Enemies spawn around these POI centres for PROTECT_POI, DATA_DUMP, and STRONGHOLD quests. POIs are prevented from spawning within 2 cells of the carrier to avoid visual clutter near the home base.

ZeroStructure Mask Apache 2.0

INBOX Narrative System

A branching narrative experience accessed from the Hangar menu. The INBOX presents a terminal-themed message interface with character conversations, binary choices, and 16 possible endings.

Story Structure

ElementCount
Binary Choice Points4
Unique Endings16 (24)
Quest Gates5 (Q0 through Q4)
Characters5 (VAEL, CAEL9, ALBATROSS, UNKNOWN, PLAYER)
Story Threads~20 (branching paths P0 through E_*)

Quest Gate Schedule

New narrative content unlocks every 5 levels. The INBOX is empty until the player completes level 5.

Level CompletedGate UnlockedNew Content
5Q0_LAUNCHP0 thread — first contact, first choice
10Q1_CONTACTP1A or P1B (based on P0 choice)
15Q2_ENGAGEMENTP2 thread — third arc
20Q3_CRISISP3 thread — climax
25Q4_RESOLUTIONEnding thread (1 of 16)

INBOX Interface

UI

Thread Sidebar

Quest-gated thread list with unread indicators and choice progress bar (5 dots).

Chat

Message Bubbles

NPC messages left-aligned, player responses right-aligned. Character colours and avatars per speaker.

Choice

Choice Buttons

[A][B][C][D] with keyboard shortcuts and staggered reveal animation. Path flags (PATIENT, AGGRESSIVE, etc.) stored per choice.

Ending

Ending Screen

Unique title and body text for each of 16 endings. Ending counter tracks discoveries.

Narrative Persistence

Player choices and quest gate progress persist to IndexedDB. Choices save immediately on selection. Survive app close, menu exit, and full restart via Continue. New Game resets all narrative progress.