用卡牌 + 肉鸽机制体验一次 LLM 训练全流程:预训练、微调、对齐、发布。
- 🗺️ 分岑路径地图(v0.4 新):每幕生成多列分岑节点,自由选路,规划属于你流派的路线
- 🃏 37 张技术卡 · 含稀有度系统:从 MoE/RLHF/CoT 到 Mamba/JEPA/可解释性,9 张稀有/史诗
- 🔄 资源/属性互动:
数据可花费重抽,效率给所有算力消耗打折(最高 50%) - 📜 28 种事件:投资人、舆情、出口管制、AGI 恐慌……部分有连锁后果
- 👥 8 名研究员 / 22 种协同效应
- ⚔️ 多回合 Boss 战:每个 Boss 3–5 轮挑战,按回合选择应战策略
- 🛋️ 休整节点:恢复效率与对齐
npm install
npm run dev # 启动 dev server
npm run build # 类型检查 + 产物
npm run preview # 预览构建产物
npm run lint # ESLint
npm run typecheck需要 Node.js ≥ 20。
src/
├── data/ # 卡牌、事件、研究员、Boss —— 所有"内容"数据
│ ├── techCards.ts
│ ├── synergies.ts
│ ├── events.ts
│ ├── researchers.ts
│ ├── bosses.ts
│ └── info.ts # 属性/资源元信息(图标、配色)
├── game/
│ ├── engine.ts # 纯函数:抽卡、计算加成、应用 delta、Boss 得分
│ └── map.ts # 分岑地图生成器 + 节点类型元信息
├── hooks/
│ └── useGame.ts # 状态机:phase 流转、阶段推进
├── components/ # UI 组件(无业务状态)
│ ├── ResourceBar.tsx
│ ├── StatsPanel.tsx
│ ├── ActProgress.tsx
│ ├── TechCard.tsx
│ ├── EventCard.tsx
│ ├── ResearcherCard.tsx
│ ├── BossBattle.tsx
│ ├── Toasts.tsx
│ └── screens/ # 全屏场景:Intro / BossIntro / FinalResult
├── types/ # 共享类型
├── App.tsx # 主入口:根据 phase 切换屏幕
├── main.tsx
└── index.css # Tailwind base
想添加新内容?只需要改 src/data/:
| 想加什么 | 改这个文件 |
|---|---|
| 新技术卡 | data/techCards.ts(如果它在 Boss 战中有加成,再补 CARD_BOSS_BONUS) |
| 新协同 | data/synergies.ts |
| 新事件 | data/events.ts(带 next 字段即可形成连锁事件) |
| 新研究员 | data/researchers.ts |
| 新节点类型 | types/index.ts (NodeType) + game/map.ts (生成逻辑) + hooks/useGame.ts (phase) |
| 新 Boss | data/bosses.ts + 在 game/map.ts 的 ACT_CONFIGS 引用 bossKey |
引擎层(game/engine.ts)是纯函数、易于编写单元测试;状态机(hooks/useGame.ts)和 UI(components/)严格分离。
推送到 main 即可触发 .github/workflows/deploy.yml,自动构建并发布到 GitHub Pages。
(vite.config.ts 在 CI 中通过 GITHUB_PAGES=true 切换到 /llm-roguelike/ 前缀。)
MIT © JavaZeroo