astronaut-lunar-base

byRehan Shaikh

OUTPOST - A JUNIOR ASTRONAUT MISSION TRAINER 2026 NASA Space Apps Challenge | Challenge: "Build a Junior Astronaut Mission Trainer" Projects: Games | Planets & Moons | Software | Space Exploration | Sun One line: an interactive outpost simulator where students run a four-person lunar or Martian base for ninety days, where every decision is paid for in one currency: mass. THE PROBLEM, IN THE CHALLENGE'S OWN WORDS Space-themed STEM content does one of two things: it oversimplifies the engineering trade-offs that define a real mission, or it presents them too complexly to hold a young learner's attention. Almost nothing makes those trade-offs tangible and fun. That is the gap OUTPOST fills. WHAT THE PLAYER DOES The student is the Commander of an outpost. There is one lander, a fixed cargo capacity, four crew and ninety days to survive. Before landing they spend a mass budget on: habitat, power source, oxygen generator, carbon-dioxide scrubber, water processor, shielding, greenhouse, rover, spares and food. In play, they allocate power and crew hours each sol, respond to failures and events, and watch six dashboards: power, oxygen, carbon dioxide, water, food and radiation, plus crew health and morale. WHY IT TEACHES: THE TRADE-OFFS ARE REAL - Power vs food. Greenhouse lights draw eight kilowatts continuously, and that power can starve oxygen generation. - Shielding vs mass. A metre of regolith over the habitat costs 1,200 kg and halves radiation dose - yet on a ninety-day Moon mission it is the wrong purchase, because unshielded the crew accrues only 81 mSv against a 600 mSv career limit. On Mars for 500 days, shielding is mandatory. - Recycling vs resupply. Closing the air and water loops costs hardware up front and saves several thousand kilograms over a mission - but only if the mission lasts long enough to pay it back. - Greenhouse vs mass. Forty square metres of hydroponics saves barely 150 kg of stored food while costing 1,950 kg and eight kilowatts. It earns its place through morale and biology, not mass. - Hygiene vs morale. How much laundry and dishwashing the outpost permits swings landed mass by about a thousand kilograms. Rationing saves mass and costs morale. No build has everything. Our balance model lands the "everything" design at 24,386 kg against a 12,000 kg lander. That is not a tuning problem to be smoothed away; it is the challenge statement. AN EXAMPLE OF WHAT A STUDENT FACES WATER PROCESSOR - urine line pressure loss. The reclamation loop is losing 40 per cent of its throughput. Three spares remain; the next resupply window is 22 sols away. A. Replace the pump now - one spare, three crew-hours. B. Run the loop at half rate - water falls by 1.4 kg per sol. C. Bypass to storage until resupply - the potable reserve drops below its 30-sol margin. Real-world note: ISS water processors were designed to keep running while degraded. That is an engineering feature, not luck. Every card ends with a note like that, so each decision becomes a transferable engineering idea in under twelve words. THE INNOVATION: LIVE NASA DATA AS GAMEPLAY The outpost's environment is not fiction. At startup the game pulls NASA open data and turns it into tomorrow's weather: - DONKI solar flare and solar-particle-event feeds drive in-game solar storms. When the Sun really flares, the crew of this outpost shelters. - DSCOVR/EPIC imagery powers an "Earth View" morale action, showing the crew a photograph of Earth taken today. - Moon Trek and Mars Trek tiles place the outpost on real terrain at Shackleton Crater rim and Jezero Crater. - PDS LRO/Diviner temperature data drives cold-soak penalties in permanently shadowed regions. Every data-driven element carries an on-screen citation, and the game runs offline on cached snapshots with a LIVE/CACHED badge, so no classroom depends on venue Wi-Fi. WHY IT IS SCIENTIFICALLY VALID Every constant traces to a NASA source, and the numbers were verified before a line of game code was written. Daily per-crew requirements come from the Life Support Baseline Values and Assumptions Document: 0.84 kg of oxygen, 1 kg of carbon dioxide, 3,035 kilocalories, 3.52 kg of drinking and food-preparation water. Oxygen generation uses the real 9:8 water-to-oxygen mass ratio; lithium-hydroxide scrubbing costs about two kilograms per kilogram of carbon dioxide; ISS-class water recovery is 85-89 per cent. Radiation figures come from the Curiosity rover's RAD instrument: roughly 0.64 mSv per day on the Martian surface and 0.9 mSv on the Moon, against NASA's 600 mSv career limit. Power assumptions follow NASA's lunar surface and fission surface power work: a 20 kW habitat load, a 2 kW keep-alive load, a 60-70 kW ISRU peak, and a 40 kW reactor that must sit a kilometre from the crew. The simulation is a deterministic, unit-tested engine - seed in, identical mission out - and a companion model reproduces the mass ledger so game and science cannot drift apart. WHAT STUDENTS LEARN By the end of one twenty-minute session a student can explain that an outpost is a closed loop; identify trade-offs between power, shielding, food and life support; read a dashboard to find the limiting resource; explain why radiation is a design limit rather than a monster; and describe why plants are chemistry as well as food. Each run ends in a debrief that names the exact system that failed The mission log exports at the end of every run, giving teachers an assessment artefact and students a record of their decisions. HOW IT GETS BUILT A browser-based TypeScript application: a pure simulation package with no interface dependencies, a React front end with vector graphics and charts, offline-capable as a progressive web app, saving locally with no accounts or trackers, so it is safe for minors. Content - modules, events, crops, scenarios - lives in JSON so non-programmers can write it. The build order is fixed: simulation engine, loadout screen, dashboard, events, live data, debrief. The full specification, a sixty-second demo script and a teacher pack are already written. THE 48-HOUR BUILD PLAN Hour zero: freeze the scope and deploy a live URL by hour two. Hours two to six: the simulation engine, with tests and a headless ninety-sol trace. Hours seven to eleven: the loadout screen and the dashboard. Hours eleven to thirteen: events and alarms. Hours fourteen to nineteen: content, balance, then the NASA data layer. Hours nineteen to twenty-four: the debrief and mission log. Day two: bug bash, accessibility and offline passes, a full balance sweep, documentation with citations, the sixty-second video, and the project page - frozen, verified and submitted with an hour to spare. ACCESSIBILITY, ETHICS AND INCLUSION Alarms are distinguished by sound and shape as well as colour. Every screen is keyboard-navigable and labelled for screen readers. Simulation speed is adjustable and pausable mid-sol. Text is large, high-contrast and dyslexia-friendly. The crew never dies on screen: failures are equipment failures with a survivable abort, modelling NASA's real abort criteria rather than dramatising loss of life. The game collects no personal data from minors and ships with no analytics. WHY THE CURRENCY IS MASS, NOT POINTS Most educational games reward players with points and abstract coins, which teach budgeting, not engineering. OUTPOST pays for everything in kilograms, because that is the currency real mission designers spend. A student who wants a sixty-kilowatt ice-mining plant must find sixty kilowatts of power and several tonnes of lander capacity, and explain which of the other things they wanted is no longer coming. That one choice teaches more than any amount of explanatory text. WHAT WE WOULD BUILD NEXT Three months later: a cutaway visualisation of the outpost so students watch the lights dim and the crops wilt; a module designer that lets a class define its own hardware and have the simulation judge it; localisation into Hindi, Spanish and Arabic; and a teacher dashboard that aggregates exported mission logs into a class-wide picture of which misconceptions persist. IMPACT Free, browser-based, offline-capable and requiring no account, OUTPOST runs in any classroom with a laptop or tablet, in any country. It is aimed at ages ten to sixteen, with a Cadet mode and a Commander mode. The teacher pack contains a 45-minute lesson plan, a shared mission seed so every student faces the same solar storm, exit-ticket questions, and differentiation tiers for supported, core and extension learners. Two scenarios ship so that the correct answers invert between them - teaching that engineering problems have no single right answer, which is the most valuable thing a young person can carry away from a space-themed game. The source code, the scientific citations and the teacher pack are all released openly under a permissive open licence, so any school, club or space agency can reuse, translate or extend the project without asking permission. WHY IT ANSWERS THE JUDGING CRITERIA Impact - a free, classroom-ready tool aimed at the exact gap NASA named. Creativity - live solar weather as gameplay, and one physical currency instead of points. Validity - every number sourced, and a deterministic, tested simulation. Relevance - all named demands (life support, shielding, power, food) modelled and made to conflict. Presentation - a written demo script, a screenshot plan and a rehearsed live demonstration. NASA Life Support Baseline Values and Assumptions Document | NASA-STD-3001 technical briefs | MSL/RAD Mars radiation measurements | NASA solar-versus-fission surface power study | NASA fission surface power reference design | NASA lunar surface power briefings | CELSS crop research. NASA open APIs: DONKI, EPIC, Moon and Mars Trek, PDS, NASA Image and Video Library.

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 20

