曾参加2018GWB腾讯游戏创意大赛的《风暴岛》,获得了WeGame的签约以及腾讯游戏学院专家团的指导,现已于4月在WeGame和Steam双平台上线。本文采访了负责指导服务器方面的专家Jerry,同类游戏和团队或许能从中得到一些启发。

相对于其它的团队,《风暴岛》的研发商爱乐游对于腾讯明显更为熟悉。一方面这家研发商的成名之作恰恰是与微信合作的《雷霆战机》。而在另一方面,《风暴岛》的研发团队本身也曾在腾讯供职过。而这带给《风暴岛》项目的一个最大不同即是其对于与腾讯的合作明显较其它的团队准备的更为充分。当腾讯游戏学院GWB专家Jerry拿到游戏服务器的架构文档后,他发现相较于其它的辅导项目,爱乐游在服务层面的部署更好。用一句话来形容即是“已经准备好了。”

这一方面体现在其架构文档相较于其它项目问题更少;另一方面,则是基于《风暴岛》在2020年游戏行业“全民出海”大背景之下,对于“海外版本”解决方案的渴求。用Jerry的话说就是:“他们已经意识到了现有的问题,并且愿意积极的从我们这里找到最优的解决方案。”

Jerry也并没有辜负这种期待。经过一段时间的磨合之后,针对于游戏的产品特点做出了基于自己经验判断的解决方案。最终表现为《风暴岛》上线后情况良好——其在2020年4月1日同时于腾讯WeGame和Steam双平台上线,并于4月5日正式打开国际版服务器的情况下,游戏在前者获得了80.7%的推荐,而在后者亦获得了75%的好评。目前虽有一些对于游戏的不同观点探讨,但在笔者一一翻阅后发现针对于服务器层面的非议几乎绝迹。对比Steam平台其他一些竞技游戏如《H1Z1》、《绝地求生》等游戏玩家对于服务器、外挂等吐槽连连,这显然难等可贵。

《风暴岛》在WeGame上获得了80.7%的推荐,且评论中少有对于服务器的非议

这不仅证明了腾讯GWB专家对于产品辅导卓有成效而且,伴随出海大潮,一款志在搏击国际的产品应该如何从立项伊始就做好服务器层面的准备?在这个过程中又应重点关注哪些方面?腾讯游戏学院GWB与爱乐游此番针对于《风暴岛》服务器层面的指导,其实是一个颇为值得行业参考的完整案例。

下为采访实录:

Q  与很多我们提供支持的独立游戏团队所做的游戏不同的是,《风暴岛》这个游戏一开始就定位全球化发行。那么单从服务器这个领域来说,您能否从您的业务领域谈一下这意味着什么?

Jerry:相对于专注国内市场的产品,目标未来要进行国际化发行的游戏产品,其海外版本在整体的服务器架构、机房的选点方面都较国内会有较大的不同。同时,在后期游戏的运营、线上的运维、服务器的扩容等都会遇到比较大的挑战。

除此之外,对于游戏海外版本最大的一个挑战是弱联网下的游戏体验。海外是一个大范围的区域,这个区域代表着不同的国家与地区。对于游戏来说则意味着玩家遍布于世界各地,他们的网络接入状况参差不齐。这些林林总总的情况会使得我们在前期面临一个比较大的挑战,同时也是我们在做未来要出海的产品时,前期应该有所考虑的。

Q  那么从研发的角度来说,如果在立项伊始就做这样一个定位的游戏的话,至少需要准备好哪些资源?

Jerry:第一,作为开发者首先要明确当前研发的产品未来主打海外市场的哪一区域?这决定了之后产品服务器的部署。

第二,如果有能力的话,研发最好能够通过适合自己的方式,去调查一下目标市场的网络状况。从我们的经验来看,在游戏出海的过程中,欧美、东南亚等不同区域市场的网络差异是比较大的。在调查明确这一切之后,研发就需要根据当地的网络情况,去有针对性的在产品的网络适配需求方面做一些调整。事实上作为一款志在出海的产品,我们会发现其往往会面临一些用户规模、成本等层面的考虑。在这种情况下如果先前能够做好一些调研的话,的确有助于后期少走一些弯路。

Q  就这次合作的研发爱乐游来说,其实这个团队有一个特殊性是他们之前和腾讯合作过。《雷霆战机》恰恰是微信接入后让这家公司声名鹊起的产品。那么我想问的是之前围绕其它产品的合作是不是也给我们这次针对于《风暴岛》的合作奠定了一些基础?

