MotionFramework是一套基于Unity3D引擎的游戏框架。框架整体遵循轻量化、易用性、低耦合、扩展性强的设计理念。工程结构清晰,代码注释详细,该框架已被应用于多款商业化的游戏项目,是作为创业游戏公司、独立游戏开发者、以及初学者们推荐的游戏框架。
Unity2018.4+
C# && .NET4.x
- 引擎 - 游戏框架的核心类,它负责游戏模块的创建和管理。在核心系统的基础上,提供了许多在游戏开发过程中常用的管理器,可以帮助开发者加快游戏开发速度。
- 日志 - 游戏框架的日志系统,开发者通过注册可以监听框架生成的日志。
- 控制台 - 在游戏运行的时候,通过内置的控制台可以方便查看调试信息。控制台预设了游戏模块,游戏日志,应用详情,资源系统,引用池,游戏对象池等窗口。开发者可以扩展自定义窗口。
- 引用池 - 用于C#引用类型的对象池,对于频繁创建的引用类型,使用引用池可以帮助减少GC。
- 资源系统 - 依赖于经过商业化产品验证的YooAsset资源系统。
- 网络系统 - 异步IOCP SOCKET长连接方案,支持TCP和UDP协议。支持同时建立多个通信频道,例如连接逻辑服务器的同时还可以连接聊天服务器。不同的通信频道支持使用不同的网络包编码解码器,开发者可以扩展支持ProtoBuf的网络包编码解码器,也可以使用自定义的序列化和反序列化方案。
- 有限状态机 - 流程状态机是一种简化的有限状态机。通过流程状态机可以将复杂的业务逻辑拆分简化,例如:整个资源热更新流程可以拆分成多个独立的步骤。
游戏开发过程中常用的管理器
- 事件管理器 (EventManager)
- 网络管理器 (NetworkManager)
- 资源管理器 (ResourceManager)
- 音频管理器 (AudioManager)
- 配表管理器 (ConfigManager)
- 场景管理器 (SceneManager)
- 窗口管理器 (WindowManager)
- 补间管理器 (TweenManager)
- 游戏对象池管理器 (GameObjectPoolManager)
- 游戏启动器 (GameLauncher)
Demo 使用MotionFramework制作的一款RPG单机游戏。