Files
spacegame/docs/04_ROADMAP.md
Joshua Deville e437a18121 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.
2026-07-08 13:47:02 -04:00

3.1 KiB

Roadmap

Phased so there's a playable build at the end of every phase. Each phase is a "piece" in the sense you described — build it, play it, then move to the next. Reassess ambition at each phase boundary (see 01_VISION.md).

Phase 0 — Foundations

  • Install Unreal Engine 5, create the C++ project, set up Git LFS + .gitignore.
  • Learn-by-building: a basic pawn that flies in open space with simple physics (no building, no planets yet).
  • Empty test level, no gameplay systems yet.
  • Exit criteria: you can fly a placeholder ship around an empty level.

Phase 1 — Core Ship Loop (single-player)

  • One hand-built ship with hull, power source, thrusters, storage (02_REQUIREMENTS §1 MVP).
  • Basic damage/repair on hull.
  • One hand-authored landable zone (planet or asteroid) with on-foot movement and suit oxygen (02_REQUIREMENTS §4/§6 MVP).
  • Basic resource gathering that feeds a simple inventory.
  • Exit criteria: fly from a starting point, land, gather something, fly back.

Phase 2 — Construction System

  • Modular grid-based building for the ship (attach/detach blocks) (§1 Core).
  • Power/thrust/life-support modeled as real systems blocks contribute to.
  • Exit criteria: you can meaningfully redesign your ship, not just pilot a fixed one.

Phase 3 — Space Station & Planetary Bases

  • A station hub: dock, restock, respawn (§2 MVP/Core).
  • Same construction system adapted for a station and for planet-anchored bases (§5 Core).
  • Exit criteria: you have a home base in space and at least one on a planet.

Phase 4 — Multiplayer (session-based)

  • Integrate Epic Online Services sessions.
  • Replicate ship piloting, block placement, inventory, damage across clients.
  • One host, invited friends join — no persistent backend yet (§7 Core).
  • Exit criteria: you and a friend can fly the same ship and build together in a session.

Decision point

By here you'll know a lot more about how much solo/small-team bandwidth you have. This is the natural point to decide: stay session-based (simpler, still a complete game) or push into persistent-world territory (Phase 5+). Both are legitimate outcomes.

Phase 5 — Galaxy Expansion

  • Star map UI + warp travel between multiple hand-authored systems (§3 Core).
  • More planet variety (biomes, hazards) (§4 Core).
  • Crafting/tech tree progression (§8 Core).
  • Exit criteria: the game has a galaxy to explore, not just one system.

Phase 6 — Persistence & Procedural Galaxy (Stretch)

  • Backend service + PostgreSQL for accounts and ownership.
  • Seed-based procedural system/planet generation, storing only deltas.
  • Server-per-system sharding, on-demand instance orchestration.
  • Exit criteria: the world persists without a specific host needing to be online, and the galaxy is effectively unbounded.

Phase 7 — Scale & Polish (Stretch)

  • Matchmaking, base permissions/anti-grief tooling.
  • Console porting (leaning on the EOS choice made in Phase 4).
  • Economy/trading, additional content.

Next step: Phase 0. Once Unreal Engine is installed and the project is created, we can start on the flight pawn and empty test level.