关于 add-feature
add-feature 是一项游戏开发技能,可根据自然语言需求,按照游戏现有代码模式添加功能。它指导开发者为 Three.js 或 Phaser 项目规划、实现功能并验证构建。
主要功能
- 01检查游戏架构和现有模式
- 02规划模块、事件和状态变更
- 03实现功能并接入游戏
- 04检查构建和集成情况
适用场景
- 01为游戏添加强化道具
- 02加入计分机制
- 03沿用现有系统模式扩展玩法
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ playableintelligence/ game-creator --skill add-feature安装后在 Claude Code 中输入/add-feature确认已加载。
详细介绍
性能说明
- 请花时间彻底完成
- 质量比速度更重要
- 不要跳过验证步骤
添加功能
为你的游戏添加一项新功能。只需用通俗的语言描述你想要什么,例如“添加一个二段跳强化道具”或“添加一个高分排行榜”,我们就会遵循游戏现有的模式来实现该功能。
说明
用户想要添加:$ARGUMENTS
第 1 步:了解代码库
- 阅读
package.json,确定使用的引擎(Three.js 或 Phaser) - 阅读
src/core/Constants.js,了解现有配置 - 阅读
src/core/EventBus.js,了解现有事件 - 阅读
src/core/GameState.js,了解现有状态 - 阅读
src/core/Game.js(或 GameConfig.js),了解现有系统的接线方式 - 阅读现有场景和游戏玩法文件,了解已实现的内容
第 2 步:规划功能
编写代码前,用通俗的语言说明计划:
- 功能作用:从玩家的角度描述该功能
- 工作原理:列出将要创建的新文件、事件和设置
- 影响范围:列出需要稍作修改以接入该功能的现有文件
然后确定技术实现所需的内容:
- 新模块文件及其在目录结构中的位置
- 要添加到 Events 枚举中的新事件
- 要添加到 Constants.js 的新常量
- 要添加到 GameState.js 的新状态
- 如何将其接入 Game 主控模块
第 3 步:实现
严格遵循以下规则:
- 在正确的
src/子目录中创建新模块 - 将所有新事件添加到
EventBus.js的 Events 枚举中 - 将所有配置值添加到
Constants.js(不得硬编码任何值) - 在
GameState.js中添加任何新的状态域 - 将新系统接入
Game.js(导入、实例化并在循环中更新) - 使用 EventBus 与所有其他系统通信
- 遵循项目中现有的代码风格和模式
第 4 步:验证
- 运行
npm run build,确认没有错误 - 确认该功能已集成,且不会破坏现有系统
- 检查是否引入了循环依赖
- 确保在适用情况下正确清理事件监听器
- 用通俗的语言总结新增内容
故障排除
添加功能后游戏崩溃
原因: 新代码与现有的 EventBus 事件或 GameState 字段冲突。 解决方法: 检查 EventBus.js 中是否存在事件名称冲突。确保在 GameState.reset() 中为新状态字段设置默认值。
功能正常,但破坏了现有玩法
原因: 修改了共享常量或碰撞组。 解决方法: 添加新常量,而不是修改现有常量。完成修改后测试原有玩法。
输出
告诉用户:
- 该功能的作用(从玩家的角度)
- 创建或修改了哪些文件
- 如何测试——“运行
npm run dev并尝试[具体操作]”
使用示例
添加强化道具
/add-feature add a speed boost power-up that spawns randomly
结果:创建 src/entities/PowerUp.js,向 EventBus 添加 POWER_UP 事件,向 Constants.js 添加生成时间和持续时间配置,并将其接入 Game.js。玩家拾取强化道具后,速度会加倍,持续 8 秒。
添加计分机制
/add-feature add combo multiplier that increases when you score quickly
结果:向 GameState 添加 comboMultiplier 和 comboTimer,在计分系统中创建连击逻辑,并添加用于更新 UI 的 COMBO_CHANGED 事件。
提示
你可以根据需要多次运行此命令,持续添加功能。每项新功能都会在上一项的基础上构建。
满意游戏玩法后,运行
/game-creator:design-game来润色视觉效果,运行/game-creator:add-audio添加音乐和音效,或运行/game-creator:review-game进行全面质量检查。