Roadmap
Next, the operator settles the open decisions. Then the team fixes the known prototype bugs, builds a small internal slice (M0), and then the public v0.1. You can run the prototype today with Node only.
- done Spec draft v0.1 (
README.md). - done Command-line prototype: world event, bí cảnh, combat and checks; 27 tests.
- now Operator decisions (Decisions page), including approval of C1–C9.
- next Fix the 4 known combat bugs and apply C1–C9 in one change. Re-run the balance sweep. Turn the C4 win-rate bands into tests that must pass. Update the README.
- next Internal M0 slice (proposed): 1 region, 2 sects, about 12 seeds, 1 kính. Test: 1 world event, 1 daily event, and 1 consequence spawned from their saved state.
- next Public v0.1 (proposed): 3 regions, 3 sects, about 80 seeds, 3 kính, about 40 images, the full tick pipeline, and a receipt on every change.
Proposed — needs operator decision: the M0 and v0.1 scopes above come from the design debate.
How to run the prototype
You need Node 22.6 or newer (built on 24.12). There are no npm dependencies. --no-warnings only hides Node's "SQLite is experimental" notice.
- Check your Node version.
node --version - Get the code.
git clone https://github.com/untitled-big-tech-company/tcg - Go into the folder.
cd tcg - Run the tests. Expect 27 passes.
node --no-warnings --test poc/*.test.ts - Run the world event (raid, seed 1, 200 bots).
node --no-warnings poc/run.ts - Run the bí cảnh dungeon.
node --no-warnings poc/run.ts --scenario=dungeon - Watch one bot fight.
node --no-warnings poc/run.ts --scenario=combat - Play the fight yourself.
node --no-warnings poc/run.ts --scenario=combat --interactive - Run a skill check.
node --no-warnings poc/run.ts --scenario=check - Print the balance sweep.
node --no-warnings poc/run.ts --scenario=combat --sweep - See the LLM fallback with a broken provider.
node --no-warnings poc/run.ts --break-llm
Other flags:
| Flag | What it does |
|---|---|
--seed=N | Sets the random seed. The same seed gives the same run. |
--players=N | Sets the number of bot players. |
--days=N | Sets the number of game days to run. |
--beast=… | Picks the beast in --scenario=combat: hac_lang, doc_xa, si_yem or thiet_hung. |
--db=world.db | Keeps the SQLite file. *.db is git-ignored, so do not commit it. |
--llm=real | Uses a real LLM. It needs the LLM_BASE_URL, LLM_API_KEY and LLM_MODEL environment variables. |
Never put a key in a file in the repo.