Agent Skills
返回列表
💻

程序化世界生成

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/procedural-gen-sh-u2lq35。

技能介绍

要解决的问题

程序化生成经常卡在“随机不可复现”:地图、掉落和地形看起来能跑,但 bug 无法稳定复现,玩家不能分享世界,参数调优还会受调用顺序影响。它适合不想逐张手写地图的场景,尤其是需要用 seed 驱动结果、便于调试、每日挑战或世界分享的关卡、地牢、高度图和掉落表。

技能如何工作

核心思路是确定性:先生成纯数据结构,再交给渲染或游戏逻辑消费。技能覆盖 seeded RNG、fBm noise、dungeon layout 和 weighted tables 四类基础能力。关键步骤包括:

  • 创建一个带种子的随机源,并显式传入生成函数,避免依赖全局 random。
  • 按内容选择技术:连续高度图用噪声,离散房间或通道用空间切分、雕刻,稀有度掉落用权重表。
  • 先把结果写入 int[][]、字典或图结构,与绘制解耦。
  • 交付前校验连通性、出生点安全性和出口可达性,失败时拒绝或修复布局。
  • 固定 seed 调参,再扫描多个种子检查分布,而不是只看一张幸运地图。

适用边界

这个技能不负责把生成结果画进引擎 tilemap,也不负责在生成图上做寻路或手工关卡节奏。需要绘制、AI 寻路或手调节奏时,应组合 godot-tilemap、unity-tilemap-2d、game-ai 或 level-design 使用。常见陷阱包括:噪声字段共用种子导致 biome 条带状相关、octave 未归一化、放置循环无上限,以及时间、物理或哈希随机化等非确定输入混入生成流程。

使用场景

  • 调试 roguelike 地牢时,用同一 seed 重新生成房间、通道和可达性,定位卡死出口。
  • 做生存类高度图时,用 fBm 噪声和不同种子生成 elevation/moisture,再检查 biome 分布。
  • 设计掉落系统时,用权重表按稀有度抽取装备,并用 pity 机制避免连续未命中。
  • 发布每日挑战前,固定 seed 调参并扫描多个种子,确认房间连通和出生点安全。

适合人员

  • 做 roguelike 的独立游戏程序员,希望同一 seed 能复现房间、通道和掉落。
  • 做生存建造地形的客户端工程师,需要调试高度图、biome 相关性和岛屿边界。
  • 做掉落与稀有度的玩法策划,希望权重表可复现且能控制连续未命中。
  • 做关卡工具链的技术负责人,需要把程序化生成与手调关卡边界分开。