A mission is a single deployable run. The player picks one of two postings on the mission board, flies the run, and is graded at extraction. Each posting is a positively-framed in-universe contract that names a planet, hiring faction, difficulty tier, objective vibe, and extraction timer. The mission board surfaces 11 postings (one per planet in the planet order) authored as static data; selection at the board is biased toward the planet the player tapped in the hub. At run end the engine emits a fixed-schema result record that drives the post-run screen, history buffer, per-planet best-tracking, challenge progression, and the prologue tutorial gate.
Stats tables
Mission objective types (engine tuning)
The board collapses display copy into four objective vibes; each applies a distinct engine tweak on top of base difficulty.
Objective
Enemy count multiplier
Weapon boxes placed at run start
Intent
Explore
1.0
0
Baseline run
Find
0.85
2
Calmer, more loot
Protect
1.15
1
Mild pressure with a weapon to defend with
Battle
1.4
0
Pure pressure, no extra loot
The enemy-count multiplier stacks multiplicatively on top of planet, rarity, and challenge multipliers. A caller-supplied weapon-box count overrides the objective default.
Mission difficulty tiers
Difficulty
Extraction timer (seconds)
Extraction timer (M:SS)
Routine
180
3:00
Standard
240
4:00
Hazardous
300
5:00
Critical
360
6:00
Black Flag
420
7:00
The 240-second Standard timer is the per-level default that the engine writes into the mission timer at run start. The board shows “SURVIVE M:SS until extraction” using this value.
Mission factions (in-universe contract authors)
Faction
Cygnus Freight Co.
Outer Rim Salvage
Sol Defense Authority
Independent Operators
Eden Reclamation Corps
Network Sysadmins
Delphi Mining Guild
Wasteland Brokers
Speedway Commission
Voidstar Research Div.
Mission postings (one per planet in planet order)
Posting index
Faction
Objective vibe
Difficulty
Extraction timer (s)
0
Cygnus Freight Co.
Explore
Routine
180
1
Outer Rim Salvage
Find
Routine
180
2
Sol Defense Authority
Battle
Standard
240
3
Eden Reclamation Corps
Explore
Standard
240
4
Delphi Mining Guild
Explore
Standard
240
5
Network Sysadmins
Find
Hazardous
300
6
Independent Operators
Protect
Hazardous
300
7
Wasteland Brokers
Protect
Hazardous
300
8
Speedway Commission
Battle
Critical
360
9
Voidstar Research Div.
Explore
Critical
360
10
Sol Defense Authority
Explore
Black Flag
420
Run-time difficulty escalation (tier counter)
Stat
Value
Per-level timer
240 s (engine default node timer)
Starting tier
1
Tier increment
+1 each time the timer expires and difficulty ramps
tier, kills, events, level (write only on strict improvement)
Aggregates computed
averages across stored runs, personal-best score / kills / time / tier / damage
New-account spawn dampener
Mission spawn rate is dampened based on the number of prior runs in local history.
Prior runs
Spawn-rate multiplier
0
0.50
1
0.70
2 to 9
0.90
10 or more
1.00
Prologue tutorial beats (first four missions)
Beat
Name
Tracking stat
Target
Reward
1
First Flight
total_kills
5
10 gems
2
Getting Stronger
max_run_level
2
15 gems
3
New Weapon
events_completed
1
1 ticket + 20 gems
4
Welcome Home
pulls_made
1
50 gems
Beats 1 through 3 are completed inside a single continuous tutorial run; beat 4 covers the first deploy-mission, first pull, and hub-lite reveal. Target duration is 10 to 15 minutes.
Hub reveal levels (gated by mission progression)
Reveal level
Triggered by
Currency bar
Bottom nav
Shop
Collection
Missions button
Systems button
locked
Account creation
hidden
hidden
hidden
hidden
hidden
hidden
hub_lite
Prologue complete
hidden
hidden
hidden
hidden
hidden
hidden
hub_mid
Chapter 1 complete
shown
shown
shown
shown
shown
hidden
hub_full
Chapter 2 complete
shown
shown
shown
shown
shown
shown
Challenges (per-planet contracts tied to mission stats)
Each planet has 15 challenges (3 categories x 5 rarities). Three planets are fully tuned; the remaining eight share the Landing Site target table as placeholder.
Rarity
Gem reward
XP bounty (Landing Site base)
common
5
30
uncommon
15
60
rare
40
150
epic
100
400
legendary
300
800
Planet
XP bounty multiplier
Tier targets (C / U / R / E / L)
Single-run kill targets (C / U / R)
Lifetime kill targets (E / L)
Single-run event targets (C / U / R)
Lifetime event targets (E / L)
Landing Site
1.0
3 / 5 / 8 / 12 / 20
50 / 150 / 300
2,000 / 10,000
1 / 3 / 5
25 / 100
Sunrise City
1.5
4 / 6 / 10 / 15 / 25
75 / 200 / 500
3,000 / 15,000
2 / 4 / 6
30 / 120
The Voidstar
2.0
5 / 8 / 12 / 18 / 30
100 / 300 / 750
5,000 / 25,000
2 / 5 / 8
40 / 150
Tier challenges are always per-run. Kill and event challenges are per-run at common/uncommon/rare and lifetime at epic/legendary.
Per-objective engine knobs (in-run)
Stat
Value
Kill count required before sub-events spawn
25
Event-unlock lifetime-kill gate
25
Star-rewards lifetime-kill gate
25
Starting-artifact tier when granted
0 (uncommon visuals, common stats)
How it works
Picking a mission
The hub’s mission-board screen always shows exactly two posting cards.
When the player taps a specific planet in the hub, the pair is biased so at least one card is for that planet; the other is deterministically chosen from any other planet using a seeded hash so refresh and back navigation do not reroll the offer.
When the player opens the board without a planet preference, both cards are picked deterministically from the full 11-posting pool via the same seeded hash.
If a planet has zero matching postings (defensive), the picker falls back to the unbiased two-card draw.
Cards show: planet display name, hiring faction, difficulty pill, positive objective label, one-line in-universe blurb, payout line, posted-by author tag. Loss conditions are never surfaced on the card.
Running a mission
The run starts with a spawn invulnerability window before the first enemy appears.
The mission timer counts down from the posting’s extraction timer (3, 4, 5, 6, or 7 minutes by tier) and is surfaced as the “SURVIVE M:SS until extraction” banner.
Each completed timer cycle increments the tier counter and ramps difficulty; the run can continue across multiple tiers in a single deployment.
Spawn quantity follows a tent-pole curve (zero at start, ramping to full pressure by 120 s); spawn quality (enemy tier) ramps linearly across the run.
Weapon boxes are placed at the world start per the objective tuning (0, 1, or 2). Artifact boxes are placed per-level by a separate roll.
Sub-events start spawning after the player crosses the 25-kill threshold within the run.
On a Find objective, enemy count is multiplied by 0.85 and 2 weapon boxes are placed. On Battle, the count is multiplied by 1.4 with no extra boxes. On Protect, 1.15x count with 1 weapon box. On Explore, the baseline is unchanged.
Ending a mission
The run ends on death or on objective completion. The engine builds a mission-result record at this moment.
The mission-result record is the single contract: it covers identity, outcome (survived, boss killed, cause of death, phase at end, revive flags), performance (0-100 score, reward tier, objectives, time elapsed and remaining, time bonus, death-defiance use), in-run progression (level, tier, artifacts, weapons, upgrades, events, newly unlocked artifacts, per-artifact best tier), combat, economy, and exploration.
After the mission-result is built, the end-of-level matrix dissolve plays for 2.0 s, fading to black in the final 0.5 s. The screen then fades back in over the post-run results.
A compact summary is unshifted into the front of the local run-history buffer and the buffer is trimmed back to 20 entries.
For each of the four headline stats (tier, kills, events, level), the engine writes a strictly-improving per-planet personal best keyed by node id.
Reward tier
Score is a 0-100 aggregate calculated at run end; reward tier is the bronze/silver/gold/diamond label derived from it.
Time-bonus, death-defiance use, revive-token use, daily-bonus, and rare-signal flags are all recorded on the result for downstream consumption.
Prologue gate
A new account is funneled through the four-beat prologue before the hub opens up.
Beats 1 to 3 happen inside one continuous tutorial run; beat 4 happens across one full mission deploy + one pull + the hub-lite reveal.
Beat completion is checked against the matching progress key; on completion the listed gem and ticket rewards are granted and the beat’s call-to-action advances.
Until the prologue completes, the hub reveal level stays at locked or hub_lite (no currency bar, no bottom nav, no shop, no collection, no mission button, no systems button).
Difficulty stacking summary
The final enemy-count multiplier is the product of: world-knob enemyCountMult x objective-tuning enemyCountMult x facility enemyCountPct x planet rarityScale x new-account spawn dampener. The same stacking applies to enemy HP and damage with their own world-knob mults.
Interactions
Planets: each posting is bound to one entry of the planet order. The hub passes the tapped planet id into the board picker; the run-definition writes the planet id into the run context (used for nebula archetype selection).
Ships: the run-definition carries the ship combat-stats, meta-stats, weapon slot count, non-weapon slot count, and starting weapon list. Hidden rarity scale derived from the ship’s rarity feeds the world knobs.
Weapons: starting weapon list is run-init data; objective-placed weapon boxes (Find = 2, Protect = 1) seed the world; weapon-cache rarity cap on context gates drop quality; per-weapon shots / hits / damage are recorded on the mission result.
Artifacts: starting-artifact id (chosen on the inline-artifact pick after the previous stage) is granted at tier 0 at run start; per-level artifact-box rolls drop additional artifacts; mission-result records newly-unlocked artifact ids and per-artifact best-tier-this-run, which flushes into the artifact-unlocks store.
Modifiers / upgrades: levelup-rarity-cap on context gates upgrade choices; upgradesChosen is recorded on result; facility upgrade-choices-bonus is applied via context.
Events: event pool and event tier are written into the run-definition; the 25-kill in-run gate unlocks sub-events; eventsCompleted is recorded on result and counted toward challenge progress.
Bosses: boss-config id, base multiplier, and per-miss penalty live on the run-definition; bossKilled, bossId, and bossDifficultyMult are recorded on result.
Vision / world: vision config (base radius, dim width, dark opacity, ambient light), biome, seed, level config, weapon-box count, and artifact-box count are all packaged on the run-definition node.
Facilities (metagame): credit and reward percent bonuses, build / move / upgrade time reductions, gem-skip cost, world-event spawn percent, chest reward percent, challenge XP percent, mission success chance, mission board slots, mission ship slots, mission reward percent, mission duration percent, ship drop chance, event reward quality, hull role and contribution percent, weapon damage bonus, enemy count percent, elite-rarity cap. These all flow into the run context.
Codex: per-enemy and per-weapon damage bonuses are read in.
Telemetry: per-weapon shots / hits / damage stats are populated at mission end. The score, reward tier, and history summary feed the post-run UI and the per-planet PB writes.
Run history: the buffer feeds averages, personal bests, and the new-account spawn dampener (the dampener reads only the count, not the contents).
Prologue: completion of beat 4 is what flips the hub reveal off locked / hub_lite; chapter 1 and chapter 2 completion later move it to hub_mid and hub_full.
Challenges: tier counter, run kill count, lifetime kill count, in-run events completed, and lifetime events completed are all evaluated against the per-planet challenge thresholds; payouts are gems plus planet XP bounty.
What it does NOT do
Does not list loss conditions on the board cards.
Does not change difficulty by changing the objective vibe alone — objective tuning is a small (0.85x to 1.4x) modifier on top of the existing difficulty stack.
Does not roll a fresh mission pair on every refresh: the picker is deterministic for a given seed so back-navigation and refresh do not reroll the offer.
Does not allow both cards to be for the same planet when the board is opened with a planet bias; one card is the biased match, the other is from a different planet.
Does not gate event spawning by mission timer — event spawning is gated by the 25-kill in-run threshold.
Does not increase artifact tier mid-run; tier advances only through meta-progression XP between runs.
Does not store mission results on a server; the run-history buffer is local-only at 20 entries.
Does not preserve history entries beyond 20 runs; the oldest drops off when a new entry is added.
Does not overwrite a per-planet personal best with a worse value; the PB writer rejects non-improvements and silently drops on storage failure.
Does not dampen spawn rate forever for new accounts; the new-account multiplier reaches 1.0 once the local history has 10 or more prior runs.
Does not surface the prologue’s missions, shop, collection, or systems buttons until the hub reveal advances past locked / hub_lite.
Does not award reward-tier diamond automatically — score is computed from the run and the tier label is derived from it.
Does not vary the per-level mission timer based on planet; the per-level timer is the standard 240 s engine default. The posting’s extraction timer reflects the contract’s overall difficulty tier.
Does not allow the objective vibe to override a caller-supplied weapon-box count.
Does not consume the heat field on the run-definition node; it is carried for schema completeness only.
Does not record optional fields on the mission-result; every field is required.
Does not allow a posting card to be edited at runtime; postings are static module data, one per planet entry.
Does not run a separate post-mortem damage chain — combat stats are aggregated from in-run telemetry into the result at extraction.