System Requirements Document for astronaut-lunar-base

1. Introduction

astronaut-lunar-base, branded in-product as OUTPOST — A Junior Astronaut Mission Trainer, is a free browser-based learning simulation for students aged 10–16. Students act as the Commander of a four-person lunar or Martian outpost and make engineering decisions for a ninety-day mission under one non-negotiable currency: mass in kilograms.

The system makes life-support, power, food, shielding, radiation, water-recovery, hygiene, and crew-morale trade-offs tangible without simplifying them into points or abstract coins. It is designed for individual student play and classroom use, including offline environments, and produces an exported mission log that students can retain and teachers can use as an assessment artefact.

Page 2 of 20

2. System Overview

OUTPOST is an offline-capable Progressive Web Application (PWA) with a TypeScript simulation engine and React interface. A Student Commander configures a lunar or Martian base before landing, then runs the mission sol by sol, allocates available power and crew hours, responds to failures and solar-weather events, and observes resource and crew status.

The current simulation covers one lander, fixed cargo capacity, four crew, and ninety sols. The balance model intentionally makes an “everything” design weigh 24,386 kg, exceeding the 12,000 kg lander capacity. This is a deliberate engineering challenge rather than a balance defect.

The system supports two current modes:

  • Cadet mode, for supported learning.
  • Commander mode, for deeper mission-management engagement.

