Proceduralgen:爲 Agent 補齊程序化生成(Procgen)工作流

前言

做 Roguelike、生存建造或開放世界原型時,關卡、地形和掉落往往不能全靠手擺。程序化生成(procedural generation)用緊湊規則和種子產出內容,但實現裏很容易踩坑:全局隨機數導致不可復現、噪聲場相關、房間未連通卻直接交給玩家。把噪聲、種子 RNG、地牢佈局、加權表等約定寫進 Skill,可以讓 AI Agent 按同一套紀律生成並校驗,而不是每次即興寫一段「看起來像 procgen」的代碼。

下面介紹 SkillHub 上的 Proceduralgen(座標 @user_3c6cb52e/procedural-gen-sh-u2lq35),以及如何在本地安裝並讓 Agent 讀取其中的流程與模式。

這是什麼

Proceduralgen 是社區發佈的 Agent Skill(版本 1.0.0,來源 community,發佈者 user_3c6cb52e)。SkillHub 分類爲 dev-programming;包內 SKILL.md 元數據標註分類爲「遊戲開發」,並聲明適用於 Claude Code、Codex、Hermes Agent、OpenClaw、QClaw、WorkBuddy 等框架。

官方簡介強調:幫助 AI Agent 高效完成 Proceduralgen 相關任務。包內正文進一步定位爲:從緊湊規則與種子生成關卡、地形與掉落;核心是 確定性——同一種子應復現同一世界,便於調試與分享種子。技能覆蓋噪聲、種子 RNG、地牢佈局、加權表等算法思路;Roguelike、生存建造等類型可在此基礎上組合使用。

許可證爲 Apache-2.0;homepage / repository 指向 GitHub 用戶頁 https://github.com/1991513ccie-png。SkillHub 頁面顯示作者爲 Breeze。標籤 requires_api_key=false,安裝與使用不依賴額外 API Key。

核心功能

以下內容均來自已安裝包中的 SKILL.md,爲 Agent 提供的可執行指導,而非獨立運行時庫。

適用與邊界

  • 適合:生成地圖、地牢、地形高度圖、物品掉落等不宜手搓的內容;需要 由種子可復現 的結果(調試、每日挑戰、可分享世界);按權重隨機(掉落稀有度、生成表)。
  • 不適合:在引擎裏把結果「畫」到瓦片層——應配合 godot-tilemap 或 unity-tilemap-2d;在生成圖上做 AI 尋路——用 game-ai;需要嚴格手調節奏的主線關卡——用 level-design(與 procgen 互補)。

核心工作流(五步)

  1. 統一隨機源:創建單一種子 RNG 實例並貫穿傳遞,生成代碼中不使用全局/靜態隨機。
  2. 按內容選技法:連續地形/高度圖用噪聲;離散房間走廊用空間劃分或基於 agent 的雕刻;帶稀有度的結果用加權表。
  3. 先寫入純數據結構:生成階段只填充 int[][] 或字典等,與渲染解耦,再由單獨 pass 繪製。
  4. 交付前校驗:可達性、出生點安全、出口路徑等;失敗則拒絕或修復,不把壞圖交給玩家。
  5. 固定種子調參:單種子觀察參數影響,再批量掃種子看分佈而非只看一張「幸運圖」。

文檔中的模式示例

技能內嵌可復現的代碼片段,供 Agent 改寫進項目:

  • 種子 RNG(Python random.Random(seed);並說明 Godot RandomNumberGenerator、Unity System.Random / InitState 等等價做法)。
  • 分形噪聲 fBm:多 octave 疊加、lacunarity/gain、歸一化與 pow 重分佈塑形。
  • 加權掉落表:按權重累計抽樣;說明權重不必加和爲 100,並提及 pity/袋子系統(正文指向 references/dungeon-generation.md)。
  • 房間+走廊地牢草圖:非重疊房間放置、L 形走廊連接;完整 BSP、連通性檢查等寫在引用文檔中。

常見陷阱清單

技能明確列出:全局 RNG、相關噪聲場、octave 未歸一化、未做連通性檢查、無界放置死循環、生成鏈路混入幀時間等非確定輸入等。

引用與關聯技能

