Giter Site home page Giter Site logo

motionframework's Introduction

MotionFramework

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

image

支持版本

Unity2018.4+

开发环境

C# && .NET4.x

核心系统

  1. 引擎 - 游戏框架的核心类,它负责游戏模块的创建和管理。在核心系统的基础上,提供了许多在游戏开发过程中常用的管理器,可以帮助开发者加快游戏开发速度。
  2. 日志 - 游戏框架的日志系统,开发者通过注册可以监听框架生成的日志。
  3. 控制台 - 在游戏运行的时候,通过内置的控制台可以方便查看调试信息。控制台预设了游戏模块,游戏日志,应用详情,资源系统,引用池,游戏对象池等窗口。开发者可以扩展自定义窗口。
  4. 引用池 - 用于C#引用类型的对象池,对于频繁创建的引用类型,使用引用池可以帮助减少GC。
  5. 资源系统 - 依赖于经过商业化产品验证的YooAsset资源系统。
  6. 网络系统 - 异步IOCP SOCKET长连接方案,支持TCP和UDP协议。支持同时建立多个通信频道,例如连接逻辑服务器的同时还可以连接聊天服务器。不同的通信频道支持使用不同的网络包编码解码器,开发者可以扩展支持ProtoBuf的网络包编码解码器,也可以使用自定义的序列化和反序列化方案。
  7. 有限状态机 - 流程状态机是一种简化的有限状态机。通过流程状态机可以将复杂的业务逻辑拆分简化,例如:整个资源热更新流程可以拆分成多个独立的步骤。

管理器介绍

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

  1. 事件管理器 (EventManager)
  2. 网络管理器 (NetworkManager)
  3. 资源管理器 (ResourceManager)
  4. 音频管理器 (AudioManager)
  5. 配表管理器 (ConfigManager)
  6. 场景管理器 (SceneManager)
  7. 窗口管理器 (WindowManager)
  8. 补间管理器 (TweenManager)
  9. 游戏对象池管理器 (GameObjectPoolManager)

新手教程

  1. 游戏启动器 (GameLauncher)

DEMO

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

代码规范

请参考代码规范

贡献者

何冠峰 任志勇 ZensYue 徐烜 张飞涛

motionframework's People

Contributors

gmhevinci avatar zensyue avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.