[开发] SyPlugins —— Unreal 通用事件底层插件例

syan 发布于 2025-04-20 40 次阅读


[开发] Unreal 通用事件底层插件例

  ‍

  syan2018/SyPlugins: A Modularity UnrealPlugins for entity state manage and message passing

  ‍

  近期填了一个小坑(其实没有完全填完,还有不少 TODO 项以及因为对 UE 的 feature 不够了解处理的半成品实现,令人微恼),SyPlugins 是一个为 Unreal Engine 开发的模块化插件系统,专注于构建一个以状态驱动为核心思想的游戏框架。系统辅以消息驱动和模块化设计,实现灵活且易扩展的游戏实体基础功能。

核心理念

  • 状态驱动: 基于"操作记录"统一管理游戏对象全局状态及其转换
  • 消息驱动: 使用消息总线实现交互和玩家行为感知(并通过 Flow 或其它插件进行流程管理)
  • 组件化: 使用组件标识 Actor 实体,非侵入引入任何项目;支持拓展实体组件,快捷向消息和状态系统接入既有逻辑

  系统简要实现下述逻辑链条

Overview

项目思路

  项目思路源自在前司为单机设计,但因空降乐子未能妥善落实的框架。

对的最早源自这篇文章,开坑到填坑刚好快一年!

[记录]设计一套通用的游戏事件底层 – 再见,避风港!

  最初的核心思路为 分层逻辑管理消息总线

  1. 在游戏层面上,基于全局的流程逻辑和对象的交互逻辑进行层级拆分
  2. 层级之间构建清晰的消息传递链路,基于实体身份标识进行通信

  而在近一年为在线游戏设计任务系统,积累了失败的工作经验,进一步引入了 实体与组件化状态管理 以及一定程度上的前后端分离设计支持。

  1. 基于实体标识游戏对象
  2. 基于逻辑组件,为不同状态实现逻辑呈现
  3. 对实体状态的全局管理追求有源、生命周期、冲突管理等
  4. (待实现)逻辑的前后端分层与维护

  汇总后对游戏任务和关卡底层的设计思路逐渐清晰,恰逢朋友做 demo 投米,遂协助搭一轮子添把柴。再加之近期辞职搞 AI 创业,搭着 Cursor 把这玩意儿写出来,积累一下 Vibe Coding 工程习惯,顺便给 TD 生涯留条退路,岂不美哉。

百无一用是书生
最后更新于 2025-06-03