Two scenarios ship with the product so that the correct response to comparable trade-offs can invert between scenarios. The system must teach that engineering problems do not have one universal correct answer.

Page 3 of 20

2a. Product Interpretation and Delivery Boundary

OUTPOST is delivered as a first-party, anonymous browser application. It requires no account, sign-in, profile, personal-data submission, analytics, or tracker. Mission state and cached source data are stored locally on the device so that students can begin, continue, complete, and export a mission without identity continuity across devices.

NASA data is fetched at startup when available, stored as an offline snapshot, and reused when connectivity is unavailable. NASA services remain external data providers; their information is represented in the game through first-party interface elements with visible source citations and a LIVE or CACHED state.

The current product includes the simulation, loadout configuration, mission dashboard, event decisions, debrief, mission-log export, NASA-backed data elements, and teacher-pack materials. It excludes account management, cloud storage, analytics, personal-data collection, social competition, point systems, crew-death depictions, and teacher dashboards.

Current Delivery Boundaries

  • One Student Commander controls one four-person simulated outpost.
  • The simulation covers a ninety-day lunar or Martian mission.
  • The product uses kilograms as its sole decision currency; it does not use points, coins, achievements, or reward currencies.
  • Classroom operation must not depend on venue Wi-Fi.
  • The teacher pack is provided as openly reusable supporting material; no teacher account or in-product role permissions are required.
  • NASA imagery and terrain data are evidence-bearing mission artefacts, not uncited decorative assets.
Page 4 of 20

Future Boundary

The following are future work and are not part of the current pages, acceptance criteria, or required implementation:

  • A cutaway outpost visualization showing effects such as dimming lights and wilting crops.
  • A module designer that allows classes to define hardware for simulation evaluation.
  • Localization into Hindi, Spanish, and Arabic.
  • A teacher dashboard aggregating exported mission logs to identify class-wide misconceptions.

2b. Source Content Inventory

The authoritative NASA open-data content source supplies the following current factual content and feature uses:

Source collectionPreserved content and in-product use
NASA DONKISolar flare and solar-particle-event feeds drive in-game solar storms.
DSCOVR/EPICEarth photographs support the Earth View morale action.
Moon TrekTerrain tiles place lunar outposts at the Shackleton Crater rim.
Mars TrekTerrain tiles place Martian outposts at Jezero Crater.
PDS LRO/DivinerTemperature data drives cold-soak penalties in permanently shadowed regions.
NASA Image and Video LibraryIncluded in the named NASA open-API source collection; any use must retain visible provenance consistent with the citation rule.
Citation stateEach data-driven element displays an on-screen NASA source citation, source retrieval date, and LIVE or CACHED badge.
Offline handlingNASA data is cached for offline play so classroom use does not depend on venue Wi-Fi.

2c. Page Content and Component Coverage

Page 5 of 20

