经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 游戏设计 » 查看文章
腾讯云要逆天,一个人也能开发复杂的网络游戏,深圳腾讯云沙龙发来的报到!
来源:cnblogs  作者:张晓衡  时间:2019/10/8 9:06:10  对本文有异议

本篇文章要感谢「银笑的尤里」从9月28日腾讯云深圳「游戏开发的超“音”“速”」沙龙发来了重磅消息,下面 Shawn 重点介绍对个人开发者惊喜的“MGOBE” 联机对战引擎。

一、什么是联机对战引擎

我们先看腾讯云官方对“联机对战引擎”的介绍:

小游戏联机对战引擎(Mini Game Online Battle Engine,MGOBE)为游戏提供房间管理、在线匹配、帧同步、状态同步等网络通信服务,帮助开发者快速搭建多人交互游戏。开发者无需关注底层网络架构、网络通信、服务器扩缩容、运维等,即可获得就近接入、低延迟、实时扩容的高性能联机对战服务,让玩家在网络上互通、对战、自由畅玩。MGOBE 适用于回合制、策略类、实时会话(休闲对战、MOBA、FPS)等游戏。

二、联机对战引擎快速上手

费话少说,我们还是直接上代码,就知道有多么的爽了。

1. 导入SDK

  1. // 导入 MGOBE.js
  2. import "./js/libs/MGOBE.js";
  3. // 获取 Room、Listener 对象
  4. const { Room, Listener } = MGOBE;

file

H5游戏轻松接入SDK,真的是太Easy了。

2. 初始化监听

在使用API之前还需要到腾讯云上开通 MGOBE 的使用权限,拿到 gameId、secretKey、url 等信息,然后就可能使用代码初始化联机对战引擎,代码如下:

  1. const gameInfo = {
  2. // 替换 为控制台上的“游戏ID”
  3. gameId: "xxxxxxxx",
  4. // 玩家 openId
  5. openId: 'openid_123_test',
  6. // 替换 为控制台上的“密钥”
  7. secretKey: 'BjU3QBZLFxxxxxxxxxxxxxxxxxx',
  8. };
  9. const config = {
  10. // 替换 为控制台上的“域名”
  11. url: 'xxxxxxxx.wxlagame.com',
  12. reconnectMaxTimes: 5,
  13. reconnectInterval: 1000,
  14. resendInterval: 1000,
  15. resendTimeout: 10000,
  16. };
  17. // 初始化 Listener
  18. Listener.init(gameInfo, config, event => {
  19. if (event.code === 0) {
  20. console.log("初始化成功");
  21. // 初始化成功之后才能调用其他 API
  22. // ...
  23. }
  24. });

3. 实例化房间、匹配玩家

  1. // 实例化 Room 对象
  2. const room = new Room();
  3. Listener.init(gameInfo, config, event => {
  4. if (event.code === MGOBE.ErrCode.EC_OK) {
  5. console.log("初始化成功");
  6. // 初始化后才能添加监听
  7. Listener.add(room);
  8. } else {
  9. console.log("初始化失败");
  10. }
  11. });
  12. //调用房间匹配 API
  13. const playerInfo = {
  14. name: "Tom",
  15. customPlayerStatus: 1,
  16. customProfile: "https://xxx.com/icon.png",
  17. };
  18. const matchRoomPara = {
  19. playerInfo,
  20. maxPlayers: 5,
  21. roomType: "1",
  22. };
  23. room.matchRoom(matchRoomPara, event => {
  24. if (event.code !== 0) {
  25. console.log("匹配失败", event.code);
  26. }
  27. });
  28. // 广播:房间有新玩家加入
  29. room.onJoinRoom = (event) => {
  30. console.log("新玩家加入", event.data.joinPlayerId);
  31. }
  32. // 广播:房间有玩家退出
  33. room.onLeaveRoom = (event) => {
  34. console.log("玩家退出", event.data.leavePlayerId);
  35. }

4. 房间内的消息通信

  1. //消息参数
  2. const sendToClientPara = {
  3. recvType: MGOBE.ENUM.RecvType.ROOM_SOME,
  4. recvPlayerList: ["xxxxxxxx1", "xxxxxxxx2"],
  5. msg: "hello",
  6. };
  7. //发送到客户端 API
  8. room.sendToClient(sendToClientPara, event => console.log(event));
  9. //客户端接收消息 API
  10. room.onRecvFromClient = (event) => {
  11. console.log("新消息", event.data.msg);
  12. };

5. 帧同步

  1. //开始帧同步
  2. room.startFrameSync({}, event => {
  3. if (event.code === 0) {
  4. console.log("开始帧同步成功");
  5. }
  6. });
  7. //开始帧同步广播回调
  8. room.onStartFrameSync = (event) => {
  9. console.log("开始帧同步");
  10. }

发送帧消息

  1. const frame = {cmd: "xxxxxxxx", id: "xxxxxxxx" };
  2. const sendFramePara = { data: frame };
  3. room.sendFrame(sendFramePara, event => console.log(event));

房间帧消息广播回调

  1. room.onRecvFrame = event => {
  2. console.log("帧广播", event.data.frame);
  3. };

状态同步机制稍微点复杂,这里就不展开了,通过上面的内容,不知道大家有没有感觉到很兴奋呢?

三、应用加速&语音多媒体

沙龙上除了联机对战引擎外,腾讯云还带来了有

全球应用加速 GAAP

全球应用加速(Global Application Acceleration Platform,GAAP)依赖全球节点之间的高速通道、转发集群及智能路由技术,实现各地用户的就近接入,通过高速通道直达源站区域,帮助业务解决全球用户访问卡顿或者延迟过高的问题。GAAP 提供图形化配置界面,只需几分钟,您就可以创建并使用高速通道访问您的业务源站,并通过控制台查看通道的运行情况。

file

下面是 「银笑的尤里」带回来的现场景图片
file

游戏多媒体引擎 GME 简介

腾讯云游戏多媒体引擎(Gaming Multimedia Engine,GME)提供一站式游戏语音解决方案。针对不同游戏场景进行深度优化,覆盖休闲社交、MOBA、MMORPG、FPS 等多种游戏类型;支持多人实时语音、3D位置语音、语音消息和语音转文本等功能;功能完备,接入门槛低,一个 SDK 即可满足多样化的游戏语音需求。

file
file

H5全支持,而且还支持 Cocos2dx、Unity、Unreal 三大引擎,以及七大平台,看上图能猜出是那七大平台吗?看图标,Shawn 猜了很久还是被猜到了!

  1. 两个桌面操作系统:Mac、Windows
  2. 两个移动操作系统:iOS、Android
  3. 三个游戏主机平台:Nintendo switch、PS4、Xbox

file

在公众号回复【腾讯云开发】可查看到关于 MGOBE、GAAP、GME 三大云技术的文档资料!

四、还有惊喜

Shawn 这边得到的消息,腾讯云10月在还有两场沙龙分别是

  • 10月18号:北京站
  • 10月26号:上海站

感兴趣的伙伴可关注公众号报名参加,感谢大家的支持!

file

原文链接:http://www.cnblogs.com/creator-star/p/11622245.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号