Communitygithub.com

gamedev-skills/awesome-gamedev-agent-skills

遊戲開發的 AI 代理技能:一次安裝,主路由會根據你的引擎與任務載入正確的技能。包含 66 個原創、版本固定的技能(加上一個主路由),採用可攜式 SKILL.md 格式,可在 Claude Code、Cursor、Codex、Copilot、Gemini CLI 等平台上執行,支援 Godot、Unity、Unreal、網頁及其他引擎。

awesome-gamedev-agent-skills 是什麼?

這是一個為 AI 編碼代理(如 Claude Code、Cursor、Codex)設計的遊戲開發技能集。其核心是一個「主路由」機制,能夠自動偵測專案所使用的遊戲引擎(如 Godot、Unity、Unreal),並根據開發者的任務需求(例如添加雙重跳躍、製作 RPG 背包或除錯 AI 行為)來動態組合與載入最精簡的技能組合。每個技能都封裝在標準化的 SKILL.md 檔案中,涵蓋引擎基礎、跨引擎學科(如 AI、程序化生成、著色器)以及完整遊戲類型模板。這種設計避免了重複載入不相關的知識,顯著提升 AI 代理在遊戲開發場景中的效率與準確性。該專案支援 Godot、Unity、Unreal 以及 Bevy、Phaser 等網頁與其他引擎,並內建針對未知引擎的優雅降級與引導流程。

相容平台✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add gamedev-skills/awesome-gamedev-agent-skills

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

主路由 — 遊戲開發技能調度器

遊戲開發工作的進入點。它會對專案進行指紋比對以選取一個引擎,從請求中分類任務,命名出最精簡的專門技能組合,並指示你在行動前先閱讀這些技能。它負責調度與組合——而不會重複教導引擎 API。

使用時機

  • 在任何遊戲開發請求的開始——建構或除錯遊戲、關卡、玩家、敵人、著色器、UI、儲存系統、多人連線、輸入、音訊、AI、對話或程序化內容——使用它以決定要載入哪個(哪些)技能。
  • 當使用者指定引擎或類型、說「做一款遊戲」或問「我該用哪個技能?」時使用。

何時不使用: 一旦正確的技能被載入且任務完全在其範疇內,就根據該技能工作——不要每回合都重新執行路由。僅當任務轉向新的引擎或關注點時才重新路由(路由步驟 6)。

路由演算法

  1. 偵測引擎 — 專案指紋 → 最多一個引擎技能組合(或「未知」)。§1。
  2. 分類任務 — 措辭 → 學科 + 最多一個類型 + 工作流程。§2。
  3. 解析 — 最精簡組合:引擎技能 + 學科 + 類型 + 工作流程。§3。
  4. 閱讀(漸進式揭露) — 僅開啟選定的 SKILL.md 本體;references/ 僅在需要時讀取。§4。
  5. 組合 — 順序:引擎基礎知識 → 學科概念 → 類型黏合 → 工作流程。§5。
  6. 降級 — 引擎未知或無符合技能 → 詢問或預設使用 Godot;說明任何缺口。§6。

1. 引擎偵測(專案指紋)

掃描最高信心的訊號;選擇恰好一個引擎。在第一個符合項時停止。

#引擎主要訊號技能組合根目錄
1Godotproject.godotskills/godot/
2Unreal*.uprojectskills/unreal/
3UnityAssets/ 以及 ProjectSettings/ProjectVersion.txtskills/unity/
4BevyCargo.toml 帶有 bevy 相依套件skills/other-engines/bevy-ecs/
5Phaserpackage.json 相依 phaserskills/web-engines/phaser-*
6PixiJSpackage.json 相依 pixi.jsskills/web-engines/pixijs-rendering/
7three.jspackage.json 相依 threeskills/web-engines/threejs-*
8LÖVEconf.lua / main.lua 呼叫 love.*skills/other-engines/love2d-core/
9pygame*.py 包含 import pygameskills/other-engines/pygame-core/
10Roblox*.rbxl(x) / *.project.json (Rojo)skills/other-engines/roblox-*

對於次要訊號、Godot-C#/Unity/Bevy 及多網頁消歧規則、單一儲存庫和純文字引擎提及,請閱讀 references/engine-detection.md。

2. 任務分類(措辭 → 類別)

在引擎之後,讀取請求中的任務訊號(三個可疊加的類別):

  • 學科(跨引擎概念):game-ai、procedural-gen、dialogue-systems、save-systems、audio-design、shader-programming、physics-tuning、level-design、input-systems、game-feel、camera-systems、game-ui-ux、performance-optimization。由概念詞觸發(「尋路」、「儲存欄位」、「片段著色器」、「畫面震動」、「攝影機跟隨」、「HUD/選單」、「最佳化/低 FPS」)。
  • 類型(完整遊戲模板):platformer、roguelike、rpg、fps-shooter、tower-defense、card-game、visual-novel、survival-crafting、puzzle。由類型詞觸發(「做一個 roguelike」、「牌組構築遊戲」)。
  • 工作流程(流程/發布):game-jam、prototype-fast、steam-publish、itch-publish。由流程詞觸發(「在 Steam 上發布」、「垂直切片」)。

