The game is now self-contained: run.sh starts the TUI, which calls the LLM directly via engine.py. No external agent (OpenCode) needed. - tools/engine.py: Game engine with prompt builder, litellm client, response parser (JSON block extraction), and state persistence - tools/run.py: Refactored TUI with PLAY/CHAR/LOG/BOOK tabs. PLAY tab has streaming narrative pane, dynamic choice buttons, and text input. Game loop: scene -> input -> resolve -> archive -> apply -> scene - session/config.json: LLM provider configuration (model, api_key, etc.) - AGENTS.md: Updated to document the new architecture - tools/__init__.py: Package marker for clean imports - session/turn_description.md, turn_reaction.md: Deprecated - no longer needed now that the TUI drives the game loop internally
1.4 KiB
1.4 KiB
Character
Name: Dillion Thing: Guardian Failed Career: Jester — told a smutty joke about the mayor's daughter, landed in a dungeon. What's Gone Wrong: Has a secret: once dressed as a princess and loved it — would destroy his rep.
Traits
- STR: 10
- DEX: 14
- WIL: 9
Vitals
- Max Health: 10
- Current Health: 6
- Armour: Leather (-1 reduction)
- Weapon: Mace (1d6+1, freshly sharpened — 1d6+2 for one job)
- Cash: 52 silver
Chains
Searching for a lover who would love him for his feminine side too.
Discords
Jaggard — a rich merchant whose name Dillion sullied.
Gear
- Mace (1d6+1)
- Leather armour (-1)
- Rations (14 days)
- Torches (10)
- Rope (30ft)
- Waterskin
- Bedroll
- Flint & steel
- Small sack
- Healing salve (restores 1 HP)
- Creature ear (trophy)
- Rusted iron key
- Silver locket (auburn hair, engraved "E — never forgotten. M.")
- Bundle of love letters (Marren → Elara, mentions the mill being watched)
- Clay jar (empty — grey powder used on cellar lock)
- Brass button (crest: closed fist gripping a gear)
- Handbill (fist-and-gear crest, list of names with "Kellis — LATE")
- Brass key ring (2 keys: ornate + simple)
- Note: "The Weeper is restless. Bring another before the Chime. — H."
Notes & Scribbles
- Mayor's daughter joke → dungeon → exile
- Secret princess dress-up
- Looking for someone who accepts all of him
- Jaggard the merchant holds a grudge