Phillip Tarrant e5fb173008 Merge M4-c: Title → Creation → Shell flow (the Main coordinator)
New Game now runs character creation and lands in the exploration shell as the
CREATED character — HP/MP/purse/location/opening-narration all real. A script-first
`Main` coordinator (scenes/Main.tscn, the main_scene) owns Title → Creation → Shell
via instantiate → inject → add_child; the title is emit-only; the shell consumes an
injected character (seed stays the F6 fallback). ⛨ saga fourth-path seam kept addable.

Completes M4. Full suite 327/327; whole-branch review clean; human F5 smoke passed.
Also adds the roadmap's next item (Ollama Cloud proxy provider + backend switch).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 05:35:05 -05:00
2026-07-11 11:13:16 -05:00
2026-07-09 11:17:54 -05:00

coc-rpg

AI-driven single-player, party-based fantasy RPG. Godot 4 client, FastAPI proxy, AI as Dungeon Master.

Read CLAUDE.md first — project charter and working agreement. It is the source of truth. If code disagrees with it, the charter wins until the charter is changed.

The one rule

Code owns state. AI owns text. (charter §2)

Repo layout

/client        Godot 4.7 game client (GDScript) — ALL game state, ALL game rules
  /docs        Client-specific docs (scenes, input, combat wiring)
/api           FastAPI proxy — auth, metering, prompt routing, logging (charter §4)
  /docs        API-specific docs (endpoints, model routing, deploy)
  /prompts     Role prompts — source code, versioned, reviewed (charter §5, §16)
/content       Authored game data — quests, NPC knowledge lists, fallback text
  /quests      Story skeletons and quest definitions
  /npcs        Per-NPC knowledge lists (charter §6 — "the whole design")
  /fallback    Authored degraded-DM text for every AI surface (charter §13)
/docs          Cross-cutting docs — roadmap, ADRs, planning affecting both sides
  /adr         Architecture Decision Records

The three processes (charter §4)

client (GDScript)  ──HTTP──▶  api (FastAPI)  ──▶  Replicate / Ollama

The client holds no API key, ever. It knows one base URL and a set of role endpoints. It sends game state, receives text.

Description
No description provided
Readme 3.3 MiB
Languages
Text 100%