‹ 首页

setup-engine

@pixel-cellar · 收录于 5 天前 · 上游提交 4 个月前

配置项目的游戏引擎和版本。将引擎锁定到 CLAUDE.md 中,检测知识缺口,当版本超出 LLM 训练数据时通过 WebSearch 填充引擎参考文档。

适合你,如果需要在项目中固定游戏引擎版本并确保文档完整

/ 通过 npx 安装 校验哈希
npx oh-my-skill add pixel-cellar/claude-code-game-studios/setup-engine
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- pixel-cellar/claude-code-game-studios/setup-engine
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify pixel-cellar/claude-code-game-studios/setup-engine
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
273GitHub stars
~3.1K上下文体积 · 单文件
索引托管

怎么用

商店整理自技能原文 · 版本 2c016ef · 表述以原文为准
它做什么

装上后,Claude会帮你配置游戏引擎和版本。它会检测项目文件,引导或自动选择引擎(Godot/Unity/Unreal)和版本,更新CLAUDE.md和技术偏好。若版本超出知识截止(2025年5月),会搜索网络填充参考文档。

什么时候触发

当你输入 `/setup-engine` 命令时触发。可带参数直接指定引擎版本,或不带参数进入引导模式,或使用 `/setup-engine refresh` 更新现有配置。

装好后可以这样说
Claude会锁定版本并创建技术偏好。
进入引导模式,询问游戏类型等信息。
技能原文 SKILL.md作者撰写 · MIT · 2c016ef

当此技能被调用时:

1. 解析参数

三种模式:

  • 完整规格/setup-engine godot 4.6 — 已提供引擎和版本
  • 仅引擎/setup-engine unity — 已提供引擎,版本将自动查找
  • 无参数/setup-engine — 完全引导模式(引擎推荐 + 版本选择)

2. 引导模式(无参数)

如果未指定引擎,运行交互式引擎选择流程:

检查现有游戏概念
  • 如果存在,读取 design/gdd/game-concept.md — 提取游戏类型、范围、目标平台、美术风格、团队规模,以及 /brainstorm 给出的引擎推荐
  • 如果概念不存在,告知用户: > "未找到游戏概念。建议先运行 /brainstorm 发现你想构建什么 — 它还会推荐引擎。或者告诉我你的游戏想法,我可以帮你选择。"
