关于 build-game-monster-system
面向游戏开发者的技能,用于构建和审查可投入运行的游戏怪物资产。它划分数据、骨架、运行时和视图层,并规定可复现的战斗时间线与一致性检查。
主要功能
- 01怪物四层架构
- 02语义骨架与稳定插槽
- 03状态驱动的战斗集成
- 04可序列化、可测试的招式组
- 05确定性一致性测试夹具
- 06性能与 LOD 检查
适用场景
- 01添加可用于玩法的怪物
- 02审查战斗与碰撞行为
- 03测试攻击时序与打断
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mengto/ skills --skill build-game-monster-system安装后在 Claude Code 中输入/build-game-monster-system确认已加载。
附带文件agents/openai.yamlreferences/monster-contract.md
详细介绍
构建游戏怪物系统
将怪物构建为兼容游戏玩法的运行时资产,而非装饰性网格。
明确契约
在实现或审核前,先阅读 references/monster-contract.md。扩展契约前,检查实际的游戏内容模型、战斗事件、敌人状态机、碰撞 API、摄像机距离和资产加载器。
适用时使用相关技能:
- 使用
img2threejs进行图像驱动的程序化重建,并遵循其分阶段视觉检查关卡。 - 使用
build-hybrid-game-assets选择程序化表示还是导入表示,并记录来源和预算。 - 使用
tune-enemy-ai处理感知、意图、移动和行为转换。 - 使用
design-action-combat处理启动、有效和恢复时长,以及权威接触判定。
分离四个层
MonsterDefinition:可序列化的创作数据,包括标签、缩放、属性、攻击、移动方式、资产来源和预算。MonsterRig:语义化变换层级、关节、挂接点、次级运动锚点、材质和 LOD 视觉效果。MonsterRuntime:当前状态、计时器、目标意图、生命值/架势、冷却时间和权威战斗事件。MonsterViewAdapter:根据运行时状态驱动骨架姿势、VFX、音频、可见性和 LOD;绝不根据渲染姿势判定命中。
不要在骨架或 UI 中重复存储创作的战斗数值。
构建骨架
- 使用 Y 轴向上、Z 轴向前,单位为米,并设置贴地的根节点。
- 在每只怪物和每个 LOD 中,保持
root -> motion -> body结构稳定。 - 将肢体段设为真实关节链的子级,使肩部/髋部运动能传递至肘部/膝部和腕部/踝部。
- 为非人形角色命名语义等效部位;不存在的解剖结构不要弄虚作假。
- 为攻击起点、VFX、音频、目标定位、地面接触、附件和死亡效果提供挂接点。
- 默认不将视觉网格用于物理计算。分别提供简单的实体、导航、受击、攻击和触发形状。
- 切换 LOD 时保留根节点、关节、挂接点、碰撞和动画状态。
接入行为与战斗
至少支持 idle、investigate、pursue、reposition、windup、attack、recover、stagger 和 defeated。每个攻击定义都必须声明启动、有效、恢复和冷却时长、接触形状/挂接点、伤害/架势输出、朝向规则以及中断/取消策略。
根据权威动作 ID 和碰撞事件驱动接触判定。动画可以提供归一化阶段,但不能单独造成伤害。
组合可测试的招式集
- 将招式集编写为可序列化的意图状态和攻击 ID 序列。攻击时序应保留在攻击定义中;招式集只引用它,不要复制。
- 将攻击步骤编译为明确的启动、有效和恢复阶段。
- 提供纯采样器,根据
(movesetId, elapsed)返回状态、攻击、归一化阶段、有效标记、可中断性和稳定的动作 ID。 - 每个循环周期都分配新的动作 ID;同一次攻击的启动、有效和恢复阶段则保持同一个 ID。
- 为每个阶段的中点和边界提供可查询或带种子的测试样例,让审核者无需通关战役即可冻结并复现这些样例。
验证是否符合规范
- 为所有必需状态、每个攻击阶段、打断/踉跄、死亡、LOD 切换和重置添加确定性夹具。
- 测试招式时间线连续性、精确的生效窗口边界、完整的攻击覆盖、每个动作 ID 的稳定性,以及每个循环的 ID 更新。
- 测试关节传播、插槽稳定性、碰撞体覆盖、单次接触幂等性和资源释放。
- 在应用内浏览器中,以实际遭遇距离渲染怪物。
- 测量三角形数量、绘制调用次数、纹理、帧时间和移动设备像素比行为。
- 如果资产存在悬空附件、缺少必需状态、基于姿势造成伤害、LOD 插槽偏移或资源成本无上限,则判定不合格。
报告怪物是否完全符合规范、是否在注明例外的情况下符合规范,或者是否需要在共享契约中添加新的原型能力。
评论
支持 Markdown