编者按 曾参加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:首先就《风暴岛》来说,在拿到游戏的服务器架构设计文档之后,我们当时认为这个游戏在海外的部署以及客户端和对战服务器的网络连接之间与宽带区的匹配存在一定的问题。而后续在与游戏的研发团队沟通的时候,重点也围绕于此进行了一些比较深入的探讨,并且依据我们的经验给予了他们建议。
但如果将这种问题上升到同类游戏来说,我个人可以看到的是,在很多目标是国际化发行的游戏中,如果研发团队此前没有过开发此类项目的经验,那么确实难以规避对于不同地区网络状况的问题。这个问题在我看来是需要亲身亲历一次,或者说做过非常充分的调研,才能够有所认知的。所以最初的时候,很多团队常常会对这一块的考虑不够周全。
Q 那具体到《风暴岛》来说,当时他们处于一种什么样的状态?对于当时存在的问题有所认知吗?
Jerry:从我的角度来看,当时他们已经意识到了一些问题,并且希望能够通过我们的建议来尝试一下,究竟怎样才是一种比较合理的解决方案?
当然在这里也有一些问题他们还没有意识到,比如说之前《风暴岛》的客户端接入是通过外圈去进行转发。我们通过技术手段测试后对他们建议,如果这样做,可能玩家获得的不是一个最流畅的游戏体验。总体来讲,当时我们的沟通是比较顺畅的,他们在我们分析完后也非常愿意接受这些建议。
Q 爱乐游能够接受这些建议一方面固然与GWB专家能够深入浅出的技术分析有关。另一方面恐怕也与其本身有较强的技术实力有关。但对于一些小型的独立游戏开发者,我们是否会针对于其团队的规模以及本身所拥有资源的不同去提供一些不同的建议?
Jerry:从辅导和沟通的角度来看,前期我们并不倾向于通过这个团队的规模来对于整体的建议和辅导做出调整。我们的做法通常是根据研发提供给我们的设计文档内所反应出的问题,结合腾讯游戏学院的标准,而后去做出改进的建议。
当然在这个过程中,的确不同的研发团队会给我们不同的反馈,比如说他们会因为时间原因,或者是资金成本的原因,认为无法按照我们提出的标准进行修改。在这种情况下我们会坐下来和他们进行沟通,希望能够在设计层面,结合当前产品的自身特点去做一些合理的变化,把标准稍微降低一些。但这种变化对于整体的系统其实是不会有太大的影响的。
比如说之于一些小开发团队的产品来说,其目标用户量可能不会达到千万级别的DAU。或者说他们的产品本身属于分区分服。在这种情况下,我们针对于每个分区可以适当的把标准降低。这就使得他们对于产品修改的执行难度会降低。所以就整体来讲,我们更多仍然是从项目和产品本身来给予建议,而后在根据项目的实际情况去看能否在实操过程中做进一步调整。
Q 围绕这块我们能否更为详细的谈一谈,当时我们具体针对于《风暴岛》提出了哪些修改建议?并最终达成了一个既能节省成本,又节省时间,同时也符合我们需求的解决方案?
Jerry:第一,我们对于服务器内网部署给予了一些建议,因为从国际化发行的角度出发。必然需要一个中心服务器和对战服务器。而后在此基础上通过我以往的经验告诉研发商,对战服务器和中心服务器之间在内网部署上需要注意一些什么事情。
其次,在游戏的对局匹配层面我们也给予了一些建议,比如说PING值,再比如说策划需求层面围绕玩家的战力等方面的设定。其次还有要不要考虑一下玩家所在国家区域的解决方案。
第三块是玩家与对战服之间的连接管理问题。当时在爱乐游提供的设计文档中反应的不是很充分,所以我们围绕此做了重点和深入的沟通了解。并根据他们的情况给予了“通过代理进行转发”变为“本地直联”这样改善用户体验的建议。
Q 那就您提到的这几点当中,就您来看,类似于爱乐游这种中等体量的研发商,在做此类产品时最容易忽视,但往往又非常重要的是哪一个环节?
Jerry:首先不同的团队问题各不相同,其次不同的项目在架构设计上也各有属于自己的侧重点与遗漏点。但就整体来讲,他们普遍存在的问题是针对于大用户量承载方面的考虑会稍显不足。
这是一个什么概念呢?我们做游戏最初针对于在线人数会有一个目标,有些研发商可能一开始就希望做到DAU千万级别。在这种情况下他们会在初期就针对于服务器架构的平行扩容、过载保护还有容灾备份等方面花较大的力气去做。
但的确也有一些团队认为自己的用户规模不可能到达这个量级,所以在这一层面就会有所忽略。比如说像容灾备份,有一些研发商会用数据库组建,但其本身并没有提供这方面的能力。在这种情况下它的问题就会凸显。所以我们的建议是如果CP真的想做国际化发行的产品,并且未来用户规模可能比较大的话,在这块的技术储备要提前去进行布局,如果说确实团队在技术储备层面能力不够,那么就要尝试去参考一些更为成熟的解决方案。
Q 我们在采访爱乐游的时候,了解到腾讯游戏学院在测试这个环节帮助他们许多。那么从这点出发,我想问的是我们在对于合作伙伴的产品测试这个环节,重点会看的几个点是什么?
Jerry:事实上在测试这个环节我们所关注的核心场景是非常多的。
但就最关键的几个点来说,首先是性能方面的压测,其次是游戏在弱网环境下的体验以及过载保护。仅拿过载保护来说,按照腾讯的标准,在游戏的系统比较繁忙的时候,必须要给用户一些友好的提示,或者去设计一套登录排队的系统。而如果出现故障之后,同时也要有限制频繁登录的设定,以防止出现雪崩。当一个IP登录超过一定次数之后,我们可能就要对其进行限制登录。以上这些东西都要在测试的环节模拟真实场景去进行压力测试。这样做的目的是为了避免上线之后因用户突然增长而出现爆服现象。
其次针对于过载保护,我们还有一点要求是如果说合作伙伴的经验不足,那么可能还需要进行模块之间的过载保护。我们会要求其如果真的服务器出现了过载的情况,那么其内部的不同模块之间不能够有较强的相互影响。
Q 针对于《风暴岛》背后的研发商爱乐游的这一套标准,针对于一些中小团队开发者,这个标准是否会有一些变化?
Jerry:这个问题就如同我前面所说的,我们不会依据你是一个怎样的团队而去做调整。仅仅会针对于产品自身的特点去做一些适当的调整。
比如说一个产品是分区分服的产品,那么我们也许就会对产品单个分区内一个服务器之间的平行扩容要求放低一些。因为其游戏采用了分区分服的方式,所以完全可以通过加分区的方式来提高系统能量,因此我们就可以把针对于单个模块的平行扩容能力稍微放低一些。
但相对来讲有一些标准是绝对不能降低的,比如说刚才所述的登录的过载保护。不管是分区还是分服,还是全区全服。前端的帐号登录系统必须遵循严格的标准测试,如果因为研发商在这一层面的技术储备不够好就降低标准,那么当这个产品在实战中上线出现问题,对其造成的损失可能比想像更大。
关于腾讯游戏学院专家团
如果你的游戏也富有想法充满创意,如果你的团队现在也遇到了一些开发瓶颈,那么欢迎你来联系我们。腾讯游戏学院聚集了腾讯及行业内策划、美术、程序等领域的游戏专家,我们将为全世界的创意游戏团队提供专业的技术指导和游戏调优建议,解决团队在开发过程中遇到的一系列问题。
申请专家资源请前往:
https://gwb.tencent.com/cn/tutor
暂无关于此日志的评论。