setup-engine

SkillAI & models

Configure the project's game engine and version. Locks the engine into CLAUDE.md, detects knowledge gaps, and uses WebSearch to fill in engine reference docs when the version is beyond the LLM's training data.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the setup-engine skill

What this skill tells your AI

The instructions your AI receives, as published by pixel-cellar/claude-code-game-studios in .claude/skills/setup-engine/SKILL.md and read by ahel’s review.

当此技能被调用时:

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 4UnityUnreal 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. 搜索官方迁移/升级指南

    • "[engine] [旧版本] 到 [新版本] 迁移指南"
    • "[engine] [版本] breaking changes"
    • "[engine] [版本] changelog"
    • "[engine] [版本] deprecated API"
  2. 从官方文档获取并提取

    • 从知识截止到当前版本之间的每个版本的 breaking changes
    • 已废弃的 API 及其替代方案
    • 新功能和最佳实践
  3. 创建完整的参考目录

    docs/engine-reference/<engine>/
    ├── VERSION.md              # 版本锁定 + 知识缺口分析
    ├── breaking-changes.md     # 逐版本的 breaking changes
    ├── deprecated-apis.md      # "不要用 X → 用 Y" 对照表
    ├── current-best-practices.md  # 知识截止后的新实践
    └── modules/                # 各子系统参考(按需创建)
    
  4. 使用网络搜索的真实数据填充每个文件,遵循现有参考文档的格式。每个文件必须有"最后验证:[日期]"标题。

  5. 对于模块文件:仅对发生了重大变化的子系统创建模块。不要创建空白或内容稀少的模块文件。


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 检查:
    • 自上次验证以来的新引擎发布
    • 更新的迁移指南
    • 新废弃的 API
  3. 用新发现更新所有参考文档
  4. 更新所有修改文件的"最后验证"日期
  5. 报告变更内容

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 返回模糊结果,展示给用户并让其决定

Signals

GitHub stars
329
Forks
71
Last commit
Mar 2026
Advanced
Catalog kind
skill
Gateway key
setup-engine-pixel-cellar
Source
github.com/pixel-cellar/claude-code-game-studios