- Health, stamina, hunger, warmth and wet with HUD bars, status tags and clock - 20-minute day/night cycle with moon, stars and lit clouds - Campfire fuel (2 min start, 15 min max), heat radius, cooking needs a lit fire - Berry bushes (regrow 10 min), mushrooms, roasted mushroom, torch - Stamina costs for sprint, jump and harvest hits - Death respawns at island start and leaves a grave bag - Saves include stats, time of day, fire fuel, regrowth timers and graves - New test_survival_stats suite; tests fail if a script error aborts them
69 lines
3.5 KiB
Markdown
69 lines
3.5 KiB
Markdown
# Roadmap
|
||
|
||
One milestone ≈ a chunk of working sessions. Each ends with something you can
|
||
actually run and see. Timelines assume solo dev + heavy AI assistance, steady
|
||
(not full-time) pace.
|
||
|
||
## M0 — World skeleton (single-player) · ~2–4 weeks
|
||
**Goal:** walk around a lit, atmospheric terrain. Prove the look.
|
||
- [x] Project scaffold, git repo, docs
|
||
- [x] Godot installed, project opens
|
||
- [x] First-person / third-person character controller (move, jump, mouse-look)
|
||
- [x] One flat/heightmap terrain chunk with a material
|
||
- [x] Atmospheric lighting: directional sun, sky, volumetric fog, tonemapping
|
||
- [x] Place one low-poly tree + rock to set the mood
|
||
- **Done when:** you load the game and walk around a Valheim-ish lit field.
|
||
|
||
### M0.5 — Scenery & world bounds (done)
|
||
- [x] Mountain-rim boundary (steep cliffs + invisible wall + respawn safety net),
|
||
covered by `tests/test_boundary.gd`
|
||
- [x] Procedural terrain shader (grass/dirt/sand/rock strata/snow), lake + water shader
|
||
- [x] 5 procedural tree types, faceted mossy rocks, cliff outcrops, bushes, logs, stumps
|
||
- [x] Streamed wind-animated grass + flowers; cloud sky; swimming
|
||
|
||
## M1 — Survival loop (single-player) · ~3–5 weeks
|
||
**Goal:** the core game verbs.
|
||
Detailed plan in `docs/SURVIVAL_DESIGN.md` (phases M1a–M1d).
|
||
- [x] Resource nodes: chop tree → wood, mine rock → stone *(M1a)*
|
||
- [x] Inventory + simple hotbar UI, chests *(M1a)*
|
||
- [x] Crafting (recipe: wood → tools / building pieces) *(M1a)*
|
||
- [x] Pause menu, title screen, world slots, save/load, autosave *(M1a)*
|
||
- [x] Health / stamina / hunger / warmth, day-night cycle, fire fuel, cooking, foraging, torches, death + grave *(M1b)*
|
||
- [ ] Weather (rain, storm, snow), wet/shelter *(M1c)*
|
||
- [ ] Snap-together building: place a wall/floor, resource cost, basic support rule
|
||
- **Done when:** gather → craft → build a tiny shelter, single-player.
|
||
|
||
## M2 — Multiplayer · ~2–4 months
|
||
**Goal:** self-hosted, authoritative, 2–8 players.
|
||
- [ ] Refactor state to server-authoritative (single-player becomes loopback server)
|
||
- [ ] Headless dedicated server mode (`--headless -- --server`)
|
||
- [ ] ENet transport, client prediction for local movement, interpolation for others
|
||
- [ ] Replicate resource nodes, inventory, building, health
|
||
- [ ] Persistence: world save/load on the server
|
||
- **Done when:** a friend joins your self-hosted server and you build together.
|
||
|
||
## M3 — Addon SDK + sandbox · ~2–3 months
|
||
**Goal:** the differentiator. Easy, safe mods.
|
||
- [ ] Embed sandboxed Lua VM in the server
|
||
- [ ] Capped API surface (events + safe world queries/commands)
|
||
- [ ] Per-addon CPU/time + memory quotas
|
||
- [ ] Addon manifest format (declare items/recipes/prefabs as data)
|
||
- [ ] 2–3 example addons (a new craftable item; a "welcome" message on join; a
|
||
custom spawn rule)
|
||
- [ ] SDK docs for modders
|
||
- **Done when:** a modder drops an addon folder in and it safely adds content,
|
||
and a deliberately-malicious test addon is contained (can't read files,
|
||
can't hang the server).
|
||
|
||
## M4 — Content & polish · ongoing
|
||
- More biomes, creatures, items, building pieces
|
||
- PvP / raiding rules, building damage
|
||
- Better UI, settings, controls
|
||
- Audio, music, weather
|
||
- Packaged builds for Win/Mac/Linux (+ Mac signing/notarisation)
|
||
|
||
## Honest overall estimate
|
||
A genuinely playable **self-hosted survival game with a working sandboxed addon
|
||
SDK** is roughly **6–12 months** of steady solo work with AI help. The M0–M1
|
||
vertical slice (a few weeks) is what proves the concept and keeps you motivated.
|