如果用户想在无概念的情况下选择,询问:
  1. 什么类型的游戏?(2D、3D,或两者兼具?)
  2. 什么平台?(PC、移动端、主机、网页?)
  3. 团队规模和经验?(单人新手、单人经验丰富、小团队?)
  4. 有强烈的语言偏好吗?(GDScript、C#、C++、可视化脚本?)
  5. 引擎授权预算?(仅免费,还是可接受商业授权?)
给出推荐

使用以下决策矩阵:

| 因素 | Godot 4 | Unity | Unreal Engine 5 | |------|---------|-------|-----------------| | 最适用于 | 2D 游戏、小型 3D、单人/小团队 | 移动端、中等规模 3D、跨平台 | 3A 级 3D、照片级写实、大型团队 | | 语言 | GDScript(+ C#,通过扩展支持 C++) | C# | C++ / Blueprint | | 费用 | 免费,MIT 许可证 | 收入门槛以下免费 | 收入门槛以下免费,5% 版税 | | 学习曲线 | 平缓 | 中等 | 陡峭 | | 2D 支持 | 优秀(原生) | 良好(但以 3D 为优先) | 可行但非理想选择 | | 3D 质量上限 | 良好(快速提升中) | 非常好 | 业界领先 | | Web 导出 | 支持(原生) | 支持(有限制) | 不支持 | | 主机导出 | 通过第三方 | 支持(需要授权) | 支持 | | 开源 | 是 | 否 | 源码可用 |

给出排名前 1-2 的推荐及其与用户回答相关联的理由。 让用户自行选择 — 永远不要强制推荐。


3. 查找当前版本

引擎确定后:

  • 如果提供了版本,直接使用
  • 如果未提供版本,使用 WebSearch 查找最新稳定版:
  • 搜索:"[engine] latest stable version [当前年份]"
  • 与用户确认:"最新稳定版 [引擎] 是 [版本]。使用这个吗?"

4. 更新 CLAUDE.md 技术栈

读取 CLAUDE.md 并更新技术栈部分。将 [CHOOSE] 占位符替换为实际值:

Godot:

- **引擎**:Godot [版本]
- **语言**:GDScript(主要),通过 GDExtension 支持 C++(性能关键场景)
- **构建系统**:SCons(引擎),Godot 导出模板
- **资产管线**:Godot 导入系统 + 自定义资源管线

Unity:

- **引擎**:Unity [版本]
- **语言**:C#
- **构建系统**:Unity Build Pipeline
- **资产管线**:Unity Asset Import Pipeline + Addressables

Unreal:

- **引擎**:Unreal Engine [版本]
- **语言**:C++(主要),Blueprint(游戏玩法原型开发)
- **构建系统**:Unreal Build Tool (UBT)
- **资产管线**:Unreal Content Pipeline

5. 填充技术偏好

更新 CLAUDE.md 后,创建或更新 .claude/docs/technical-preferences.md,填入引擎对应的默认值。先阅读现有模板,然后填入:

引擎和语言部分
  • 根据第 4 步的引擎选择填入
命名约定(引擎默认值)

Godot (GDScript):

  • 类名:PascalCase(如 PlayerController
  • 变量/函数:snake_case(如 move_speed
  • 信号:snake_case 过去时(如 health_changed
  • 文件名:snake_case 与类名匹配(如 player_controller.gd
  • 场景:PascalCase 与根节点匹配(如 PlayerController.tscn
  • 常量:UPPER_SNAKE_CASE(如 MAX_HEALTH

Unity (C#):

  • 类名:PascalCase(如 PlayerController
  • 公共字段/属性:PascalCase(如 MoveSpeed
  • 私有字段:_camelCase(如 _moveSpeed
  • 方法:PascalCase(如 TakeDamage()
  • 文件名:PascalCase 与类名匹配(如 PlayerController.cs
  • 常量:PascalCase 或 UPPER_SNAKE_CASE

Unreal (C++):

  • 类名:带前缀的 PascalCase(A 表示 Actor,U 表示 UObject,F 表示结构体)
  • 变量:PascalCase(如 MoveSpeed
  • 函数:PascalCase(如 TakeDamage()
  • 布尔值:b 前缀(如 bIsAlive
  • 文件名:与类名匹配但不带前缀(如 PlayerController.h
其余部分
  • 性能预算:保留为 [TO BE CONFIGURED] 并附带建议: > "典型目标:60fps / 16.6ms 帧预算。现在设置这些吗?"
  • 测试:建议引擎对应的框架(Godot 用 GUT,Unity 用 NUnit 等)
  • 禁止模式/允许的库:保留为占位符
协作步骤

向用户展示填好的偏好设置:

"这是 [引擎] 的默认技术偏好。要自定义其中任何一项,还是直接保存默认值?"

等待用户批准后再写入文件。


6. 确定知识缺口

检查引擎版本是否可能超出 LLM 的训练数据。

已知的大致覆盖范围(随着模型更新调整):

  • LLM 知识截止日期:2025 年 5 月
  • Godot:训练数据可能覆盖到 ~4.3
  • Unity:训练数据可能覆盖到 ~2023.x / 6000.x 早期版本
  • Unreal:训练数据可能覆盖到 ~5.3 / 5.4 早期版本

将用户选择的版本与这些基线进行比较:

  • 在训练数据范围内低风险 — 参考文档可选但推荐
  • 接近边界中风险 — 推荐参考文档
  • 超出训练数据高风险 — 必须有参考文档

告知用户所属的类别及原因。


7. 填充引擎参考文档
如果在训练数据范围内(低风险):

创建一个精简的 docs/engine-reference/<engine>/VERSION.md

# [Engine] — 版本参考

| 字段 | 值 |
|------|-----|
| **引擎版本** | [版本] |
| **项目锁定日期** | [今天的日期] |
| **LLM 知识截止** | 2025 年 5 月 |
| **风险等级** | 低 — 版本在 LLM 训练数据范围内 |

## 说明

此引擎版本在 LLM 的训练数据范围内。引擎参考文档为可选项,
但如果代理建议了错误的 API,可稍后添加。

随时运行 `/setup-engine refresh` 来填充完整参考文档。

不要创建 breaking-changes.md、deprecated-apis.md 等文件 — 它们会增加上下文成本但价值有限。

如果超出训练数据(中风险或高风险):

通过搜索网络创建完整的参考文档集:

  1. 搜索官方迁移/升级指南
  2. "[engine] [旧版本] 到 [新版本] 迁移指南"
  3. "[engine] [版本] breaking changes"
  4. "[engine] [版本] changelog"
  5. "[engine] [版本] deprecated API"
  1. 从官方文档获取并提取
  2. 从知识截止到当前版本之间的每个版本的 breaking changes
  3. 已废弃的 API 及其替代方案
  4. 新功能和最佳实践
  1. 创建完整的参考目录: ``` docs/engine-reference/<engine>/ ├── VERSION.md # 版本锁定 + 知识缺口分析 ├── breaking-changes.md # 逐版本的 breaking changes ├── deprecated-apis.md # "不要用 X → 用 Y" 对照表 ├── current-best-practices.md # 知识截止后的新实践 └── modules/ # 各子系统参考(按需创建) ```
  1. 使用网络搜索的真实数据填充每个文件,遵循现有参考文档的格式。每个文件必须有"最后验证:[日期]"标题。
  1. 对于模块文件:仅对发生了重大变化的子系统创建模块。不要创建空白或内容稀少的模块文件。

8. 更新 CLAUDE.md 导入

更新"引擎版本参考"下的 @ 导入,指向正确的引擎:

## 引擎版本参考

@docs/engine-reference/<engine>/VERSION.md

如果之前的导入指向不同引擎(例如从 Godot 切换到 Unity),请更新。


9. 更新 Agent 指令

对于所选引擎的专家代理,验证它们是否有"版本感知"部分。如果没有,按照现有 Godot 专家代理的模式添加。

该部分应指示代理:

  1. 读取 docs/engine-reference/<engine>/VERSION.md
  2. 建议代码前检查已废弃的 API
  3. 检查相关版本过渡的 breaking changes
  4. 使用 WebSearch 验证不确定的 API

10. Refresh 子命令

如果以 /setup-engine refresh 调用:

  1. 读取现有的 docs/engine-reference/<engine>/VERSION.md 获取当前引擎和版本
  2. 使用 WebSearch 检查:
  3. 自上次验证以来的新引擎发布
  4. 更新的迁移指南
  5. 新废弃的 API
  6. 用新发现更新所有参考文档
  7. 更新所有修改文件的"最后验证"日期
  8. 报告变更内容

11. 输出摘要

设置完成后,输出:

引擎设置完成
=====================
引擎:            [名称] [版本]
知识风险:        [低/中/高]
参考文档:        [已创建/已跳过]
CLAUDE.md:       [已更新]
技术偏好:        [已创建/已更新]
代理配置:        [已验证]

后续步骤:
1. 查看 docs/engine-reference/<engine>/VERSION.md
2. [如果来自 /brainstorm] 运行 /map-systems 将概念分解为独立系统
3. [如果来自 /brainstorm] 运行 /design-system 逐系统编写 GDD(引导式,按章节)
4. [如果来自 /brainstorm] 运行 /prototype [核心机制] 测试核心循环
5. [如果是全新开始] 运行 /brainstorm 发现游戏概念
6. 创建第一个里程碑:/sprint-plan new

护栏
  • 绝对不要猜测引擎版本 — 始终通过 WebSearch 或用户确认来验证
  • 没有询问前绝不要覆盖现有参考文档 — 应追加或更新
  • 如果已有不同引擎的参考文档,替换前先询问
  • 始终在编辑 CLAUDE.md 之前向用户展示将要修改的内容
  • 如果 WebSearch 返回模糊结果,展示给用户并让其决定
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。