Jerry:坦白来讲,我不太清楚是否因为之前的合作对于他们提供了一些帮助。但从实际的情况来看,爱乐游所提供给我们的架构文档相对于此前我辅导过的其它外部项目,问题是比较少的。与此同时,我们也看到在腾讯的后台上应该去考虑的一些问题,在他们的产品底层架构设计上也已经做出了一定的响应,并且效果还不错。

Q  但在这种情况下,肯定还是会出现一些问题,那么当时《风暴岛》在服务器端仍然体现了哪些不足?而这种不足可能也是当前的CP普遍在做此类游戏时存在的?

Jerry:首先就《风暴岛》来说,买QQ账号平台在拿到游戏的服务器架构设计文档之后,我们当时认为这个游戏在海外的部署以及客户端和对战服务器的网络连接之间与宽带区的匹配存在一定的问题。而后续在与游戏的研发团队沟通的时候,重点也围绕于此进行了一些比较深入的探讨,并且依据我们的经验给予了他们建议。

但如果将这种问题上升到同类游戏来说,我个人可以看到的是,在很多目标是国际化发行的游戏中,如果研发团队此前没有过开发此类项目的经验,那么确实难以规避对于不同地区网络状况的问题。这个问题在我看来是需要亲身亲历一次,或者说做过非常充分的调研,才能够有所认知的。所以最初的时候,很多团队常常会对这一块的考虑不够周全。

Q  那具体到《风暴岛》来说,当时他们处于一种什么样的状态?对于当时存在的问题有所认知吗?

Jerry:从我的角度来看,当时他们已经意识到了一些问题,并且希望能够通过我们的建议来尝试一下,究竟怎样才是一种比较合理的解决方案?

当然在这里也有一些问题他们还没有意识到,比如说之前《风暴岛》的客户端接入是通过外圈去进行转发。我们通过技术手段测试后对他们建议,如果这样做,可能玩家获得的不是一个最流畅的游戏体验。总体来讲,当时我们的沟通是比较顺畅的,他们在我们分析完后也非常愿意接受这些建议。

Q  爱乐游能够接受这些建议一方面固然与GWB专家能够深入浅出的技术分析有关。另一方面恐怕也与其本身有较强的技术实力有关。但对于一些小型的独立游戏开发者,我们是否会针对于其团队的规模以及本身所拥有资源的不同去提供一些不同的建议?

Jerry:从辅导和沟通的角度来看,前期我们并不倾向于通过这个团队的规模来对于整体的建议和辅导做出调整。我们的做法通常是根据研发提供给我们的设计文档内所反应出的问题,结合腾讯游戏学院的标准,而后去做出改进的建议。

当然在这个过程中,的确不同的研发团队会给我们不同的反馈,比如说他们会因为时间原因,或者是资金成本的原因,认为无法按照我们提出的标准进行修改。在这种情况下我们会坐下来和他们进行沟通,希望能够在设计层面,结合当前产品的自身特点去做一些合理的变化,把标准稍微降低一些。但这种变化对于整体的系统其实是不会有太大的影响的。

比如说之于一些小开发团队的产品来说,其目标用户量可能不会达到千万级别的DAU。或者说他们的产品本身属于分区分服。在这种情况下,我们针对于每个分区可以适当的把标准降低。这就使得他们对于产品修改的执行难度会降低。所以就整体来讲,我们更多仍然是从项目和产品本身来给予建议,而后在根据项目的实际情况去看能否在实操过程中做进一步调整。

Q  围绕这块我们能否更为详细的谈一谈,当时我们具体针对于《风暴岛》提出了哪些修改建议?并最终达成了一个既能节省成本,又节省时间,同时也符合我们需求的解决方案?

Jerry:第一,我们对于服务器内网部署给予了一些建议,因为从国际化发行的角度出发。必然需要一个中心服务器和对战服务器。而后在此基础上通过我以往的经验告诉研发商,对战服务器和中心服务器之间在内网部署上需要注意一些什么事情。

其次,在游戏的对局匹配层面我们也给予了一些建议,比如说PING值,再比如说策划需求层面围绕玩家的战力等方面的设定。其次还有要不要考虑一下玩家所在国家区域的解决方案。

第三块是玩家与对战服之间的连接管理问题。当时在爱乐游提供的设计文档中反应的不是很充分,所以我们围绕此做了重点和深入的沟通了解。并根据他们的情况给予了“通过代理进行转发”变为“本地直联”这样改善用户体验的建议。