檔案訊號可強化此分類:*.yarn/*.ink → dialogue-systems/visual-novel;steam_appid.txt → steam-publish;*.inputactions → unity-input-system。

3. 路由表(任務 → 類別 → 技能)

3a. 引擎技能 — 讀取與偵測到的引擎及子任務相符的技能

  • Godot (skills/godot/):語言 godot-gdscript / godot-csharp;結構 godot-nodes-scenes、godot-signals-groups;2D godot-2d-movement、godot-tilemap;3D godot-3d-essentials;物理 godot-physics;UI godot-ui-control;動畫 godot-animation;著色器 godot-shaders;資料 godot-resources;音訊 godot-audio;網路 godot-multiplayer;發布 godot-export。
  • Unity (skills/unity/):腳本 unity-csharp-scripting;輸入 unity-input-system;物理 unity-physics;動畫 unity-animation;資料 unity-scriptableobjects;2D unity-tilemap-2d;AI 導航 unity-navmesh;發布 unity-build-pipeline。
  • Unreal (skills/unreal/):視覺腳本 unreal-blueprints;C++ 遊戲玩法 unreal-cpp-gameplay;輸入 unreal-enhanced-input;AI unreal-behavior-trees;VFX unreal-niagara;發布 unreal-packaging。
  • 網頁 (skills/web-engines/):phaser-core、phaser-arcade-physics;pixijs-rendering;threejs-scene-setup、threejs-gltf-loading、threejs-materials-lighting。
  • 其他 (skills/other-engines/):bevy-ecs、pygame-core、love2d-core、roblox-luau、roblox-datastores。

3b. 學科 — 與引擎技能一同載入(概念 ↔ 引擎 API)

概念 (說了:)學科技能搭配(引擎 API)
敵人 AI、行為樹、尋路、轉向game-aiunity-navmesh / unreal-behavior-trees / Godot 導航
程序化、雜訊、種子、地城產生器procedural-gen引擎 tilemap/網格技能
對話、Yarn、Ink、對話樹dialogue-systems引擎 UI 技能
儲存/載入、欄位、持久性save-systemsroblox-datastores / 引擎 IO
自適應音樂、混音器、閃避、音效audio-designgodot-audio / Unity AudioMixer
著色器、片段、溶解/描邊shader-programminggodot-shaders / 引擎材質
抖動、隧道效應、固定時間步長physics-tuninggodot-physics / unity-physics
白盒、草稿、圖塊擺放、節奏level-designgodot-tilemap / unity-tilemap-2d
重新綁定、遊戲手把、輸入緩衝input-systemsunity-input-system / unreal-enhanced-input / Godot InputMap
畫面震動、hit-stop、果汁感、擠壓與拉伸、「讓它更有勁」game-feel引擎動畫/補間 + camera-systems(震動)
攝影機跟隨、死區、預先跟隨、環繞、第一人稱camera-systemsgodot-2d-movement / godot-3d-essentials / Cinemachine
HUD、選單、UI 佈局、縮放、安全區域、焦點導航game-ui-uxgodot-ui-control / Unity UI (UGUI/UI Toolkit)
低 FPS、最佳化、繪製呼叫、GC 尖峰、物件池化、分析器performance-optimization引擎分析器 + physics-tuning

3c. 類型 — 組合引擎 + 學科(將 * 綁定到偵測到的引擎)

類型 (說了:)組合
平台遊戲、跳躍、二段跳godot-2d-movement(或引擎物理)+ godot-tilemap/unity-tilemap-2d + level-design + camera-systems + game-feel
類 Rogue、程序化地城、永久死亡procedural-gen + godot-tilemap/unity-tilemap-2d + game-ai + save-systems + game-feel
RPG、屬性、物品欄、任務godot-resources/unity-scriptableobjects + dialogue-systems + save-systems + game-ui-ux
FPS、第一人稱、即時命中判定godot-3d-essentials/unreal-cpp-gameplay + input-systems + game-ai + camera-systems + game-feel
塔防、波數、路徑game-ai + 引擎移動 + level-design + game-ui-ux
卡牌遊戲、牌組構築、TCGgodot-resources/unity-scriptableobjects + game-ui-ux(+ 引擎 UI)
視覺小說、分支故事dialogue-systems + save-systems + game-ui-ux
生存、製作、採集save-systems + godot-resources/unity-scriptableobjects + procedural-gen + game-ui-ux
益智、三消、網格邏輯godot-tilemap/unity-tilemap-2d + level-design + game-feel

3d. 工作流程 — 與引擎無關的流程與發布

game-jam(Game Jam、48 小時、Ludum Dare/GMTK)· prototype-fast(垂直切片、MVP、灰盒)· steam-publish(Steam、Steamworks、Depot;steam_appid.txt)· itch-publish(itch.io、butler;.itch.toml)。

如需每個技能的完整觸發詞列表及所有引擎綁定,請閱讀 references/routing-table.md。

4. 讀取協定(漸進式揭露)

  1. 預載: 上下文中僅有每個技能的 name + description。根據這些資訊加上指紋來決定——不要預先讀取本體。
  2. 選定後: 讀取每個已選擇 skills/<category>/<name>/SKILL.md 的本體——且僅限這些。絕不批量載入整個類別。
  3. 按需: 僅當子任務需要該深度時(技能本體會提示何時需要),才讀取技能附帶的 references/ 檔案。
  4. 轉向時重新路由: 如果任務改變(從移動→儲存),選取並讀取新相關的技能,而不是保留所有已載入的內容。

說明你載入了什麼及原因,例如:「偵測到 Godot(project.godot)。正在載入 godot-2d-movement 以處理控制器,以及 platformer 以處理跳躍手感;如果你需要關於 coyote-time/緩衝的設置,將會開啟平台遊戲技能的 feel-tuning.md 參考檔案。」

5. 組合規則

  • 一個引擎組合,可疊加概念。 恰好一個引擎技能組合;加入任務所需的學科以及通常最多一個類型。工作流程獨立附加。
  • 順序: 引擎基礎知識 → 學科概念 → 類型編排 → 工作流程。
  • 重疊時的歸屬: 引擎技能擁有 API/語法;學科技能擁有可攜式概念/演算法,並將程式碼實作委派給引擎技能;類型技能擁有結構/黏合,並對外連結而不重新教導基礎元素。
  • 交接: 當類型的 composes 命名了一個像是 *-2d-movement 的插槽時,將其綁定到偵測到的引擎。如果該引擎缺乏確切的技能,請參閱 §6 及 references/routing-table.md(「綁定缺口」)。

6. 未知引擎與無技能降級

引擎未知(無指紋、未指定引擎名稱):

  1. 檢查請求中是否有純文字的引擎名稱(「在 Unity 中」、「使用 Phaser」)。如果找到,則採用它。
  2. 如果任務純粹是概念/類型/工作流程問題,直接路由到與引擎無關的學科/類型/工作流程技能——無需引擎(「什麼是好的儲存格式?」→ save-systems)。
  3. 僅當引擎選擇確實阻礙了答案時,才問一個有針對性的問題(「哪個引擎——Godot、Unity、Unreal,還是網頁/其他引擎?」)。如果使用者沒有偏好且確實需要一個,則預設使用 Godot(此處涵蓋最完整的引擎)並說明。
  4. 絕不憑猜測發明一個引擎或載入引擎技能。

引擎已知但沒有技能涵蓋子任務: 載入最接近的引擎技能加上相關學科,並直接說明缺口(例如「沒有專門的 Unity 2D-movement 技能;正在使用 unity-csharp-scripting + unity-physics」)。絕不虛構技能名稱。

衝突/多個類型: 從措辭中選取主要類型;提及次要類型,並提供如果使用者確認則載入它的選項。

實際範例

請求偵測到的引擎載入的技能(依序)
「為我的 Godot 玩家添加二段跳」Godot (project.godot)godot-2d-movement → platformer
「為我的 Unity RPG 製作一個物品欄」Unity (Assets/+ProjectSettings/)unity-scriptableobjects → rpg → save-systems
「在 Godot 中製作一個程序化地城類 Rogue」Godotgodot-tilemap → procedural-gen → roguelike
「從 .yarn 檔案進行分支對話」(無需)dialogue-systems(如果偵測到引擎則加上引擎 UI 技能)
「我該如何設計帶有遷移功能的儲存欄位?」(無)僅 save-systems
「使用 butler 在 itch 上發布我的遊戲」(任何/無)僅 itch-publish
「我想做一款遊戲但不知道該用什麼」未知 → 詢問,預設 Godot路由詢問一次;然後例如 godot-nodes-scenes
「讓我的 Godot 遊戲中的打擊感更強烈」Godot (project.godot)game-feel(+ camera-systems 用於震動)
「攝影機應該平滑地跟隨我的玩家」(偵測到的引擎)camera-systems(+ 引擎移動技能)
「我的 Unity 遊戲掉到 30 FPS,最佳化它」Unity (Assets/+ProjectSettings/)performance-optimization(先分析)→ 引擎技能

參考資料

  • 完整的引擎指紋、次要訊號及消歧:references/engine-detection.md。
  • 每個技能的完整觸發詞、引擎綁定及綁定缺口:references/routing-table.md。

相關技能