Landing

  • Information and state

    • Identifies OUTPOST as a free, browser-based, offline-capable junior astronaut mission trainer for ages 10–16.
    • States that students command a four-person lunar or Martian base for ninety days.
    • Presents Cadet mode and Commander mode.
    • Shows that no account is required and that the product saves locally.
    • Shows the current NASA-data availability state when startup retrieval completes: LIVE for successfully retrieved current data or CACHED when the latest local snapshot is used.
  • Primary actions

    • Start a mission and proceed to the loadout screen.
    • Select Cadet mode or Commander mode.
  • Supporting content

    • Explains that kilograms, not points, are the mission currency.
    • Shows a concise offline-ready statement and data-citation expectation.
    • Provides access to the teacher-pack context without requiring a teacher account.
  • Domain entities

    • Mission mode, scenario, mission seed, local NASA-data snapshot, LIVE/CACHED status.
  • States and recovery

    • Loading state while startup data retrieval and cache lookup occur.
    • Cached-data state when offline or when retrieval fails.
    • Clear recovery message when no current live retrieval is available, continuing with a locally available snapshot where present.
    • Keyboard-operable mode selection and start control.
Page 6 of 20

loadout screen

  • Information and state

    • Displays the fixed 12,000 kg lander cargo capacity and continuously updated landed mass.
    • Displays an understandable mass ledger for selected hardware, consumables, and spares.
    • Supports lunar and Martian scenario context and real terrain placement at Shackleton Crater rim or Jezero Crater.
    • Presents terrain data citation, retrieval date, and LIVE/CACHED state.
    • Makes the deliberate impossibility of an “everything” configuration visible: 24,386 kg against the 12,000 kg lander limit.
  • Primary actions

    • Select and remove habitat, power source, oxygen generator, carbon-dioxide scrubber, water processor, shielding, greenhouse, rover, spares, and food.
    • Select an available scenario and mission mode.
    • Begin a mission only with a loadout that fits the cargo capacity.
  • Supporting actions

    • Review each item’s mass and relevant operating implications.
    • Review trade-offs including:
      • greenhouse lighting consuming 8 kW continuously;
      • shielding mass versus radiation dose;
      • air and water recycling hardware versus resupply mass;
      • hydroponics mass, food contribution, power draw, morale, and biology;
      • hygiene rationing versus morale.
    • Review terrain placement and cold-soak relevance.
  • Domain entities

    • Lander, cargo capacity, loadout module, consumable, spare, scenario, terrain location, mass ledger, mission seed.
  • States and recovery

    • Over-capacity state clearly identifies mass overflow and prevents mission start until the player removes or changes selected cargo.
    • Empty-loadout state identifies indispensable selections needed to form a mission configuration without inventing unlisted module types.
    • Selected-item and removed-item state updates mass immediately.
    • NASA source retrieval failure does not block loadout when cached terrain data is available; the display changes to CACHED.
Page 7 of 20

dashboard

  • Information and state

    • Displays current sol, mission seed, simulation-speed setting, pause state, and landed-mass counter.
    • Displays six resource dashboards: power, oxygen, carbon dioxide, water, food, and radiation.
    • Displays crew health and morale.
    • Displays relevant subsystem status, resource trends, alarms, solar-storm state, cold-soak penalties, and available crew hours.
    • Displays the selected terrain context and data citations where terrain, solar, temperature, or Earth imagery informs a shown state.
    • Provides an Earth View morale action with DSCOVR/EPIC Earth photography, citation, retrieval date, and LIVE/CACHED state.
  • Primary actions

    • Allocate power among operating needs, including life-support needs and greenhouse demand.
    • Allocate crew hours each sol.
    • Advance simulation progress at the selected speed.
    • Pause the simulation mid-sol.
    • Open an active failure or event in Events.
    • Trigger the Earth View morale action when available.
  • Supporting actions

    • Adjust simulation speed.
    • Review resource trends, current alarms, and the likely limiting resource.
    • Review resource, radiation, terrain, solar, temperature, and imagery citations.
  • Domain entities

    • Sol, power allocation, crew-hour allocation, resource reserve, radiation dose, crew health, crew morale, Earth View image, solar event, cold-soak condition, alarm, mission seed.
  • States and recovery

    • Paused state freezes simulation advancement while keeping current decisions visible.
    • Alarm states use sound, shape, text, and colour; they never rely on colour alone.
    • A solar storm creates a shelter outcome for the simulated crew.
    • Cold-soak penalties affect the simulation in permanently shadowed regions.
    • Resource-threshold and equipment-failure states lead to Events or, where mission continuation is no longer viable, a survivable abort and debrief.
    • Offline operation retains cached NASA-backed state and labels it CACHED.
