# Requirements Requirements are grouped by system. Each item is tagged: - **[MVP]** — needed for the first playable milestone (single-player/session, one system) - **[Core]** — needed before calling this "the game" (session-based multiplayer, full loop) - **[Stretch]** — the persistent-MMO / full-galaxy ambition; comes after Core is solid ## 1. Ship - [MVP] Player can pilot a ship with 6-DOF or flight-model movement in open space. - [MVP] Ship has at least: hull, one power source, thrusters, one storage container. - [MVP] Ship systems can be damaged and repaired (hull integrity, component health). - [Core] Modular grid-based construction: attach/detach blocks (thrusters, power, storage, weapons, life support) on a snap grid, similar to Space Engineers. - [Core] Power system: generation, consumption, and outage consequences (no thrust, no life support) when under-powered. - [Core] Life support: oxygen and/or power must be maintained for crew to survive aboard ship. - [Core] Ship persists between sessions (saved layout, inventory, damage state). - [Stretch] Multiple crew can occupy and operate the same ship simultaneously (pilot, gunner, engineer roles). - [Stretch] Ship-to-ship combat with component-level damage (target the engine, disable the shield generator, etc). ## 2. Space Station (base of operations) - [MVP] A single hand-placed station exists as a hub: dock, restock, respawn point. - [Core] Players can build/expand the station from modular components (same construction system as ships, non-mobile). - [Core] Station has persistent storage, crafting stations, and a docking system for player ships. - [Core] Station respawn point on player death. - [Stretch] Multiple stations, player-founded, potentially claimable/ownable by a group. - [Stretch] Station defense (turrets, shields) against NPC or player raids. ## 3. Galaxy & Travel - [MVP] One star system, flyable, with a defined boundary. - [Core] Star map UI showing known systems and jump targets. - [Core] Warp/jump travel between systems with a travel-time or loading transition (does not need to be seamless). - [Stretch] Procedurally generated galaxy (seeded), effectively unbounded number of systems, generated on demand rather than pre-authored. - [Stretch] Points of interest per system (asteroid fields, derelicts, anomalies, NPC factions/traders). ## 4. Planets - [MVP] At least one landable planet/moon with a bounded, hand-authored surface (an "instanced landing zone," not the full sphere). - [MVP] On-foot exploration: movement, basic environment hazards (e.g. no atmosphere = needs suit oxygen). - [Core] Resource gathering on planet surface (mining/harvesting nodes feed back into ship/station crafting). - [Core] Multiple biomes/planet types with distinct visuals and hazards. - [Core] Surface vehicle for faster traversal on larger landing zones (optional if zones stay small). - [Stretch] Procedurally generated planet surfaces (seed-based terrain, biome rules), replacing hand-authored zones. - [Stretch] Seamless space-to-surface transition (no loading screen) — explicitly deferred; revisit only once everything else is solid, see 03_TECH_STACK.md. ## 5. Planetary Bases - [Core] Same modular construction system usable on a planet surface (foundation- anchored instead of free-floating). - [Core] Base provides shelter from surface hazards (atmosphere, temperature, radiation as applicable) and a resource processing/crafting point. - [Stretch] Base persists and is visible/enterable by other players who land on the same planet instance. - [Stretch] Environmental hazards that specifically threaten planetary bases (storms, corrosive atmosphere, local wildlife). ## 6. Survival Systems - [MVP] Player character has health and a suit resource (oxygen and/or power) that depletes and must be resupplied. - [Core] Ship/station/base life support all tie into the same suit/oxygen model consistently. - [Core] Hull/structure integrity as a maintainable resource (things break, need repair materials). - [Stretch] Additional survival axes (temperature, radiation exposure, hunger) if they add meaningful decisions rather than busywork. ## 7. Multiplayer & Persistence - [MVP] Not networked — single player, local only. Prove the core loop first. - [Core] Session-based multiplayer: a host runs a session, friends join directly (via Epic Online Services sessions), state persists only for that session/host. - [Stretch] Persistent shared world: player accounts, server-authoritative galaxy state, ship/base ownership stored server-side, available across sessions without a specific host needing to be online. - [Stretch] World sharded by star system: each system instance runs as its own server process, spun up on demand (see 03_TECH_STACK.md) rather than one seamless mega-server. - [Stretch] Permissions/ownership model for shared bases (who can build, access storage, dock). - [Stretch] Basic anti-grief tooling (claim radius, lockable doors/containers). ## 8. Progression & Economy - [Core] Crafting/tech tree gates access to better ship components and base modules. - [Stretch] Trading between players and/or NPC factions. - [Stretch] Currency or barter economy tied to resources gathered. ## 9. Non-Functional Requirements - **Platforms:** PC (Steam) at launch; architecture should not preclude console porting later (drives Epic Online Services choice over Steam-only APIs). - **Performance target:** 60 fps on mid-range hardware (defer exact spec until an art-direction pass; Nanite/Lumen usage affects this significantly). - **Concurrent players (Stretch phase):** design target of dozens of concurrent players per shard/system server, not hundreds — keeps the backend tractable for a solo/small team. - **Save integrity:** no permadeath data loss from a server crash mid-session (autosave cadence + transactional persistence once a backend exists). - **Art style:** not yet decided — recommend committing to a style that reduces asset-production burden for a solo dev (stylized/mid-poly beats photoreal for a one-person or small team; revisit once Phase 1 is playable).