Files
Emberwild/docs/ROADMAP.md

87 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)*
- **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.