[开发] Unreal 通用事件底层插件例
syan2018/SyPlugins: A Modularity UnrealPlugins for entity state manage and message passing
近期填了一个小坑(其实没有完全填完,还有不少 TODO 项以及因为对 UE 的 feature 不够了解处理的半成品实现,令人微恼),SyPlugins 是一个为 Unreal Engine 开发的模块化插件系统,专注于构建一个以状态驱动为核心思想的游戏框架。系统辅以消息驱动和模块化设计,实现灵活且易扩展的游戏实体基础功能。
核心理念
- 状态驱动: 基于"操作记录"统一管理游戏对象全局状态及其转换
- 消息驱动: 使用消息总线实现交互和玩家行为感知(并通过 Flow 或其它插件进行流程管理)
- 组件化: 使用组件标识 Actor 实体,非侵入引入任何项目;支持拓展实体组件,快捷向消息和状态系统接入既有逻辑
系统简要实现下述逻辑链条
项目思路
项目思路源自在前司为单机设计,但因空降乐子未能妥善落实的框架。
对的最早源自这篇文章,开坑到填坑刚好快一年!
最初的核心思路为 分层逻辑管理 与 消息总线。
- 在游戏层面上,基于全局的流程逻辑和对象的交互逻辑进行层级拆分
- 层级之间构建清晰的消息传递链路,基于实体身份标识进行通信
而在近一年为在线游戏设计任务系统,积累了失败的工作经验,进一步引入了 实体与组件化、状态管理 以及一定程度上的前后端分离设计支持。
- 基于实体标识游戏对象
- 基于逻辑组件,为不同状态实现逻辑呈现
- 对实体状态的全局管理追求有源、生命周期、冲突管理等
- (待实现)逻辑的前后端分层与维护
汇总后对游戏任务和关卡底层的设计思路逐渐清晰,恰逢朋友做 demo 投米,遂协助搭一轮子添把柴。再加之近期辞职搞 AI 创业,搭着 Cursor 把这玩意儿写出来,积累一下 Vibe Coding 工程习惯,顺便给 TD 生涯留条退路,岂不美哉。
Comments NOTHING