Page 8 of 20

Events

  • Information and state

    • Presents active failure and event cards with the affected system, operational context, decision choices, consequences, and a short transferable real-world engineering note of fewer than twelve words.
    • Preserves the current water-processor scenario:
      • Water processor — urine line pressure loss.
      • Reclamation-loop throughput is reduced by 40 per cent.
      • Three spares remain.
      • The next resupply window is 22 sols away.
      • Option A: replace the pump now for one spare and three crew-hours.
      • Option B: run at half rate; water falls by 1.4 kg per sol.
      • Option C: bypass to storage until resupply; potable reserve falls below its 30-sol margin.
      • Engineering note: ISS water processors were designed to keep running while degraded.
  • Primary actions

    • Choose a presented response option.
    • Confirm the selected option and return to the dashboard with its simulation effects applied.
  • Supporting actions

    • Review exact effects on mass, spares, crew hours, resource reserves, projected sol consequences, and relevant crew outcomes.
    • Read the real-world engineering note.
    • Review NASA data citations for data-driven events such as solar storms and temperature-driven cold-soak conditions.
  • Domain entities

    • Event, equipment failure, decision option, spare, crew hour, resource consequence, engineering note, solar storm, cold-soak penalty, abort condition.
  • States and recovery

    • Each choice is keyboard-addressable and distinguishable by its written label, shape, and state, not colour alone.
    • An accepted option records its consequences in mission state and mission log.
    • If a chosen response creates an abort threshold, the system presents a survivable equipment-failure abort rather than crew death and continues to debrief.
    • If event data is cached, the event remains playable with CACHED provenance shown.
Page 9 of 20

debrief

  • Information and state

    • Ends every run with mission outcome, including successful completion or survivable abort.
    • Names the exact system that failed when the run ends through failure.
    • Shows the mission’s limiting subsystem, mass-budget breakdown, resource trajectory, selected decisions, in-game events, and relevant learning notes.
    • Shows a ninety-sol mission trace where applicable.
    • Presents the exported mission log as a student record and teacher assessment artefact.
  • Primary actions

    • Export the mission log at the end of every run.
    • Review the mission outcome and causal system failure.
  • Supporting actions

    • Review chosen loadout, resource trends, mass ledger, event responses, solar-weather and cold-soak effects, and data provenance.
    • Continue by beginning another mission through the loadout screen.
  • Domain entities

    • Mission result, exact failed system, abort result, mission log, mass ledger, resource trajectory, event record, source citation, mission seed.
  • States and recovery

    • Export-success state confirms that the log has been produced locally.
    • Export-failure state retains the completed debrief and provides a retry path without rerunning the mission.
    • A completed run remains reviewable locally for the current device context.
    • The debrief does not depict crew death; failure is represented as an equipment failure and survivable abort.
Page 10 of 20

3. Functional Requirements

FR-1 — Run a mass-constrained outpost mission

As a Student Commander, I should run a four-person lunar or Martian outpost mission for ninety days using one lander with fixed cargo capacity, so that I experience mission engineering as a constrained system.

  • Provenance: explicit.
  • Access: anonymous; no account, sign-in, or personal data is required.
  • Trigger/input: The student starts a mission from Landing and configures it in the loadout screen.
  • Observable result: The simulation represents four crew, a selected lunar or Martian setting, one lander, and a ninety-sol mission.
  • Failure/recovery: If a simulation condition prevents continued operation, the system represents a survivable equipment-failure abort and continues to debrief.
  • Continuation: The student progresses to the dashboard and ultimately to debrief.

FR-2 — Use kilograms as the sole mission currency

As a Student Commander, I should make every loadout decision in kilograms rather than points or abstract coins, so that I learn the real currency of mission design.

  • Provenance: explicit.
  • Trigger/input: The student adds, removes, or compares loadout selections.
  • Observable result: The system displays mass costs and the total landed mass in kilograms; it does not substitute points, coins, achievements, or abstract reward currency.
  • Failure/recovery: A mass-overflow state explains that the lander cannot carry the selected configuration and requires revision.
  • Continuation: The student adjusts the loadout or starts a valid mission.
Page 11 of 20

FR-3 — Configure the pre-landing outpost loadout

