腾讯云发布游戏 PaaS 产品,助力小游戏开发者实现联机功能

2024-07-21
来源:网络整理

随着以BAT为代表的中外互联网巨头纷纷入局小程序市场,小程序领域掀起了一股创业浪潮,而小游戏无疑是其中最被看好的方向之一。自微信“跳一跳”正式上线打开大门以来,小游戏行业在短短100天的时间里就取得了这样的成绩单——上线游戏超过2000款,日流水达千万。

为了更好地服务开发者,腾讯云近日发布了一款游戏PaaS产品——小游戏联机对战引擎()。据官方介绍,这是基于腾讯数十年的游戏研发经验,为小游戏开发者提供后台网络能力,使其能够快速、低成本地实现联机功能。

小游戏作为基于微信、QQ等社交平台的产品,自然具备一定的社交性,但其轻量级的特性意味着目前大部分小游戏都是单人游戏,能够支持联机对战功能的少之又少。当然这并不是开发者不想,只是小游戏想要实现联机并不是一件简单的事情,而这款小游戏联机对战引擎的诞生,就是为了解决这个问题。

据腾讯公布的信息,开发者只需调用少量接口,5分钟内即可实现房间管理、在线匹配、在线对战等功能,并支持多场景匹配、网络通信实时同步、服务器实时更新等不停机服务。

要解释这些功能是什么,我们先来看看开发者此前为何回避小游戏的联机功能。如果你对游戏行业比较关注,就会发现目前无论是PC还是移动端,小团队或个人开发的独立游戏通常都不支持联机。原因在于完成一款游戏所需要的技术与实现联网的技术并不等同。对于这样的小微开发者团队来说,无论是能力、精力还是财力,都只能着眼于大局而忽略了小细节来凸显游戏玩法。

以网络游戏中最经典的 C/S 架构(即客户端/服务器架构)为例,这里面涉及到客户端、服务器、网络三个角色。这意味着一款游戏想要实现联机功能通常需要完成三部分工作,分别是网络传输策略、同步策略、负责数据交换的序列化工具。

众所周知,最基础的协议就是 TCP/IP 协议族,它包括应用层、传输层、网络层和数据链路层。在目前主流的网游中,如果是像《FGO》这种弱交互的卡牌游戏,通常会使用应用层的 http 协议,采用比较简单的请求-响应模型;而如果是《王者荣耀》、《和平精英》这种需要实时交互的游戏,则会使用上层传输层的 TCP(传输控制协议)/UDP(用户数据报协议)协议来保证实时交互。

但获得网络数据访问权限只是漫长旅程的第一步。真正难倒这个小团队的可能是接下来的几个步骤。确定网络传输协议后,接下来要考虑的就是游戏对象的序列化。通常,你必须使用来自 的库或基于 C# 的库来实现数据存储和网络通信。

道路建设和仓库建设完成后,接下来就是进行数据交互,这也是最核心的一步。要知道时间对每个人都是公平的,这就需要开发者通过同步机制来保证每个玩家手中的客户端的一致性。现阶段主流网游的同步机制还是两种。一是状态同步,简单来说就是客户端将玩家完成的“攻击”操作发送到服务器,然后服务器按照规则计算出“此次攻击对怪物造成999点伤害”这样的结果,并广播给所有相关客户端,最后由客户端负责渲染结果;二是帧同步,也就是每个客户端只同步自己的操作,保证不同的客户端在同一时刻接收到输入,同时得到相同的结果。

理论虽然简单,但实现起来却并不容易,毕竟玩家的行为不可预测,开发者需要做好接收大量并发请求的准备,高并发处理不好,好的话会造成网络卡顿,坏的话服务器会崩溃。因此,腾讯小游戏联机对战引擎的价值就凸显出来了。使用这个引擎之后,意味着开发者接入了腾讯的接口,利用它实现了网络通信的实时同步,无论是帧同步还是状态同步都可以轻松实现。

腾讯云客户端开发_腾讯云开发小程序_腾讯云要连接百万小程序开发者

完成这三个部分意味着一款联机游戏的基础已经完成,但这种简单的模式显然没有用户体验,所以开发者需要添加各种功能,比如在线匹配、房间管理等。再者,开发完联机功能后,也不能像单机游戏那样把游戏放在一边不管,毕竟网络运维也是件麻烦事。

而此次腾讯云推出的小游戏联机对战引擎也针对这些痛点提供了相应的解决方案。所谓多场景匹配,是指可以提供基本的房间管理功能,支持邀请好友一起玩、在线匹配玩家;还支持开发者根据地理位置等因素匹配特定模式;甚至在新游戏玩家基数不足时,为开发者提供机器人匹配选项。

但必须指出的是,技术虽然可以学习,但真正阻碍小游戏开发者制作具有联机功能的小游戏的问题其实是成本。传统网游基本采用一次性服务器托管,也就是实体服务器,但这种模式是“赢或死”,如果项目不成功,玩家不买账,昂贵的服务器就只能闲置,因此并不适合小团队。

对于小型团队来说,云服务的优势在于配置自由灵活,前期投入低,随着游戏被越来越多玩家认可,后期也可以轻松拓展。但是云服务本身也存在一定的缺陷,其中之一就是“云服务超卖”。由于各大云服务商普遍存在超卖现象,高峰时段带宽受限的情况屡见不鲜。而带宽不足对线上游戏的影响极其明显,如果服务器超卖太严重,可能会导致整个集群崩溃,服务器宕机。

因此,依托腾讯云的 Auto 策略,小游戏联机对战引擎提供了实时服务器的功能,可根据业务负载在几分钟内进行扩容。开发者只需要将联机逻辑代码和策略部署在服务器端,当玩家数量激增时,即可自动扩容,用户会自动匹配到新的服务器,当玩家数量处于低谷时,服务器端又可以自动收缩,可以更灵活地满足开发者的需求。

总体来说,腾讯云提供的是一揽子解决方案,旨在为开发者提供更便捷网络连接的可能性。腾讯云提供这样的服务的原因显然不是为了赚钱。据腾讯云互联网行业产品总监、小游戏在线对战引擎负责人陈亮介绍,“每用户几分钱”。根据2019年初微信公开课上公布的数据,微信小游戏的月活跃用户已经达到4亿,腾讯云依靠小游戏在线对战引擎可以获得每月数百万的收入,但仅《王者荣耀》就能提供数亿的月流水,因此每月几百万的收入相比之下并不算多。

事实上,腾讯此举与全球其他平台公司推出便利开发者的工具类似,也有借助小游戏提升整个小程序生态活力的意图,通过强化社交功能的小游戏将小程序的入口泛化。

由于基于小程序的小游戏注定是轻游戏,因此更受在互联网中成长起来的千禧一代的喜爱。确切地说,小游戏更像是以游戏形式出现的社交工具,通过更具娱乐性的方式让玩家留在小程序生态中。这也是为什么现阶段的小游戏以轻操作、趣味性为主。因此,随着未来加入联机功能,无论是邀请链接,还是和好友开房娱乐,显然都会大大增强粘性。

那么在接下来的日子里,你准备好和朋友们一起在小游戏中愉快地较量了吗?

【本文图片来源于网络】

分享