用户日益增长的精神需求和社交娱乐需要,让联机对战的需求与日剧增。
硬件和网络技术的高速发展,也使得联机游戏的体验越来越好。
可以看到,越来越多的联机对战游戏登上游戏榜单。
联机对战已逐渐成为主流,无论在哪个游戏榜单,总能看到各种类型的对战游戏玩法。
全球的游戏行业正在经历一场多人联机对战的浪潮。
华为游戏榜单
微信小游戏榜单
多人联机优势
近期多人联机的玩法也在小游戏领域掀起了热潮,吸引着越来越多的玩家加入。
多人联机玩法优势:
多人游戏具有强大的互动性和竞技性,可以有效提升游戏在同品类的竞争力。
玩家能够跨越地理限制,与不同地区和城市的玩家一起游戏,提升了游戏的分享和裂变能力。
多人游戏能增强玩家的社交互动,提升游戏粘性和玩家留存率。
据统计休闲游戏加入联机对战玩法后活跃用户平均单次游戏时长提升了19%,平均单日时长提升了20%,次日留存也提升了21%,社区热度也有明显提升。
多人联机开发的挑战
然而,多人联机游戏的开发并不是一件简单的事情。开发者需要面对众多挑战,如玩家的匹配,游戏状态的同步,服务器的稳定性等。这些问题都需要开发者投入大量的精力去处理。
多人联机游戏开发成本高,需要团队额外配置后端开发者。
开发者需要处理玩家匹配、游戏状态同步、服务器稳定性等问题。
解决这些问题需要开发者投入大量精力。
图:多人联机涉及到的部分技术点
快速接入多人联机服务
受项目周期和团队配置的约束,构建一个成熟稳定的联机对战系统并不是一件容易的事。因此越来越多的团队选择使用成熟的对战服务平台来构建自己的联机对战系统。
就像越来越多的人,使用游戏引擎和游戏框架来制作自己的游戏,而不是从系统 API、图形 API 从零开始构建一样。
依靠华为强大的网络服务能力,在洞察市场需求后,华为推出了 PGS(Petal Gaming Services)联机对战服务。
PGS 联机对战服务是一种强大的联机游戏解决方案,能够极大地缩短联机对战服务开发时间。
下面我们看看华为 PGS 联机对战服务有哪些实用特性。
01 房间管理
提供了创建/加入房间、离开/解散房间、踢出房间玩家、更新房间信息、获取匹配房间列表等能力。
02 队伍管理
提供了创建/加入队伍,离开/解散队伍、查询/更新队伍信息等能力,支持通过组队的形式进行 PK 对局。
03 自定义规则快速匹配
支持通过自定义规则进行快速玩家匹配,比如根据等级,胜率,战力等匹配,同时内置 AI 匹配择优算法,可以根据玩家等待时长,胜率等,优化算法,增强游戏平衡性。
04 帧同步
为游戏应用提供稳定的帧同步能力,实现多人实时联机对战,并支持丢包保护,在发生帧数据丢失时,可通过请求补帧找回丢失的帧数据。
05 服务器弹性伸缩
云侧战斗服务器托管,免运维,满足游戏玩家高并发场景。
在项目正式运营后,开发者再也不用担心后期的扩容问题和节点分布问题,这些都是华为 PGS 自带的特性,拥有高度的稳定性和可扩展性。
06 多平台支持
提供 JS、C# 多种编程语言 SDK,包体仅有 500KB 支持编译发布到小游戏、Android、IOS、鸿蒙等多个平台。
鸿蒙 | 小游戏 | IOS | 安卓 | WEB |
---|---|---|---|---|
✓ | ✓ | ✓ | ✓ | ✓ |
07 Beta 阶段免费使用
华为 PGS 联机对战正处于 Beta 阶段,免费使用,商业化方案会在落地之前提前 2 个月公布,开发者可以放心使用。
免费示例项目源码
《赏金猎人》是一款联机对战休闲小游戏,使用华为 PGS 多人联机能力,目前项目源码已免费上架 Cocos Store 资源商城。
开发者们可以拿它作为参考,了解联机对战游戏的制作以及华为 PGS 的集成与使用。
也可以把它作为项目基础,复用它的联机对战流程,快速开发出自己的联机对战游戏。
《赏金猎人》基于华为 PGS 联机对战功能,如果要本地搭建,请先登录华为 AppGallery Connect,创建项目,并完成联机对战相关配置。
https://developer.huawei.com/consumer/cn/service/josp/agc/index.html
登录 AppGallery Connect 点击我的项目。
在 AppGallery Connect 项目列表中,添加或找到现有项目,见下图:
注意:在 Cocos Creator 引擎中使用华为联机对战服务,请选择Web类型的项目。
集成联机对战服务
我们要在自己的游戏中,提供联机对战能力,还需下载华为的 JS SDK 脚本,集成到工程中。
将 GOBE.d.ts
、GOBE.js
两个文件存放在 script/libs
文件夹(《赏金猎人》项目已经有这两个文件,无需再操作。
新项目需要注意,一定要在 Cocos Creator 引擎中将 GOBE.js
设置为插件脚本。
并将证书 endpoint-cert.cer
放在 resources
文件夹下。
最后,在《赏金猎人》项目 gobeUtil.ts
代码中,你还需要填写华为对战服务的 CLIENT_ID
、APP_ID
、CLIENT_SECRET
。见下图:
以上内容,你可以在华为 AppGallery Connect 后台项目设置 > SDK 配置 > SDK 代码片段中找到。
服务端代码配置
客户端配置完了,接下来还需要配置服务端相关的内容。
进入联机对战服务,展开实时服务器选项,点击托管实时服务器,在列表右侧点击上传代码标签。
为服务自定义名字,点击浏览文件准备上传服务器文件。
浏览并定位到《赏金猎人》项目下 goberts/index.js
选择上传。
在上传该文件前,还需要在 index.js
的第 83 行中,将 appId
的值为你当前应用的 appId
。
技术支持
扫码进入多人联机对战开发者交流群,让我们一起探索未来的游戏开发之路
点击【阅读原文】免费获取 PGS 联机对战完整游戏源码!