As a Student Commander, I should spend the lander mass budget on habitat, power source, oxygen generator, carbon-dioxide scrubber, water processor, shielding, greenhouse, rover, spares, and food, so that I can make explicit engineering trade-offs before landing.

  • Provenance: explicit.
  • Trigger/input: The student selects or removes the named loadout items on the loadout screen.
  • Observable result: The mass ledger and operating implications update for each selected item.
  • Failure/recovery: The system blocks mission start when selected cargo exceeds 12,000 kg and identifies the over-capacity condition.
  • Continuation: The student revises the loadout or begins the mission.

FR-4 — Preserve the intentional lander-capacity challenge

As a Student Commander, I should see that no build can include everything, so that I understand trade-offs are required rather than a problem to be tuned away.

  • Provenance: explicit.
  • Trigger/input: The student attempts or reviews a fully provisioned configuration.
  • Observable result: The system represents the “everything” design as 24,386 kg against a 12,000 kg lander capacity.
  • Failure/recovery: The over-capacity loadout cannot launch; the student must remove or alter selections.
  • Continuation: The revised configuration remains visible in the mass ledger.
Page 12 of 20

FR-5 — Model the stated engineering trade-offs

As a Student Commander, I should see power, shielding, recycling, greenhouse, hygiene, food, and morale trade-offs reflected in mission consequences, so that I can explain why an outpost is a closed loop.

  • Provenance: explicit.
  • Trigger/input: The student chooses loadout items and operating allocations.
  • Observable result: The simulation reflects all of the following:
    • Greenhouse lights draw 8 kW continuously and can compete with oxygen generation.
    • One metre of regolith shielding costs 1,200 kg and halves radiation dose.
    • An unshielded ninety-day Moon mission accrues 81 mSv against a 600 mSv career limit.
    • Mars shielding is mandatory for a 500-day Mars mission comparison.
    • Closing air and water loops requires hardware mass up front and can save several thousand kilograms over sufficiently long missions.
    • 40 m² of hydroponics saves barely 150 kg of stored food while costing 1,950 kg and 8 kW, with value through morale and biology.
    • Laundry and dishwashing choices can change landed mass by about 1,000 kg, while rationing harms morale.
  • Failure/recovery: Insufficient resource, power, or crew-hour conditions create alarms, events, equipment failures, or survivable abort as applicable.
  • Continuation: The student uses dashboard data and event choices to adapt the run.
Page 13 of 20

FR-6 — Allocate power and crew hours each sol

As a Student Commander, I should allocate power and crew hours each sol, so that I can operate the selected outpost under competing resource demands.

  • Provenance: explicit.
  • Trigger/input: The student sets power and crew-hour allocations on the dashboard.
  • Observable result: The simulation advances with allocations affecting relevant resource, subsystem, and crew conditions.
  • Failure/recovery: Inadequate allocations produce visible subsystem conditions, alarms, events, or abort criteria rather than unobservable failure.
  • Continuation: The student modifies future-sol allocations, responds to an event, pauses, or advances the simulation.

FR-7 — Monitor resource and crew dashboards

As a Student Commander, I should monitor power, oxygen, carbon dioxide, water, food, radiation, crew health, and crew morale, so that I can identify the limiting resource.

  • Provenance: explicit.
  • Trigger/input: The student views the dashboard during a mission.
  • Observable result: Current state and trend information are visible for all six resource categories plus crew health and morale.
  • Failure/recovery: Alarms communicate affected systems through sound, shape, text, and colour; the student can inspect the condition and respond through allocations or Events.
  • Continuation: The student makes an operating decision, opens an event, advances a sol, or pauses.
Page 14 of 20

FR-8 — Respond to event cards and equipment failures

As a Student Commander, I should choose from multiple responses to failures and events, so that I can compare real operational consequences.

  • Provenance: explicit.
  • Trigger/input: A simulation condition or data-driven event triggers an event card.
  • Observable result: The event presents decision options and their mass, resource, spare, crew-hour, and projected-sol consequences where applicable.
  • Failure/recovery: A selected option applies its defined simulation state change; a resulting abort remains survivable and leads to debrief.
  • Continuation: The student returns to the dashboard and sees the outcome in mission state and log.

FR-9 — Present the water-processor pressure-loss event

