From 57d7d626cf0c3f672226a6b538f63f1346ebed0d Mon Sep 17 00:00:00 2001 From: megaproxy Date: Sun, 10 May 2026 20:13:22 +0100 Subject: [PATCH] Lock wall-material decision: wood + stone, custom-authored MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wood walls (early game) custom-authored on top of FG_Houses warm-brown timber palette to preserve the Stardew-cabin warmth that's the project's aesthetic anchor. ~½ day of pixel art for corner/T/cap/cross variants. Stone walls (upgrade material) imported from FG_Fortress autotile-solvable as-is. Both materials plug into the same WallMaterial enum / construction pipeline. Phase 5 estimate bumped from 2-3 wks to 2.5-3.5 wks. Phase 1 wall-rendering test now specified: use FG_Fortress as the drop-in test material; wood walls land in Phase 5 alongside the authoring task. Iconic Homestead $19.99 fallback formally not needed. memory.md decisions table now includes the wall locks; the original 3-option open question collapsed to a back-reference. art.md got a new 'Wall-material decision' section replacing the options block. Wolf-sprite question still open; Ventilatore search dispatched. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/art.md | 17 +++++++++++------ docs/implementation.md | 16 ++++++++++++---- memory.md | 9 ++++----- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/docs/art.md b/docs/art.md index d8c0ba3..5e9206d 100644 --- a/docs/art.md +++ b/docs/art.md @@ -101,15 +101,20 @@ Even with the bundle, these need authoring or sourcing: - [x] **Grave marker** — **`Retro Graveyard 16x16 Tileset [Kingdom Explorer]` confirmed in Tier 3.** Path: `Ultimate Farming RPG Tier 3/Retro Graveyard 16x16 Tileset [Kingdom Explorer]/Tilesets/KE_Graveyard.png`. Contents: tombstones (varied), wooden crosses, grave mounds, crypt entries, skeletal markers, ground-transition tiles. Direct use in Phase 14. - [ ] **License attribution credits document** — kick off the list now; add to it as packs come in. Include Kingdom Explorer (likely separate license from ElvGames — check `License.txt`). -## Wall-material decision (consequence of the audit) +## Wall-material decision (locked 2026-05-10) -The `FG_Houses` non-autotile finding is the biggest live blocker. `architecture.md` and `implementation.md` Phase 5 assume the player paints walls and they auto-junction. Options now under consideration (in `memory.md` Open questions): +**Player builds in two materials: wood (early) → stone (upgrade).** Both visible in MVP. -1. **Fortress-stone-only** — player walls use `FG_Fortress` exclusively. `FG_Houses` becomes static prebuilt-shelter art (no construction verb for cabins). Aesthetic shifts toward Going Medieval; loses some of the cute-cabin Stardew warmth. -2. **Custom-author wood walls** on top of `FG_Houses` (~½–1 day per material). Preserves aesthetic; delays Phase 5 by ~3 days. -3. **Mix**: `FG_Houses` static = starter shelter (drop-in, can't deconstruct), `FG_Fortress` autotile = player-built upgrade walls. Two materials, no custom art investment, but loses the "build your own first cabin" beat. +- **Wood walls** are the day-one player-buildable material. Source pack: `Houses Tileset 2 Seasons [Farming Game]/Tilesets/FG_Houses.png` (the warm-brown timber + blue-roof palette). The audit found this pack is **not autotile-solvable as-is** — pieces are pre-built house compositions, not modular variants. Authoring task: **extract or paint corner / T-junction / cap / cross variants** for a Godot 4 Wang-style terrain. Estimated cost ~½ day. Lands in **Phase 5** (implementation.md). +- **Stone walls** are the upgrade material. Source pack: `Fortress Tileset 2 Seasons [Farming Game]/Tilesets/FG_Fortress.png` (tan stonework with dark-grid mortar). The audit found this pack is **autotile-solvable as-is** — ~20–30 modular pieces are present. Authoring task: import as TileSet, build the terrain definition, sample-test on a small map. Estimated cost ~few hours. Lands in **Phase 5** (alongside wood). +- Choosing both materials matches the aesthetic anchor: Stardew-cabin warmth carries the early game; the stone upgrade gestures toward Going Medieval as the colony grows. Loses the Fortress-stone-only "pure Going Medieval" option but keeps the project's design DNA intact. +- **Phase 5 wall sub-tasks** (record-keeping for implementation.md): + 1. Author wood-wall corner/T/cap variants on top of FG_Houses (~½ day, custom pixel art on existing tiles) + 2. Build Godot TileSet terrain for wood walls (~½ day, in editor) + 3. Build Godot TileSet terrain for stone walls (FG_Fortress, ~few hours, mostly assembly) + 4. Phase 5's existing wall/floor/door rendering logic stays unchanged — both materials plug in via the same WallMaterial enum / data path. -Decision needed before Phase 1 wall-tileset import (Phase 1 needs at least one wall material to render). +Iconic Homestead $19.99 fallback **not needed** — the bundle covers both materials with ~½ day of art work. ## Tileset prep (the gotcha) diff --git a/docs/implementation.md b/docs/implementation.md index 52f2ea8..e366a10 100644 --- a/docs/implementation.md +++ b/docs/implementation.md @@ -66,7 +66,10 @@ The five items from `memory.md` *Open questions / Audit*. None of these need cod **Goal:** an 80×80 map with the locked camera UX. No pawns yet; just a navigable empty world. - [ ] `TileMap` with 6 layers per `architecture.md`: 0 Terrain · 1 Floor · 2 Wall · 3 Designation · 4 Roof · 5 Fog. Set z-indices, modulate, etc. -- [ ] Tileset import: at least one terrain (grass) + one floor + one wall material from ElvGames bundle. Skip autotile for now if Phase 0.5 audit hasn't completed. +- [ ] Tileset import (audit complete, so we can be specific): + - **Terrain (grass):** `Forest Tileset 4 Seasons/Tilesets/FG_Forest_Spring.png` (or `FG_Grounds.png` for cleaner ground). + - **Wall (test material):** `Fortress Tileset 2 Seasons/Tilesets/FG_Fortress.png` — autotile-solvable, drops in clean. Wood walls (custom-authored on FG_Houses) wait for Phase 5; Phase 1 doesn't need both materials, just *something* to render. + - **Floor:** placeholder from `FG_Grounds` or similar — final floor variants in Phase 5. - [ ] Generate an 80×80 placeholder map (procgen later — for now, a hand-painted test map saved as a `.tscn` is fine) - [ ] Tick loop: `Sim` runs at 20 Hz, render free-runs at 60 Hz, decoupled. Pawn-position lerping comes in Phase 2. - [ ] Speed control: 1× / Fast (5×) / Ultra (12×) / Pause. Buttons fixed top-bar. Per `architecture.md` table — sim-tick queue scales by speed factor. @@ -134,14 +137,19 @@ The five items from `memory.md` *Open questions / Audit*. None of these need cod --- -## Phase 5 — Building, walls, floors, containers (~2–3 weeks) +## Phase 5 — Building, walls, floors, containers (~2.5–3.5 weeks; was ~2–3, bumped for wood-wall art authoring) -**Goal:** the player can shape the world. End of phase: build a functional cabin. +**Goal:** the player can shape the world. End of phase: build a functional wooden cabin, with stone fortress walls available as the upgrade material. - [ ] Designation paint mode (controller reused later by stockpile-paint, no-roof, etc.) — drag-paints ghosts on Layer 3, green-if-placeable / red-if-blocked - [ ] `BuildJob` queue on `World`, with material requirements - [ ] Construction WorkProvider: nearest-job-first, hauls materials → walks to ghost → works N ticks → swaps Layer 3 ghost for real Layer 2 wall (autotile fixes neighbours) → updates pathfinder -- [ ] **Walls:** wood, stone (autotile per Phase 0.5 audit outcome — fall back to manually-painted variants if autotile pieces are missing) +- [ ] **Walls — wood (locked-in via 2026-05-10 audit):** + - **Art:** author corner / T-junction / cap / cross variants on top of `FG_Houses.png` warm-brown timber + blue-roof palette (~½ day pixel art). Bundle has the visual language; the modular pieces don't exist yet. + - **TileSet:** Wang-style terrain definition in Godot, hand-painted variant assignment. +- [ ] **Walls — stone (autotile-solvable as-is):** + - Import `FG_Fortress.png` tan stonework directly. Build TileSet terrain (~few hours, mostly assembly). +- [ ] **WallMaterial enum / data path:** wood vs stone is a tag on the BuildJob; the construction pipeline is identical for both. Wood unlocked from start; stone unlocked once player has stone resource (one-step craft from raw stone? — TBD in Phase 6, not here). - [ ] **Floors:** wood plank, stone, dirt-cleared - [ ] **Doors:** simple swing-open furniture; pawns walk through; pathfinder treats as walkable, walls don't - [ ] **Containers (crates):** furniture entity, 4 stacks, 16-chip filter, 5 priorities, all-neighbours-blocked fallback (locked: hold then drop after ~5 sim sec) diff --git a/memory.md b/memory.md index 94de5e6..d9d0734 100644 --- a/memory.md +++ b/memory.md @@ -44,6 +44,7 @@ Distilled from the brainstorm. Each lock has a "why" — change with deliberate | **Engine version** | Godot **4.6.2 stable** (Win64 binary at `D:\godot\Godot_v4.6.2-stable_win64.exe`) | Locked for reproducibility; pinned in `project.godot` features. | | **Renderer** | GL Compatibility (mobile + desktop), **not** Forward+ | Max device reach; Forward+ would lock out older phones. | | **Repo location** | Physical: `/mnt/d/godot/rimlike/` (D: drive, fast for Windows-side editor). Symlink: `~/claude/projects/rimlike` → physical. | Mirrors tavernkeep's pattern. Both WSL and Windows access without crossing the WSL net bridge. | +| **Player walls** | **Wood (custom-authored on `FG_Houses.png`) + Stone (autotile from `FG_Fortress.png`)** | Wood preserves the Stardew-cabin warmth that's the project's aesthetic anchor; stone is the upgrade material. Audit (2026-05-10) found Houses *not* autotile-solvable as-is, so wood walls cost ~½ day to author corner/T/cap pieces. Phase 5 slips ~3 days; aesthetic survives. | ### Architecture (tech) @@ -99,11 +100,9 @@ Total ~75 min. **3 of 5 closed on 2026-05-10**; see session log + `docs/art.md` ### Design topics still open -- [ ] **Player-built wall material strategy** (NEW from 2026-05-10 audit): `FG_Houses.png` doesn't autotile — it's pre-built house compositions, not modular wall pieces. Options: - - (a) **Fortress-stone-only** for player walls (uses `FG_Fortress.png` autotile-solvable). Cabin starts as a pre-placed `FG_Houses` static prop; player upgrades to stone fortress walls. Aesthetic shifts toward Going Medieval, away from cute-cabin Stardew vibe. - - (b) **Custom-author wood + stone walls** on top of `FG_Houses.png` and `FG_Fortress.png` — ~½–1 day per material. Preserves the cute-farming-RPG warmth but delays Phase 5 by ~3 days. - - (c) **Mix**: use `FG_Houses` static prebuilt as starter shelter (no construction verb for it) + `FG_Fortress` autotile for player-built upgrade walls. Two materials, no custom art investment, but loses the "build your own first cabin" beat. - - Decision before Phase 1 wall-tileset import (Phase 1 needs at least one wall material to render). + + +**Resolved: wall material strategy.** Lock = **custom-author wood + stone walls** (option b). Player builds wood-cabin walls from day one (corner/T/cap variants authored on top of `FG_Houses.png` wood-and-blue-roof material, ~½ day work) then upgrades to stone fortress walls later (`FG_Fortress.png` autotile-solvable as-is, ~few hours). Phase 5 slips ~3 days but the Stardew-cabin-warmth aesthetic survives, which was the original anchor. See `docs/art.md` Wall-material decision. - [ ] **Wolf sprite acquisition** (NEW from 2026-05-10 audit): bundle has nothing canine-predator. Options: (a) commission a 16×16 wolf (idle + 2–4-frame walk × 4 directions; ~few hours pixel art or paid commission ~$30–60); (b) check Ventilatore bundle for a usable beast; (c) source a CC0 wolf from OpenGameArt; (d) reskin an existing animal placeholder (dark dog?) for MVP and replace later. Phase 10 blocker; can defer until then. - [ ] **Auto-roof big-room UX**: the ≤8-cell BFS cap silently fails on rooms larger than 8×8. Decide whether to (a) keep the cap and surface "this area is too large to roof — split with an interior wall" hint when the player encloses one, (b) bump the cap to ~16 with the same hint at the new threshold, or (c) detect any enclosed area regardless of size. Affects `EnclosureDetector` + a new room-feedback UI. - [ ] **Onboarding / first 60 seconds**: mobile-specific. Don't copy Rimworld's tutorial.