89 lines
5.1 KiB
Markdown
89 lines
5.1 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)*
|
||
- [x] Weather (rain, storm, snow), wet/shelter *(M1c)*
|
||
- [x] Snap-together building: floor/wall/door/roof/gable, resource cost, support + collapse, dismantling *(M1c)*
|
||
- [x] Bed spawn point and sleeping, resource regrowth *(M1c)*
|
||
- [x] Creatures (rabbit, deer, boar), hunting, club/spear/bow, butchering, cooked-food buffs, hide cloak *(M1d)*
|
||
- [x] Wolves at night with a den and a 3-day grace period, wolf cloak *(M1e)*
|
||
- [x] Fishing (rod, perch and trout, grilling) and a mixed diet *(M1e)*
|
||
- [ ] Hide armour, more recipes, sea fishing *(later M1 polish)*
|
||
- [x] Wild flax (fibre plants) *(polish)*
|
||
- [ ] **Iron, stone building and new adversaries**: iron nuggets and ore,
|
||
smelting and a forge, iron tools and durability, cut-stone building,
|
||
an alpha wolf, a bear, a barrow with guards, spoilage and blizzards
|
||
*(phases P1-P5, `docs/PROGRESSION_DESIGN.md`)*
|
||
- [ ] **Tutorial world**: a guided first island that teaches gathering,
|
||
crafting, chopping, food and the mixed diet, hunting, fishing,
|
||
shelter and the night *(phases T1-T4, `docs/TUTORIAL_DESIGN.md`)*
|
||
- **Done when:** gather → craft → build a tiny shelter, single-player.
|
||
|
||
## M2 — Multiplayer · ~2–4 months
|
||
**Goal:** self-hosted, authoritative, 2–8 players.
|
||
Detailed plan in `docs/MULTIPLAYER_PLAN.md` (hosting on UDP 24242 via Tailscale
|
||
or port forwarding, player identity and names, server rules for co-op/PvP, and
|
||
phases M2.0-M2.7).
|
||
- [x] Server-authoritative online (single-player stays as it is, with no server) *(M2.4)*
|
||
- [x] Headless dedicated server, joining, identity handshake, names, player list *(M2.1)*
|
||
- [x] ENet transport, player bodies and name tags, local movement checked by the server, interpolation for others *(M2.2)*
|
||
- [x] Replicate resource nodes, pickups, building, chests, fires, doors, clock *(M2.3)*
|
||
- [x] Persistence: world save/load on the server *(M2.3)*
|
||
- [x] Per-player inventory, stats, death, graves and saves on the server *(M2.4)*
|
||
- [x] Animals, wolves, hunting, fishing and sleeping on the server *(M2.5)*
|
||
- [x] Server rules (PvP, raiding, locks and friends, death penalty, difficulty, wolf grace), chat and admin commands, server console *(M2.6)*
|
||
- [x] Host Game from the title screen, backups, launchd and systemd samples, hosting and Tailscale guide (`docs/HOSTING.md`) *(M2.7)*
|
||
- **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.
|