As a Student Commander, I should respond to the urine-line pressure-loss event using the stated options, so that I can learn why degraded recycling systems are an engineering feature.

  • Provenance: explicit.
  • Trigger/input: The water-processor event occurs.
  • Observable result: The event states 40% throughput loss, three remaining spares, and a resupply window 22 sols away, then offers:
    • Replace the pump now: one spare and three crew-hours.
    • Run at half rate: water falls by 1.4 kg per sol.
    • Bypass to storage until resupply: potable reserve drops below its 30-sol margin.
  • Failure/recovery: The chosen option is recorded and modifies the applicable simulation state.
  • Continuation: The student returns to the dashboard and receives the note that ISS water processors were designed to keep running while degraded.
  • Engineering-note constraint: Every event card ends with a transferable real-world engineering note of fewer than twelve words.
Page 15 of 20

FR-10 — Apply live and cached NASA data to gameplay

As a Student Commander, I should have NASA open data influence mission conditions, so that the outpost environment is grounded in current and cached science data rather than fiction.

  • Provenance: explicit.
  • Trigger/input: The application starts while online or accesses a locally cached snapshot while offline.
  • Observable result: The application uses:
    • DONKI solar flare and solar-particle-event feeds for in-game solar storms and crew sheltering.
    • DSCOVR/EPIC imagery for an Earth View morale action showing an Earth photograph.
    • Moon Trek and Mars Trek terrain tiles for Shackleton Crater rim and Jezero Crater placement.
    • PDS LRO/Diviner temperature data for cold-soak penalties in permanently shadowed regions.
  • Failure/recovery: If live retrieval is unavailable, the system uses the latest cached snapshot where present and labels it CACHED.
  • Continuation: The student continues the mission without a network dependency.

FR-11 — Cite and label NASA-backed elements

As a Student Commander, I should see a citation and LIVE or CACHED state for every data-driven element, so that I can distinguish sourced evidence from simulated interpretation.

  • Provenance: explicit.
  • Trigger/input: A NASA-backed terrain, solar, temperature, or Earth-image element is displayed.
  • Observable result: The displayed element includes source name, retrieval date, and LIVE or CACHED state.
  • Failure/recovery: A retrieval failure changes the state to CACHED when a snapshot exists; the product must not misleadingly display cached data as live.
  • Continuation: The player may continue using the cited data in the mission.
Page 16 of 20

FR-12 — Support offline classroom play

As a Student Commander, I should continue playing offline using cached NASA snapshots, so that classroom use does not depend on venue Wi-Fi.

  • Provenance: explicit and required_inference.
  • Trigger/input: The user launches or continues the application without network connectivity.
  • Observable result: Locally stored mission state and cached NASA snapshots remain available with CACHED badges.
  • Failure/recovery: Network failure does not terminate an active mission; the user is informed of cached status.
  • Continuation: The student can configure, run, complete, and export the mission locally.

FR-13 — Provide deterministic, traceable simulation outcomes

As a Student Commander, I should receive identical mission outcomes when the same seed and decisions are used, so that classroom comparisons and engineering reasoning are reproducible.

  • Provenance: explicit.
  • Trigger/input: A mission starts with a given seed and receives a defined sequence of player decisions.
  • Observable result: The deterministic, unit-tested engine produces identical mission outcomes for the same seed and decision sequence.
  • Failure/recovery: Simulation defects are detectable through unit testing and a headless ninety-sol trace; the companion model reproduces the mass ledger so game and science do not drift apart.
  • Continuation: The seed and outcomes are available in mission context and log.
Page 17 of 20

FR-14 — Use NASA-traceable scientific constants

As a Student Commander, I should receive simulation outcomes based on NASA-traceable constants, so that the training remains scientifically grounded.

  • Provenance: explicit.
  • Observable result: The simulation preserves these stated constants and assumptions:
    • Per crew per day: 0.84 kg oxygen, 1 kg carbon dioxide, 3,035 kilocalories, and 3.52 kg drinking and food-preparation water.
    • Oxygen generation water-to-oxygen mass ratio: 9:8.
    • Lithium-hydroxide scrubbing: about 2 kg per kg of carbon dioxide.
    • ISS-class water recovery: 85–89%.
    • Radiation: approximately 0.64 mSv/day on the Martian surface and 0.9 mSv/day on the Moon.
    • NASA radiation career limit: 600 mSv.
    • Power assumptions: 20 kW habitat load, 2 kW keep-alive load, 60–70 kW ISRU peak, and a 40 kW reactor placed one kilometre from crew.
  • Failure/recovery: Source-derived constants are maintained in traceable content and simulation configuration rather than silently changed through interface behavior.
  • Continuation: The student interprets outcomes in dashboard, event, and debrief contexts.
