游戏开发 Skill 合集实测:74 个 Skill,先认引擎再加载

让编程 Agent 写游戏,最常见的翻车是 API 用错版本:Godot 3 的写法写进 Godot 4 项目,Phaser 3 的配置塞给 Phaser 4。awesome-gamedev-agent-skills 给 10 个引擎和工具写了 74 个 SKILL.md,每个都标明对应的引擎版本,再加一个 router,先认出你用的是什么引擎,再决定读哪几个。我们 10 月 21 日装了一遍,按其中的 pygame-core 写了个小游戏,跑了它的校验器和素材检查脚本。
它是什么
一句话:一套跨引擎的游戏开发 Skill 合集,覆盖 Godot、Unity、Unreal、Phaser、PixiJS、three.js、Bevy、pygame、LÖVE、Roblox,外加 AI、存档、镜头、着色器等通用主题,以及平台跳跃、肉鸽、RPG 等玩法模板。
| 仓库 | github.com/gamedev-skills/awesome-gamedev-agent-skills |
|---|---|
| 作者 | gamedev-skills 组织 |
| 许可证 | Apache-2.0 |
| 热度 | GitHub 2,314 星(截至 2026-10-21) |
| 语言 | Markdown(SKILL.md)+ Python 校验器和素材脚本 |
| 最新版本 | v1.1.0(发布于 2026-06-26,北京时间);最近一次提交 0a70cfc,2026-10-09,合并了 Bevy 0.20 迁移 |
解决什么问题
通用模型对游戏引擎的了解,常常停在训练数据里最多的那个旧版本。这个仓库的做法是:每个 Skill 都从官方文档写起,写明对应哪个版本(例如 Godot 4.7、Unity 6.3 LTS、Unreal 5.8、Phaser 4.2、PixiJS 8.21、three.js r186、pygame-ce 2.5.8),并列出这个引擎里最常见的错误写法。
74 个 Skill 全塞进上下文又太占地方,所以有了 router:看到 project.godot 就判定是 Godot,package.json 里有 phaser 就是 Phaser,*.py 里有 import pygame 就是 pygame。引擎只选一个,然后按你的话再加通用主题、玩法和流程 Skill。比如「给 Godot 角色加二段跳」,只加载 godot-2d-movement 和 platformer。
| 分组 | 数量 | 例子 |
|---|---|---|
| Godot | 16 | GDScript、TileMapLayer、着色器、无头测试 |
| Unity / Unreal | 8 / 6 | 新输入系统、ScriptableObject;蓝图、Niagara 特效 |
| Web 引擎 | 6 | Phaser、PixiJS、three.js |
| 其他引擎 | 10 | Bevy、pygame、LÖVE、Roblox(7 个) |
| 通用主题 / 玩法 / 流程 | 15 / 9 / 4 | 存档、游戏 AI、美术素材;肉鸽、塔防;Game Jam、Steam 与 itch 发布 |
怎么用
# 用 npx skills 装(自动识别你在用的 Agent;-a 指定,--skill 只装几个)
npx skills add gamedev-skills/awesome-gamedev-agent-skills --list
npx skills add gamedev-skills/awesome-gamedev-agent-skills \
--skill router --skill pygame-core --skill platformer -a claude-code -y
# 或者用 Claude Code 插件,只要 router 加一个引擎包
claude plugin marketplace add gamedev-skills/awesome-gamedev-agent-skills
claude plugin install router@awesome-gamedev-agent-skills
claude plugin install godot@awesome-gamedev-agent-skills
装完直接用自然语言提需求就行,不用说 Skill 名。插件市场里一共 10 个包:全量 gamedev、router,以及按引擎和类别拆开的 8 个。
实测
环境:2026-10-21,Debian 13,Python 3.12.15,pygame-ce 2.5.8(SDL 2.32.10),Node.js 20.19.2,npx 缓存里的 skills 1.5.18,仓库提交 0a70cfc。
$ python3 scripts/validate-skills.py
Validated 75 skill file(s) and repository wiring.
All checks passed.
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --list
◇ Found 75 skills
# 按 pygame-core 的循环、dt 移动、Sprite/Group 写的小游戏,无头运行
$ SDL_VIDEODRIVER=dummy python coin.py 30 # 换成 60、120 再跑
fps=30 frames=60 sim=2.03s x=527px coins=8
fps=60 frames=122 sim=2.00s x=521px coins=8
fps=120 frames=240 sim=2.00s x=521px coins=8
$ python asset_report.py coin_ok.png coin_bad.png --expect-size 16x16 --require-alpha --max-colors 8
PASS coin_ok.png 16x16 RGBA colors=3 alpha=True
FAIL coin_bad.png 24x16 RGB colors=2 alpha=False
- size is 24x16; expected 16x16
- image has no alpha channel
- 安装:三个 Skill 复制进
.claude/skills/,同时生成skills-lock.json,带每个 Skill 的哈希。安装器最后提醒「Skill 以 Agent 的完整权限运行,用前先读」。 - 体积:全部 SKILL.md 加起来约 538 KB,
skills/目录 1.9 MB。这就是要 router 的原因:一次只读一两个。 - 素材脚本:
create-game-assets自带两个 Python 脚本,装 Pillow 后测试 12 项全过(不装 Pillow 时跳过 3 项)。asset_report.py检查尺寸、透明通道和颜色数,不合格就退出码 1,可以直接接进构建流程。 - 注意:最新版 skills CLI(1.7.4)要求 Node 22.20 以上,Node 20 会报错,见本栏 npx skills 实测。
- 未实测:router 在真实 Agent 里的挑选准确率(要接 Claude Code 等付费模型多轮对话);Godot、Unity、Unreal、Roblox 的 Skill(要装对应引擎或编辑器,Unity、Unreal、Roblox Studio 还要账号或图形界面)。
它最有用的不是 74 这个数,而是每个 Skill 都钉死了引擎版本,并写出了这个版本里最容易写错的地方。
适合谁,不适合谁
适合:用 Claude Code、Cursor、Codex 这类工具写游戏原型或参加 Game Jam 的个人开发者;同时用好几个引擎的人,router 省得你每次手动挑。不适合:已经有成熟内部规范的大团队;停在旧版本引擎的老项目(Skill 按当前版本写,router 会先读项目里锁定的版本,但写法未必都兼容)。
替代品:github/awesome-copilot 里的 game-engine Skill,是一个偏 Web 小游戏的单文件 Skill(MIT);majidmanzarpour/threejs-game-skills 只做 three.js 浏览器游戏(MIT),讲得更深。只做一个引擎时可以只挑一个装。
最后
先只装 router 和你正在用的那个引擎包,让 Agent 改一个你熟悉的小功能,对照它写出的代码,看用的是不是当前版本的 API。
- GitHub gamedev-skills/awesome-gamedev-agent-skills:README(74 个 Skill、安装方式、Apache-2.0)
- router/SKILL.md:引擎识别与路由规则
- docs/VERSION-SUPPORT.md:各引擎对应版本与升级策略
- 官方网页版目录
- 本文实测:仓库提交 0a70cfc,pygame-ce 2.5.8,Python 3.12.15,Debian 13,2026-10-21