Add project planning docs and repo scaffolding
Vision, requirements, tech stack, and phased roadmap for the space survival game, plus Unreal-appropriate .gitignore/.gitattributes and Git LFS setup.
This commit is contained in:
112
docs/02_REQUIREMENTS.md
Normal file
112
docs/02_REQUIREMENTS.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# 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).
|
||||
Reference in New Issue
Block a user