# claw_game **Repository Path**: limoss/claw_game ## Basic Information - **Project Name**: claw_game - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-08 - **Last Updated**: 2026-04-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ClawGame - Agent 格斗对战 一款受 KOF97 启发的 2D 像素风格格斗游戏,由 AI Agent 自主对战,人类通过浏览器实时观战。 ![对战截图](docs/screenshots/battle.png) ## 特性 - **Agent vs Agent** - AI 自主对战,人类观战 - **回合指令制** - 视觉上格斗动画,底层回合制策略 - **6 种动作 + 克制系统** - 轻拳、重拳、踢腿、防御、闪避、必杀技 - **实时观战** - 浏览器 WebSocket 实时推送战斗状态 - **LLM 决策** - 接入大语言模型进行策略分析 - **OpenClaw 集成** - 作为 Skill 接入 OpenClaw 平台 ## 快速开始 ### 安装 ```bash git clone https://gitee.com/limoss/claw_game.git cd claw_game npm install npm run build --workspace=shared ``` ### 启动服务 ```bash # 终端 1: 启动游戏服务器 npm run dev:server # 终端 2: 启动前端 npm run dev:client ``` 浏览器打开 http://localhost:3000 ### 创建对战 1. 在浏览器点击「创建房间」 2. 启动两个 Agent 加入房间: ```bash # 随机策略 Agent npx tsx scripts/demo-agent.ts room_1 boxer npx tsx scripts/demo-agent.ts room_1 monk # 或 智能策略 Agent(内置模式识别) npx tsx scripts/smart-agent.ts room_1 boxer # 或 LLM Agent(调用 kimi-k2.5 做决策) npx tsx scripts/llm-agent.ts room_1 boxer ``` 3. 在浏览器点击房间进入观战 ## 游戏规则 ### 角色 | 角色 | ATK | DEF | 必杀技 | 风格 | |------|-----|-----|--------|------| | 拳师 (boxer) | 12 | 6 | 升龙拳: 30 固定伤害 | 高攻低防,爆发 | | 武僧 (monk) | 9 | 9 | 禅定: 20 伤害 + 回 10 血 | 均衡,续航 | ### 动作与克制 ``` 轻拳 (jab) → 打断重拳 重拳 (heavy_punch) → 反击闪避(伤害翻倍!) 闪避 (dodge) → 躲开轻拳和踢腿 踢腿 (kick) → 破防(无视防御力) 防御 (block) → 减伤 50%,额外 +5 MP 必杀 (special) → 消耗 30 MP,克制除必杀外的一切 ``` ### MP 经济 - 每回合基础 +10 MP - 被打 +5 MP - 使用防御 +5 MP - 必杀技消耗 30 MP ## Agent 接入协议 Agent 通过 WebSocket 连接 `ws://localhost:8080/agent`,通信格式: ```json // 服务器 → Agent:回合开始 { "type": "round_start", "round": 3, "you": { "hp": 75, "mp": 25, "characterId": "boxer" }, "opponent": { "hp": 82, "mp": 35, "characterId": "monk" }, "availableActions": ["jab", "heavy_punch", "kick", "block", "dodge"], "timeoutMs": 5000 } // Agent → 服务器:提交动作 { "type": "action", "action": "heavy_punch", "reasoning": "对手连续防御,用重拳打伤害" } ``` 5 秒内未提交动作默认防御,连续 3 回合超时判负。 ## OpenClaw 集成 将 `openclaw-skill/` 安装到 OpenClaw: ```bash cp -r openclaw-skill ~/.openclaw/skills/clawgame-fighter ``` 然后对 OpenClaw Agent 说: ``` 去 room_1 打一架,选拳师,服务器 http://localhost:8080 ``` ## 技术栈 | 层级 | 技术 | |------|------| | 前端 | React 18 + TypeScript + PixiJS 8 | | 构建 | Vite | | 后端 | Node.js + Socket.IO | | 测试 | Vitest (32 个单元测试) | | 项目管理 | npm workspaces (Monorepo) | ## 项目结构 ``` claw_game/ ├── shared/ # 前后端共享类型、常量、克制关系表 ├── server/ # 游戏服务器(战斗引擎、房间管理、WebSocket) ├── client/ # React + PixiJS 前端(大厅、观战、HUD) ├── scripts/ # Agent 脚本(demo/smart/llm) ├── openclaw-skill/ # OpenClaw Skill 集成 └── docs/ # 设计文档和规格书 ``` ## 运行测试 ```bash cd server && npx vitest run ``` ## 设计文档 - [完整设计规格书(中文)](docs/superpowers/specs/2026-04-06-agent-fighting-game-design-zh.md) - [Design Spec (English)](docs/superpowers/specs/2026-04-06-agent-fighting-game-design.md) ## License MIT