正文提到 references/noise.md、references/dungeon-generation.md 及 godot-tilemap、unity-tilemap-2d、game-ai、level-design、roguelike、survival-crafting 等關聯技能名。當前 SkillHub 下載包內僅含 SKILL.md 與 _meta.json,未包含上述 references/ 目錄;若 Agent 需要細節,需自行補充資料或向發佈者確認完整包內容。

安裝與啓用

SkillHub 頁面給出的安裝提示爲:根據 SkillHub 安裝說明 安裝座標 @user_3c6cb52e/procedural-gen-sh-u2lq35。

1. 安裝 SkillHub CLI(若尚未安裝)

command -v skillhub && skillhub --version

未安裝時可執行完整安裝(CLI + 默認 Skill):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

僅 CLI:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only

2. 安裝 Proceduralgen

安裝時必須用 --dir 指向當前 Agent 的 skills 目錄,否則默認落在 ./skills/ 可能不會被識別。

skillhub install procedural-gen-sh-u2lq35 --namespace user_3c6cb52e --dir <你的 Agent skills 目錄>

常用路徑示例(來自官方安裝文檔):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或項目下 .agents/skills/

也可先搜索確認座標:

skillhub search procedural-gen

3. 讓 Agent 加載技能

將 Skill 目錄放入對應路徑後,按你所用客戶端的規則啓用 Skills(多數環境需重啓或刷新技能列表)。之後在與生成地圖、地形、掉落或種子復現相關的任務中,Agent 應優先遵循 SKILL.md 中的工作流與模式,而不是臨時編造 procgen 片段。

典型用法

下列用法與官方頁面及包內文檔一致,可在對話中直接復現。

方式一:頁面提示詞(交給 AI 安裝)

向 Agent 發送:

請根據 https://skillhub.cn/install/skillhub.md,安裝 `@user_3c6cb52e/procedural-gen-sh-u2lq35`。

方式二:本地 CLI 安裝後下達生成任務

安裝完成後,用自然語言描述需求即可,例如:「用固定種子生成可復現的 2D 地牢網格,先只做數據層並做 spawn 到出口的 flood-fill 連通性檢查」。Agent 應按技能中的五步流程選用噪聲/房間/加權表模式,並避免全局 RNG。

方式三:對照內嵌模式改語言或引擎

若項目使用 Godot 或 Unity,可要求 Agent 將 SKILL.md 中的 Python 示例映射到文中給出的引擎 API(如 RandomNumberGenerator、System.Random、Perlin/FastNoiseLite 等),並堅持「單種子實例貫穿傳遞」。

適用場景與注意

適合誰

  • 用 AI 輔助遊戲或工具原型、需要 procgen 紀律的團隊或個人開發者。
  • 希望 Agent 在 Roguelike、生存建造、程序化關卡/loot 等任務上輸出可復現、可校驗方案的場景。

平臺與數據

  • SkillHub 統計(抓取資料):評分 100000,下載 1167 次,安裝計數 0(以頁面統計爲準,僅反映商店側數據)。
  • 無需 API Key;適合離線閱讀 SKILL.md 指導編碼,實際噪聲庫仍依賴你項目選用的第三方實現(文檔建議使用 FastNoiseLite、opensimplex、Unity 數學庫等,而非自寫梯度噪聲)。

限制

  • 商店簡介與正文較簡略處,以包內 SKILL.md 爲準;引用 markdown 若未隨包分發,擴展章節需自行補齊。
  • 技能指導「生成與校驗」,不負責引擎瓦片繪製或遊戲 AI 尋路,需按文檔切換到對應技能。
  • api.skillhub.cn 上對技能元數據的直接 HTTP 訪問可能返回 405,日常以 SkillHub 頁面與 skillhub install 爲準。

結尾

Proceduralgen 把程序化生成裏最關鍵的一條線——種子確定性、數據結構先於渲染、生成後校驗——以及噪聲、fBm、加權表、房間走廊等模式寫進標準 SKILL.md,方便在 Cursor、Codex、Claude Code 等環境中統一 Agent 行爲。若你正在做可分享種子或批量關卡/loot 的工具鏈,可以按上文命令裝入本地 skills 目錄再開任務。

  • SkillHub 頁面:https://www.skillhub.cn/skills/user_3c6cb52e/procedural-gen-sh-u2lq35
  • API 座標頁:https://api.skillhub.cn/user_3c6cb52e/procedural-gen-sh-u2lq35
  • 安裝說明:https://skillhub.cn/install/skillhub.md
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