Page 18 of 20

FR-15 — Offer the Earth View morale action

As a Student Commander, I should use an Earth View action powered by DSCOVR/EPIC imagery, so that I can see an evidence-cited morale-related mission action.

  • Provenance: explicit.
  • Trigger/input: The student selects Earth View on the dashboard when the imagery is available.
  • Observable result: The system displays an Earth photograph and applies the defined morale action within the simulation.
  • Failure/recovery: Cached imagery remains usable offline with its source, retrieval date, and CACHED state.
  • Continuation: The student returns to operating the current mission.

FR-16 — Complete a survivable mission outcome and export its log

As a Student Commander, I should receive a debrief that names the exact failed system and export the mission log at the end of every run, so that I have a record of my decisions and outcomes.

  • Provenance: explicit.
  • Trigger/input: The mission completes successfully or reaches a survivable abort condition.
  • Observable result: Debrief names the exact failed system when applicable and provides a locally exportable mission log.
  • Failure/recovery: If export fails, the completed debrief remains available and provides a retry path without rerunning the mission.
  • Continuation: The student reviews the record or starts a new loadout.
Page 19 of 20

FR-17 — Support teacher-led shared-seed instruction

As a Teacher, I should use a teacher pack containing a 45-minute lesson plan, shared mission seed, exit-ticket questions, and supported/core/extension differentiation tiers, so that I can run an accessible classroom activity.

  • Provenance: explicit and required_inference.
  • Trigger/input: The teacher prepares or conducts a classroom session.
  • Observable result: The teacher pack supplies a shared mission seed so students can face the same solar storm, along with the stated lesson-plan, exit-ticket, and differentiation materials.
  • Failure/recovery: The instructional activity remains usable without accounts or network dependence because students can use local, cached operation.
  • Continuation: Students run comparable missions and provide exported logs for review.

FR-18 — Use mission logs as assessment artefacts

As a Teacher, I should receive a student-exported mission log, so that I can assess decisions, outcomes, and understanding without a teacher dashboard or student account.

  • Provenance: explicit.
  • Trigger/input: A student completes a run and exports the mission log.
  • Observable result: The log provides a record of loadout choices, mission events, decisions, resource and mass context, outcome, and failed system where applicable.
  • Failure/recovery: Export can be retried from debrief if it does not complete.
  • Continuation: The teacher reviews the exported artefact alongside the lesson plan and exit-ticket questions.
Page 20 of 20

FR-19 — Make current content JSON-authored

As a content author, I should have modules, events, crops, and scenarios represented in JSON, so that non-programmers can write and modify content.

  • **
Landing design preview
Landing: Open mission trainer
Landing: Select Cadet or Commander mode
Landing: Start mission with cached data
loadout screen: Review 12,000 kg capacity
loadout screen: Select scenario and terrain
loadout screen: Add habitat, power, life support
loadout screen: Add shielding, greenhouse, rover, spares, food
loadout screen: 1. Review mass trade-offs and citations
loadout screen: 2. Remove cargo to clear overflow
loadout screen: Begin mission within capacity
dashboard: 1. Allocate power and crew hours
dashboard: 2. Advance or pause simulation
dashboard: 3. Monitor six resources and crew
dashboard: 4. Trigger Earth View morale action
Events: 5. Review event card consequences
Events: 6. Choose and confirm response option
dashboard: 7. Observe applied event outcome
debrief: Review outcome and failed system
debrief: 1. Export mission log
debrief: 2. Retry export after failure
loadout screen: Begin another mission
Landing design preview
Landing: Open mission trainer
Landing: Select Cadet or Commander mode
Landing: Start mission with cached data
loadout screen: Review 12,000 kg capacity
loadout screen: Select scenario and terrain
loadout screen: Add habitat, power, life support
loadout screen: Add shielding, greenhouse, rover, spares, food
loadout screen: 1. Review mass trade-offs and citations
loadout screen: 2. Remove cargo to clear overflow
loadout screen: Begin mission within capacity
dashboard: 1. Allocate power and crew hours
dashboard: 2. Advance or pause simulation
dashboard: 3. Monitor six resources and crew
dashboard: 4. Trigger Earth View morale action
Events: 5. Review event card consequences
Events: 6. Choose and confirm response option
dashboard: 7. Observe applied event outcome
debrief: Review outcome and failed system
debrief: 1. Export mission log
debrief: 2. Retry export after failure
loadout screen: Begin another mission