Skip to content

x1766233/MotionFramework

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MotionFramework

MotionFramework是一套基于Unity3D引擎的游戏框架。框架整体遵循轻量化、易用性、低耦合、扩展性强的设计理念。工程结构清晰,代码注释详细,该框架已被应用于多款商业化的游戏项目,是作为创业游戏公司、独立游戏开发者、以及初学者们推荐的游戏框架。

image

支持版本

Unity2017.4 && Unity2018.4 && Unity2019.3

开发环境

C# && .Net4.x

核心系统

  1. 引擎 (MotionEngine) - 游戏框架的核心类,它负责游戏模块的创建和管理。在核心系统的基础上,提供了许多在游戏开发过程中常用的管理器,可以帮助开发者加快游戏开发速度。

  2. 日志 (MotionLog) - 游戏框架的日志系统,开发者通过注册可以监听框架生成的日志。

  3. 控制台 (Engine.Console) - 在游戏运行的时候,通过内置的控制台可以方便查看调试信息。控制台预设了游戏模块,游戏日志,应用详情,资源系统,引用池,游戏对象池等窗口。开发者可以扩展自定义窗口。

  4. 引用池 (Engine.Reference) - 用于C#引用类型的对象池,对于频繁创建的引用类型,使用引用池可以帮助减少GC。

  5. 资源系统 (Engine.Resource) - 基于资源定位的资源系统(LocationBased AssetSystem),支持自定义解密方法,支持AssetBundle变体。编辑器下的模拟运行方式可以不依赖于AssetBundle文件,省去每次修改资源都要重新构建的时间。业务逻辑支持协程,异步,委托多种异步加载方式。

  6. 补丁系统 (Engine.Patch) - 通过补丁系统可以实现资源热更新。支持版本回退,支持区分审核版本,测试版本,线上版本,支持灰度更新。

  7. 网络系统 (Engine.Network) - 异步IOCP SOCKET长连接方案,支持TCP和UDP协议。支持同时建立多个通信频道,例如连接逻辑服务器的同时还可以连接聊天服务器。不同的通信频道支持使用不同的网络包编码解码器,开发者可以扩展支持ProtoBuf的网络包编码解码器,也可以使用自定义的序列化和反序列化方案。

  8. 有限状态机 (Engine.AI.FSM) - 流程是一种简化的有限状态机。通过流程可以将复杂的业务逻辑拆分简化,例如:整个资源热更新流程可以拆分成多个独立的步骤。

  9. 寻路系统 (Engine.AI.AStar) - A星寻路系统,支持2D网格,蜂窝网格,节点网格等结构。

管理器介绍

游戏开发过程中常用的管理器

  1. 事件管理器 (EventManager)

  2. 网络管理器 (NetworkManager)

  3. 资源管理器 (ResourceManager)

  4. 补丁管理器 (PatchManager)

  5. 音频管理器 (AudioManager)

  6. 配表管理器 (ConfigManager)

  7. 场景管理器 (SceneManager)

  8. 游戏对象池管理器 (GameObjectPoolManager)

工具介绍

内置的相关工具介绍

  1. 资源包构建工具 (AssetBundleBuilder)

  2. 资源包收集工具 (AssetBundleCollector)

  3. 资源导入工具 (AssetImporter)

  4. 资源引用搜索工具 (AssetSearch)

  5. 特效性能查看工具 (ParticleProfiler)

新手教程

  1. 游戏启动器 (GameLauncher)

DEMO

  1. Demo 使用MotionFramework制作的一款RPG单机游戏。

  2. Projects 基于XLua和ILRuntime热更新技术的工程例子。

贡献者

何冠峰 任志勇

声明

我们将会一直维护该框架,提交的Issue会在一天内回复并开始解决,欢迎加入社区QQ群:654986302

About

MotionFramework is unity3d game framework.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%