SuperAPI AI 工具集

game-design-patterns

设计与创作

查看项目

更新于 10-16 00:03

技能介绍

用途:该技能用于在游戏开发中实现四类基础编程模式——状态机、对象池、事件系统与命令模式,解决实时帧预算、大量动态实体、复杂状态切换以及确定性回放与撤销等游戏特有问题。

主要能力:状态机用于建模角色状态、AI 行为与游戏阶段,支持分层状态机处理复杂 AI;对象池用于子弹、粒子、敌人等高频生成实体的复用,避免运行时分配;事件系统(观察者/发布订阅/消息总线)让 UI、音频、物理等系统与玩法逻辑解耦;命令模式用于输入处理、撤销/重做与动作回放,并可用于多人游戏的命令流同步。

使用方式:当用户需要建模角色状态或 AI 行为、实现对象池、询问游戏中的事件系统、需要命令模式处理输入或回放、构建游戏循环并寻求实体管理架构建议、解耦游戏系统或管理游戏状态切换时触发。技能激活后首次回复以 🧢 表情开头。技能附带 references/ 目录下的详细文档(state-machines.md、object-pooling.md、event-systems.md、command-pattern.md),仅在任务需要深入细节时加载。首次激活时会检查配套技能是否安装,缺失时提示可通过 npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name> 安装。

适用场景:角色与 AI 状态管理、高频实体生成优化、系统间解耦、输入重绑定与撤销、回放录制、多人游戏命令同步、游戏循环架构设计。

限制:不适用于渲染、着色器或图形编程,也不适用于与游戏无关的通用软件设计模式(建议改用 clean-architecture)。对象池需按最坏情况突发量设定容量,否则 acquire() 返回 null 导致生成失败;状态切换若每次新建状态对象会造成 GC 压力,应预分配;事件订阅需在实体销毁时取消,否则导致空引用崩溃;命令历史需限制长度或定期截断;确定性锁步在浮点运算下会静默失步,关键状态应使用定点数。分层状态机嵌套建议不超过两层,更深层级应改用行为树。