From 7103b2297f47982ed882202854eb9840694ba9f6 Mon Sep 17 00:00:00 2001 From: Vuong Hoang Date: Thu, 6 Aug 2026 22:04:15 -0700 Subject: [PATCH] =?UTF-8?q?chore:=20scaffold=20Godot=204.7.1=20project=20?= =?UTF-8?q?=E2=80=94=20greybox=20falsifier=20phase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Design canon: advisors/game-design/concept/mechatronics/ (CONCEPT.md, MOE.md). v1 target = the greybox falsifier per ROADMAP.md. --- .gitignore | 6 +++++ CLAUDE.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 10 +++++++++ ROADMAP.md | 33 ++++++++++++++++++++++++++++ project.godot | 19 ++++++++++++++++ 5 files changed, 129 insertions(+) create mode 100644 .gitignore create mode 100644 CLAUDE.md create mode 100644 README.md create mode 100644 ROADMAP.md create mode 100644 project.godot diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7135c97 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +# Godot 4 +.godot/ +*.translation + +# OS noise +.DS_Store diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..6778a2e --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,61 @@ +# CLAUDE.md — U R M03 + +Godot 4 game project. Science-fiction rogue-lite: strategy-forward +mech auto-battler with a light action layer and a nurturing +base-builder meta. + +## Design canon (read before designing anything) + +The design documents are canonical and live in the advisor repo, +NOT here: + +| Document | Canonical for | +|---|---| +| `~/development/advisors/game-design/concept/mechatronics/CONCEPT.md` | All systems: loop stack, run skeleton, tag grammar, chemistry table, encounter grammar, base, economy, campaign | +| `~/development/advisors/game-design/concept/mechatronics/MOE.md` | M03 ("Moe") — character bible, design law, scenes | + +Where they conflict: MOE.md wins for Moe, CONCEPT.md for systems. +Design decisions are made in those documents first, then implemented +here. Do not fork design decisions in this repo; propose changes +against the advisor repo's docs. + +Non-negotiable canon highlights (full rationale in CONCEPT.md): + +- **ONE BOT** — the cast is M03, Khoe, and rescued humans. No other + friendly mech, ever. Build variety rides in RIGS. +- **No immunities, no healing enemies, ever** (the invincibility + laws). Susceptibilities only; damage dealt is progress banked. +- **Two-solutions rule** — every encounter answerable by brute force + AND by the read; cleverness pays only in speed, safety, spectacle. +- **Combos produce verbs, not multipliers.** Every chemistry row is + a visible event, learnable by seeing it once. +- **No tutorial, ever.** The base's growth order is the curriculum. +- **Siege/base-defense mode: permanently rejected.** Do not build, + do not re-propose. + +## Engine + +- **Godot 4.7.1-stable, pinned.** Both dev machines run + `4.7.1.stable.official.a13da4feb` (Mac editor: `/Applications/ + Godot.app` + `godot` shim; nh3-dev headless: `~/bin/godot`). + Do not upgrade unilaterally — version skew rewrites scene files. + An upgrade is an operator decision applied to both machines at + once. +- Headless verification: `godot --headless` works on nh3-dev for + scripts, tests, and imports. +- GDScript for design iteration; C# reserved for hot paths (none + yet). +- 2D, pixel-first: integer scaling, nearest-neighbor filtering + (set in project.godot). Hi-bit mixed-res effects layer comes + later — greybox is deliberately art-free. + +## Current phase: GREYBOX (v1 per ROADMAP.md) + +The falsifier slice, specced in CONCEPT.md § Encounter grammar: +one arena · one auto-fire KINETIC weapon · two cards (HEAT + +KINETIC) · the KINETIC+HEAT chemistry row (knock a heated enemy +into others → heat spreads on impact) · two enemy types (untagged +grunt swarm + self-heating burster). It exists to falsify three +bets: positioning ↔ build interaction, card-freeze rhythm, +chemistry delight. Greybox art: primitives and placeholder shapes +only — no sprites, no polish. diff --git a/README.md b/README.md new file mode 100644 index 0000000..b339a21 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# U R M03 + +Science-fiction rogue-lite: a strategy-forward mech auto-battler +with a light action layer and a nurturing base-builder meta. You +restore the last of the gentle giants; he goes out so nobody else +has to. + +Godot 4.7.1 (pinned). Design canon lives in the game-design advisor +repo (`concept/mechatronics/`); this repo is the implementation. +Current phase: greybox falsifier — see ROADMAP.md. diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..8cb44d5 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,33 @@ +# ROADMAP — U R M03 + +## v1 target — the greybox falsifier + +v1.0 of this repo is NOT the game; it is the playable slice that +falsifies (or confirms) the design's three core bets. Cut v1 when +all of these are true: + +1. **Arena + piloting** — one greybox arena; positioning-only mech + control (no aim, no combos). +2. **Auto-fire build layer** — one KINETIC weapon that fires itself; + the build expresses itself visibly without input. +3. **Card layer** — 2-slot hand, card-time dilation (freeze/dilate + toggle exposed as a knob), two cards: one HEAT, one KINETIC; + charges generated by the build. +4. **Chemistry row** — KINETIC+HEAT: knocking a heated enemy into + others spreads heat on impact. Authorship-loud feedback stack + (hitstop + hues meeting + sting placeholder). +5. **Two enemy types** — untagged grunt swarm + self-heating burster + (tests the literal enemy tag mirror). +6. **Falsification playtest** — operator has played it and rendered + verdicts on the three bets: positioning ↔ build interaction, + card-freeze rhythm, chemistry delight. + +## Parking lot (post-greybox) + +Everything else, including: remaining 9 chemistry rows + 5 surges; +node map / run structure; belt + full hand; keystones; base layer; +salvage economy; drives/transits; zones; bosses; art pass (sprite +grid test 32–48px); audio; naming pass (tags, modules, rigs); +enemy factions as tag dialects; tuning knobs (CONCEPT.md § Open +questions #2). None of it enters this repo until the greybox +verdict is in. diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..2260036 --- /dev/null +++ b/project.godot @@ -0,0 +1,19 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. + +config_version=5 + +[application] + +config/name="U R M03" +config/features=PackedStringArray("4.7") + +[display] + +window/stretch/mode="viewport" +window/stretch/scale_mode="integer" + +[rendering] + +textures/canvas_textures/default_texture_filter=0