AR引擎与MMLua开发规范

1. 客户端开发规范


为方便业务基于MMLua和AR引擎进行快速开发,提供以下相关规范说明:

  1. 明确什么样的业务场景使用什么技术方案;
  2. MMLua与引擎、引擎与原生的通信规范;
  3. 编辑器的使用规范,怎么使用编辑器能降低开发成本;

1.1. 引擎和MMLua服务的业务场景

MMLua集成了AR引擎组件,两者配合使用覆盖的场景规范如下:

什么场景只使用MMLua开发?

一些简单的业务场景直接使用MMLua就能快速开发完成,如下面的场景:

  • 陌陌游戏大厅,纯UI搭建的业务场景
  • 斗地主房间列表,纯UI搭建的列表场景
  • 狼人杀房间页面,游戏UI简单到通过原生UI即可搭建的场景
什么场景只使用AR引擎?

不涉及MMLua相关组件(如连麦组件)的使用,游戏比较独立,入口比较固定的场景直接使用AR引擎即可。

什么场景使用MMLua+AR引擎开发?

当有业务涉及到游戏开发,需要使用到AR引擎的场景,直接使用MMLua+引擎开发的方案,原因如下:

1. AR引擎的业务接入开发不支持热更,作为MMLua组件则支持了接入热更。
2. AR引擎没有丰富的业务组件,基于MMLua能使用很多MMLua的组件,如 连麦组件。
3. AR引擎编辑器能快速编辑GUI场景,开发成本低。  

相关类似的场景如下:

  • 棋牌类的游戏开发,如语聊斗地主,AR引擎开发游戏主体,MMLua连麦组件支持语聊功能。
  • 社交游戏开发,需要连麦PK的业务场景,如快聊场景开发PK小游戏
MMLua+引擎进行UI开发时,哪些场景使用MMLua?哪些场景使用AR引擎?

使用AR引擎场景:

  • 游戏主体页相关UI开发都通过引擎编辑器直接编辑生成
  • 跟游戏相关的UI弹窗,浮层等都使用引擎开发

使用MMLua场景:

  • 游戏主体页之外的业务都使用MMLua开发,如大厅页面,房间列表,结算页等
  • 游戏主体页的工具栏,如聊天输入框、连麦工具栏、邀请工具栏等
  • 游戏主体页和陌陌业务相关性较强的页面,如好友邀请也面,礼物面板等

1.1.1. 通信规范说明

MMLua实现了丰富的业务组件,MMLua+AR引擎的开发方式,可以降低引擎业务组件的支持成本,直接通过通信通道使用MMLua组件,当然AR引擎也可以直接和原生通信。

引擎与原生进行通信

引擎和原生通过Bridge的通信方式,原生可以调用到引擎Lua,引擎Lua也可以调用到原生, 详情查阅在原生环境下运行

MMLua和引擎进行通信

借助通信通道BroadcastChannel,AR引擎可以使用到MMLua组件,AR引擎和MMLua通过约定的通信协议,双方互发消息实现通信, 详情查阅在momolua环境下运行

1.2. 声音方案使用规范

不涉及连麦或者视频相关业务:

* 直接使用引擎内嵌音频接口,无需关系音频冲突问题。  

涉及连麦相关业务:

* 方案一:通过BroadcastChannel调用MMLua连麦组件播放背景或特效音(临时方案,建议只用做开发预览)
* 方案二:直接使用引擎内嵌音频接口,关心音频冲突问题 (建议方案,方案正在开发中)   

1.3. 编辑器使用规范

AR引擎编辑器在一些GUI的开发上明显能提高开发效率,直接使用编辑器的一些场景如下:

* 固定UI布局及控件,不需要做逻辑控制的GUI
* 不变的UI模块,只需要做简单显示隐藏或移动控制
* 复杂的动画效果,编辑器实现,代码简单做播放控制   

1.3.1. AR引擎现阶段问题说明

引擎现阶段存在多实例问题,不支持同时创建多实例,需要注意在存在跳转的两个业务都使用到引擎的话,需保证引擎创建销毁的时机。
不过不用担心,引擎多实例问题已经排期开发中,截止时间8月15号,预计9月初上线.

2. 服务端开发规范

配合游戏开发,我们提供两种通信服务通道,kcp通信和tcp通信,引擎客户端提供配套的连接管理库,直接在Lua层连接服务使用,不需要关心协议设计,直接接收业务Body数据进行开发.

KCP通信服务 为服务高实时,低延迟的的互动游戏,基于kcp协议搭建了通用的帧同步框架,使用场景示例:

  • 直播间5v5打雪仗游戏
  • 类似王者荣耀的高实时对抗游戏
  • 类似Snapchat聊天的“吃鸡”社交游戏

TCP通信服务

服务于对实时性和延迟没有特别高要求的场景,如卡牌游戏,提供了TCP通信框架,使用场景示例:

  • 卡牌类游戏,如斗地主、麻将、德州扑克
  • 回合制游戏,如数码宝贝
@Copyright © cosmos 2019 all right reserved,powered by Gitbook修订时间: 2021-04-12 18:28:11

results matching ""

    No results matching ""