Quick Game(快速原型)用于尽可能快地构建一个可玩的游戏原型。它是 /viral-game 去掉打磨环节后的版本——只做脚手架搭建加核心循环实现。先让东西出现在屏幕上,之后再通过 /add-assets、/design-game、/add-audio、/game-deploy 和 /monetize-game 逐步叠加层次。
【产出内容】
- 一个架构清晰的游戏项目脚手架
- 核心玩法:输入、移动、计分、失败条件、重开
- 一个可立即游玩的运行中开发服务器
【跳过的环节(之后可单独运行)】
- /add-assets — 像素美术精灵(2D)或 3D 模型
- /design-game — 视觉打磨、粒子、转场
- /add-audio — 音乐与音效
- /record-promo — 宣传视频录制
- /game-deploy — 部署到 here.now
- /monetize-game — Play.fun 集成
【使用方式】 第 0 步:解析参数。解析 $ARGUMENTS 确定游戏概念:直接指定格式为 [2d|3d] [game-name];引擎可选 2d(Phaser)或 3d(Three.js),未指定默认 2d;名称使用 kebab-case,未指定则询问用户。若参数包含推文 URL(x.com//status/、twitter.com//status/、fxtwitter.com//status/),则使用 fetch-tweet 技能抓取推文,默认 2D,从推文内容中创造性地抽象出游戏概念,生成 kebab-case 名称,并告知用户将要构建的内容。3D 模式下需检查 MESHY_API_KEY,缺失则询问用户(链接 https://app.meshy.ai)并存储用于模型生成。
第 1 步:脚手架与实现。基础设施在主线程完成:定位模板目录(检查 ~/.claude/plugins/cache/local-plugins/game-creator/*/templates/ 或插件相对的 templates/);目标目录若在 game-creator 仓库内则创建于 examples/<game-name>/,否则创建于 ./<game-name>/;复制模板(2D:templates/phaser-2d/,3D:templates/threejs-3d/);更新 package.json 名称与 index.html 标题;运行 npm install;后台启动开发服务器(npm run dev),先检查端口可用性,若 3000 被占用则尝试 3001、3002 等。
游戏实现通过 Task 子代理完成,按以下顺序实现:输入(从一开始就支持触摸加键盘)、玩家移动/核心机制、失败条件(死亡、碰撞、计时器)、计分、重开流程(GameState.reset() → 干净状态)。范围限定为 1 个场景、1 个机制、1 个失败条件。规则包括:所有跨模块通信通过 EventBus;所有魔法数字放在 Constants.js;无标题画面,直接进入游戏;无游戏内分数 HUD(Play.fun 组件负责分数显示);移动优先输入,触摸加键盘,使用统一 InputSystem 模式;从 Constants.js 导入 SAFE_ZONE,UI 保持在 SAFE_ZONE.TOP 之下;收集物/危险物最小为画布宽度的 7-8%;角色尺寸为 GAME.WIDTH * 0.12 到 GAME.WIDTH * 0.15(角色驱动型游戏);保留 GameOverScene 中模板的 createButton() 辅助函数,不要重写;接入 spectacle 事件:SPECTACLE_ENTRANCE、SPECTACLE_ACTION、SPECTACLE_HIT、SPECTACLE_COMBO、SPECTACLE_STREAK、SPECTACLE_NEAR_MISS;为未来音频支持在 GameState 中添加 isMuted;确保重开干净——连续 3 次重开应表现一致。
第 2 步:验证。子代理返回后,在项目目录运行 npm run build 确认无错误;若构建失败则修复(最多重试 2 次);若 Playwright MCP 可用,则导航到开发服务器、截图并做快速视觉检查。
【示例用法】 2D 游戏:/quick-game 2d asteroid-dodge。结果:复制 Phaser 模板 → 实现玩家飞船、小行星生成、碰撞死亡、分数计数、重开流程 → 开发服务器约 2 分钟内在 localhost:3000 运行。仅使用形状,无打磨。 来自推文:/quick-game https://x.com/user/status/123456。结果:抓取推文 → 抽象游戏概念 → 搭建并实现受推文内容启发的可玩原型。
【故障排查】 游戏脚手架搭好但无法启动:原因是 Vite 配置或导入路径不正确。修复:验证 vite.config.js 的 root 正确,检查 index.html 中引用了 main.js。 缺少核心文件:原因是脚手架跳过了 EventBus/GameState/Constants。修复:每个游戏都需要 core/EventBus.js、core/GameState.js、core/Constants.js,重新运行脚手架或手动创建。
【完成提示】 告知用户:你的游戏运行在 http://localhost:<port>,在浏览器中打开即可游玩。要继续构建,可运行以下命令:/add-assets(用像素美术精灵替换形状)、/design-game(添加视觉打磨:粒子、渐变、动感)、/add-audio(添加音乐与音效)、/game-deploy(部署到网络)、/monetize-game(添加 Play.fun 集成)。或者下次运行 /viral-game 使用完整的一站式流水线(资源、打磨、部署、变现一次完成)。