Q  那就您提到的这几点当中,就您来看,类似于爱乐游这种中等体量的研发商,在做此类产品时最容易忽视,但往往又非常重要的是哪一个环节?

Jerry:首先不同的团队问题各不相同,其次不同的项目在架构设计上也各有属于自己的侧重点与遗漏点。但就整体来讲,他们普遍存在的问题是针对于大用户量承载方面的考虑会稍显不足。

这是一个什么概念呢?我们做游戏最初针对于在线人数会有一个目标,有些研发商可能一开始就希望做到DAU千万级别。在这种情况下他们会在初期就针对于服务器架构的平行扩容、过载保护还有容灾备份等方面花较大的力气去做。

但的确也有一些团队认为自己的用户规模不可能到达这个量级,所以在这一层面就会有所忽略。比如说像容灾备份,有一些研发商会用数据库组建,但其本身并没有提供这方面的能力。在这种情况下它的问题就会凸显。所以我们的建议是如果CP真的想做国际化发行的产品,并且未来用户规模可能比较大的话,在这块的技术储备要提前去进行布局,如果说确实团队在技术储备层面能力不够,那么就要尝试去参考一些更为成熟的解决方案。

Q  我们在采访爱乐游的时候,了解到腾讯游戏学院在测试这个环节帮助他们许多。那么从这点出发,我想问的是我们在对于合作伙伴的产品测试这个环节,重点会看的几个点是什么?

Jerry:事实上在测试这个环节我们所关注的核心场景是非常多的。

但就最关键的几个点来说,首先是性能方面的压测,其次是游戏在弱网环境下的体验以及过载保护。仅拿过载保护来说,按照腾讯的标准,在游戏的系统比较繁忙的时候,必须要给用户一些友好的提示,或者去设计一套登录排队的系统。而如果出现故障之后,同时也要有限制频繁登录的设定,以防止出现雪崩。当一个IP登录超过一定次数之后,我们可能就要对其进行限制登录。以上这些东西都要在测试的环节模拟真实场景去进行压力测试。这样做的目的是为了避免上线之后因用户突然增长而出现爆服现象。

其次针对于过载保护,我们还有一点要求是如果说合作伙伴的经验不足,那么可能还需要进行模块之间的过载保护。我们会要求其如果真的服务器出现了过载的情况,那么其内部的不同模块之间不能够有较强的相互影响。

Q  针对于《风暴岛》背后的研发商爱乐游的这一套标准,针对于一些中小团队开发者,这个标准是否会有一些变化?

Jerry:这个问题就如同我前面所说的,我们不会依据你是一个怎样的团队而去做调整。仅仅会针对于产品自身的特点去做一些适当的调整。

比如说一个产品是分区分服的产品,那么我们也许就会对产品单个分区内一个服务器之间的平行扩容要求放低一些。因为其游戏采用了分区分服的方式,所以完全可以通过加分区的方式来提高系统能量,因此我们就可以把针对于单个模块的平行扩容能力稍微放低一些。

但相对来讲有一些标准是绝对不能降低的,比如说刚才所述的登录的过载保护。不管是分区还是分服,还是全区全服。前端的帐号登录系统必须遵循严格的标准测试,如果因为研发商在这一层面的技术储备不够好就降低标准,那么当这个产品在实战中上线出现问题,对其造成的损失可能比想像更大。

