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:
Joshua Deville
2026-07-08 13:47:02 -04:00
commit e437a18121
7 changed files with 410 additions and 0 deletions

68
docs/04_ROADMAP.md Normal file
View File

@@ -0,0 +1,68 @@
# 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.