Skip to content
On this page

Game Framework 开发指南

Game Framework 是一个基于 Unity 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。


💎 框架核心优势

  • 规范化:通过强制性的接口约束,规范代码结构。
  • 高性能:内置对象池、虚拟文件系统,深度优化内存与加载。
  • 高解耦:基于事件驱动和流程管理,各模块高度独立。

🛠️ 内置 19 大模块详解

1. 核心驱动模块

模块名称描述
流程 (Procedure)贯穿游戏生命周期的有限状态机。将不同状态(如检查资源、登录、战斗)进行解耦。
事件 (Event)逻辑监听与抛出机制。GF 内部大量使用事件来消除模块间的耦合。
有限状态机 (FSM)提供通用的状态机功能,适用于各种复杂的游戏逻辑切换。

2. 资源管理与加载

  • 资源 (Resource) 坚持全异步加载体系。提供默认内存管理策略,开发者多数情况下无需手动 InstantiateDestroy
  • 文件系统 (File System) 使用虚拟磁盘概念管理零散文件,优化加载时的内存分配,提升资源读取性能。
  • 下载 (Download) 支持多线程、断点续传。是资源更新模块的核心底层支撑。

3. 游戏对象管理

  • 实体 (Entity) 管理场景中一切动态物体(玩家、怪物、掉落物)。支持实体挂接(如武器绑定)和对象池复用。
  • 对象池 (Object Pool) 通用的缓存池,避免频繁创建销毁导致的 GC 压力。
  • 场景 (Scene) 支持多场景叠加加载 (Additive) 与异步卸载。

4. 数据处理

  • 数据表 (Data Table) 将 Excel 等配置表导出后直接在游戏内使用,支持自定义解析格式。
  • 数据结点 (Data Node) 树状结构存储运行时数据,适合管理复杂的全局实时变量。
  • 配置 (Config) 存储游戏运行所需的全局只读配置。
  • 配置 (Setting)PlayerPrefs 的封装,用于持久化玩家本地设置(如音量、画质)。

5. 通讯与交互

  • 网络 (Network) 支持 TCP 长连接(兼容 IPv4/IPv6)。可派生 Packet 类以轻松接入 ProtoBuf
  • Web 请求 (Web Request) 提供 HTTP 短连接功能,支持 Get/Post 异步请求。
  • 调试器 (Debugger) 在真机或编辑器下调出悬浮窗,实时查看日志、系统性能及内存状态。

6. 表现与本地化

  • 界面 (UI) 界面组管理,兼容 uGUI 及 NGUI。支持界面层级管理和对象池复用。
  • 声音 (Sound) 管理 2D/3D 音效,支持声音与实体的绑定跟随。
  • 本地化 (Localization) 不仅支持文本多语言,还支持资源本地化(如不同语言的图片或特效)。

🚀 快速接入建议

  1. 定义流程:从派生 ProcedureBase 开始,规划游戏的初始化、预加载、主菜单等阶段。
  2. 订阅事件:利用 GameEntry.Event.Subscribe(...) 监听系统或自定义逻辑。
  3. 资源打包:配合官方提供的 AssetBundle 构建工具进行资源预处理。

作者:上帝喊我刚哥 | 联系邮箱:315791101@qq.com

Copyright © 2025 上帝喊我刚哥 | 鄂ICP备2025165463号-1