腾讯游戏学院专家:如何避免出海游戏服务器水土不服?相关推荐

  1. 腾讯游戏学院专家实例剖析:如何优化休闲游戏的美术风格?

    导语:随着人们生活节奏逐渐加快,碎片化时间越来越多,休闲类手游成为了一部分人上下班途中的一大选择.这类游戏玩法不会过于复杂,有时会带有一些收集元素.除此之外,游戏的美术表现也是吸引玩家长期体验游戏的关 ...

  2. 腾讯游戏学院专家分析:Unity在移动设备的GPU内存机制

    导语CPU和GPU是共享一份内存的吗?腾讯游戏学院专家Donald将在本文尝试以一张贴图纹理的虚拟内存占用为例,解答一些内存方面的问题.本篇主要分析iOS系统,后续会更新安卓篇. 开发手机游戏时,常听 ...

  3. 省带宽、耗电小,腾讯游戏学院专家解析手游渲染架构

    编者按 如何让手游更省带宽,耗电量更少?渲染或是其中一个可突破的点.本文中,腾讯游戏学院专家Hailong将从为大家解析TBR渲染架构的特点. 什么是TBR? 全称是Tile Based Render ...

  4. mie散射理论方程_腾讯游戏学院专家:PBR渲染模型的理论及具体应用

    编者按 PBR,基于物理的渲染模型,是当前主流游戏引擎使用的真实感3D渲染模型.腾讯游戏学院专家Leonn,将和大家分享PBR的理论知识以及在Disney和UE中的典型应用. 文 | Leonn 腾讯 ...

  5. 1709 ltsb 内存占用_腾讯游戏学院专家分析:Unity在移动设备的GPU内存机制

    导语 CPU和GPU是共享一份内存的吗?腾讯游戏学院专家Donald将在本文尝试以一张贴图纹理的虚拟内存占用为例,解答一些内存方面的问题.本篇主要分析iOS系统,后续会更新安卓篇. 开发手机游戏时,常 ...

  6. scratch做简单跑酷游戏_腾讯游戏学院专家:做一个多线程游戏框架可以多简单?...

    导语 如何做一个多线程游戏框架?腾讯游戏学院专家Tao将在本文通过一个demo来说说游戏逻辑的多线程化. 众所周知现在各种游戏终端的发展十分迅猛.其中一个共同的特征是"多核化",由 ...

  7. 腾讯游戏学院专家:UE高级性能剖析技术之RHI

    导语如何高效准确详细的对性能进行剖析?腾讯游戏学院专家Leonn将从RHI(渲染提交)开始,归纳总结在UE下对每一性能指标的剖析方法. 基于UE的手游客户端的性能主要由这七大部分构成:CPU逻辑.CP ...

  8. 如何应对CPU帧率瓶颈和卡顿?腾讯游戏学院专家带你剖析

    CPU上帧率低和卡顿是性能优化中最易出现的一部分,尤其对于手游,提到卡,就大概率是在CPU上出现的问题,CPU上的卡顿一般是卡逻辑或是卡渲染,本篇将详细系统的介绍基于UE的手游对CPU瓶颈的剖析方法. ...

  9. 游戏会记录某个api的调用_专家坐诊丨老出BUG怎么办?游戏服务器常见问题的解决方法分享...

    ​在游戏开发中,我们经常会遇到一些技术难题,而其引发的bug则会影响整个游戏的品质.女性向手游<食物语>就曾遇到过一些开发上的难题,腾讯游戏学院专家团Wade.Zc.Jovi等专家为其提供 ...

最新文章

  1. ODBC连接到400
  2. J2EE的经常使用十三规范——java菜鸟成长记
  3. Leetcode 152.乘机最大子序列
  4. 2017-2018 Northwestern European Regional Contest (NWERC 2017)
  5. QString::arg()//用字符串变量参数依次替代字符串中最小数值
  6. Cookie学习总结
  7. 20165329 学习基础和c语言调查
  8. 大数据各子项目的环境搭建之建立与删除软连接(博主推荐)
  9. 运动蓝牙耳机什么牌子好,运动蓝牙耳机排行榜
  10. 第4周项目4:程序分析(2)
  11. arduino uno+驱动器控制42步进电机
  12. android获取通讯录的权限错误
  13. TextBlob简介
  14. Hadoop的脚本语言Pig应用
  15. Android客户端Monkey稳定性测试
  16. Linux需要学什么
  17. unity实现AI对战坦克
  18. linux wenj 立即生效_OpenIdConnect 认证启用 HTTPS 回调 RedirectUri 不生效问题解决
  19. 中小型企业优选的免费OA品牌
  20. Word 2007教程:使用多级编号列表

热门文章

  1. 抖音一个老人和一个机器人歌曲_抖音空巢老人背景音乐是什么歌_抖音空巢老人背景音乐介绍_游戏吧...
  2. 面试一次问一次,HashMap是该拿下了(一)
  3. 淘宝店铺怎么设置定制类?方法是什么?
  4. Python:绘制数学图形
  5. 3款在线网页原型图设计软件推荐
  6. 健康管理项目第九天(套餐预约之占比饼形图、运营数据统计、报表导出 )
  7. XLSReadWriteII 读取EXCEL数据 动态响应字段的列编号
  8. Python中文文本分句
  9. AdSense 使用教程: 通过让 Google 在您的网站上投放广告,帮助您从中获利
  10. xp系统网上邻居看不到局域网电脑_网上邻居看不到局域网的其它计算机名