欢迎光临散文网 会员登陆 & 注册

战舰世界|热补丁:测试与错误修正

2021-12-14 10:25 作者:崩坏狂想曲  | 我要投稿

所有的消息全都来自于官网。

内容太长,崩崩就不一一解读了,不过里面有样东西挺有意思:

所以你们懂了没有,本来还以为老八的炮声是WG单独做出来的,原来就特么的是一个BUG,而且为了这个BUG,玩家甚至愿意付费三万钢。

还记得之前直播的时候,有粉丝问我我的老八炮声为什么和别的船差不多,合着不是我出了BUG,而是我压根就没出BUG(当然也有可能是我配置比较低的原因)。

本篇专栏的主要内容是WG研发团队针对BUG的处理方式,有兴趣的可以读一读。

电玩玩家们都曾碰过程序错误。

自从游戏产业出现以来,这些类型的错误就一直困扰着玩家。 我们对其已经习以为常,并不那么友好地称之为「Bug」(错误)。 错误无处不在,《战舰世界》也不例外。 我们的产品包含数百万行不断更新的代码、大量的内容,以及玩家电脑和游戏服务器之间复杂的交互系统。 这些都衍生出大量的关联,其中可能发生错误。 今天,您将了解我们如何减少主服务器的错误数量,以及我们如何修正那些被忽略的错误。

什么是错误?

大多数游戏玩家可能都很熟悉错误一词。

错误指的是程序运作的实际结果与预期结果不同。

在游戏早期,我们把错误分为两大类:游戏内容中的错误和代码中的错误。 如今的错误类型更加多元。

如何进行测试?

品质保证(QA)团队负责找出和修正《战舰世界》中的错误。

《战舰世界》大多数开发团队都设有QA部门。 例如:

  • 内容:检查模型、声音、视效和其他内容。

  • 游戏逻辑:检查游戏机制是否正常运作。

  • 服务器核心:检查游戏服务器是否正常运作。

QA 的工作是了解特定事物在游戏中的实行方式。 为此,他们研究文件并与开发人员沟通。 之后,他们开发测试流程和计划,以检查程序是否按预期运作。

测试程序时会进行负面与正面测试:

  • 正面测试采用的场景,与程序的正常和预期行为一致。 例如,检查用户在输入正确密码后是否能进入游戏客户端。

  • 负面测试指的则是刻意进行错误的操作(异常场景)。 例如,检查在输入错误密码或不输入密码后,是否能登录游戏客户端。

若有必要,还将进行其他类型的检查:性能测试、用户亲和性测试等。

在《战舰世界》中,测试可以简化为数个主要阶段。

内部测试:

  • 在功能创建的所有阶段进行各种类型的功能测试,例如:

    • 构思

    • 设计

    • 开发

  • 整合测试,即检查游戏的所有个别部件在结合起来及并入主要游戏代码之后,是否能正常运作。

  • 在进行外部测试之前测试整合后的版本是否存在明显缺陷。

建置是游戏客户端的某个版本,可用于测试。

像《战舰世界》这样的大型计划,即便是最大规模的 QA 团队,也不可能完全追踪所有关联及结果。

因此,外部测试的展开会与内部测试的最终阶段同时进行:

  • 由小部分志愿者测试游戏的释出前建置(超级测试和公会测试)。

  • 开放给所有玩家的公开测试。

外部测试也让我们能在各种类型的软硬件配置上,测试游戏的运作。

《战舰世界》开发团队也参与外部测试。 我们在工作室中有个叫做红绿灯的机制。 所有团队在公测服务器上游玩后,会在这个特殊页面中提出反馈。 在此页面中,工作人员可以就每个新测试版本的内容给予反馈和进行评估,以在总结测试结果时纳入考量。

我们根据外部测试的结果,修正当前游戏建置最后一批找出的错误。 若无法修正错误,我们甚至可能会从来临版本更新中移除某些内容。

0.10.9 版本更新的非对称战斗便是一个例子。 公开测试阶段中发现了某个错误,该错误导致此模式无法正常运作,需要额外的时间来修正。 因此,我们从该版本更新中移除了这个模式。

错误的发生

为什么正式服务器会出现错误? 错误会出现有各种原因,且发生在不同的开发阶段。 常见错误包括代码错误和人为因素,较不明显的交互和错误则发生在为新版本建立设计文件的阶段。

错误也可能早在构想阶段就存在了,且仍会被视为错误。

例如,航空母舰航空中队在被攻击后会立即开启暂时不受伤害的机制,早先可以用来克服敌人的防空区,也可以归结为错误。 在航空母舰更新的设计阶段,我们未能预见这种特殊的使用机制,该错误后来获得修正。

为避免类似情况,我们尽量在讨论新构想的阶段就开始测试。

此外,由于游戏中存在各种相互关联和冲突,在独立情况下完美运作的游戏元素在与其他元素结合时可能会「故障」。

例如,在排名战更新的一次内部测试中,我们发现它导致公会战斗的运作出现错误 — 因为配对时间无限长,导致玩家无法开始战斗。 造成这种情况的起因关联并不明显,但还好被发现了,并未影响到正式服务器。

导致错误的另一个原因 — 这相当难以追踪 — 是玩家们电脑配置的巨大差异,再加上复杂的客户端与服务器架构,可能导致游戏代码在某些电脑上不能正常运作。

例如在某个版本更新中,由于日本的日期格式与欧洲或美国使用的格式不同,游戏代码无法处理这些信息,导致某些玩家的战后统计画面无法显示。

玩家认为是错误的有时可能不是错误,因为玩家看到的程序行为实际上是预期的结果。 在这类情况下,重要的是分析玩家的反馈,并在可能的情况下做出更动。 反之亦然 — 错误有时会成为游戏的一部分,我们可能因此刻意不进行修正。

例如,X Shikishima 的独特火炮声在可听范围的设置上曾出现错误(可在比预期更大的范围内听到),这个错误后来修正了。 但是,玩家们认为火炮声在修正后失去其特质,因此我们又把这个错误引入游戏。

错误也可以初步归因于数据中心或网络供应商的技术问题。 遗憾的是,在这种情况下我们无能为力,我们并不是每次都能帮到玩家,无论我们是否知道问题的根源。

希望玩家们能理解,我们不可能找出所有错误。 QA 团队的工作成果是新功能按预期运作,没有重大错误和缺陷,并且可在正式服务器上发布。

修正

为什么有些错误需要这么长的时间来修正? 修正错误所需的时间主要取决于其性质。 有些缺陷在错误分析阶段就需要投入大量时间。 要修正错误,我们必须准确将其再现,并了解这个错误发生的原因。

例如,最近有个错误导致舰艇转向时无法正确发射鱼雷。 这是个游戏逻辑错误,而对游戏逻辑做任何修改和修正总伴随着巨大风险,因为这绝对会影响所有玩家和游戏基础 — 游戏玩法。

因此,要修正这样的错误,我们必须准确分析玩家的投诉和各种报告,找到问题的原因,并制定和验证解决方案。 在特殊情况下,我们可能需要重写游戏代码来修正错误,或使用新技术进行优化。 这个过程被称为重构。 尽管从玩家的角度来看似乎没有什么变化,但这个过程需要相当长的时间。

此外,修正错误的时间取决于向玩家提供修正的方式。 例如:

  • 某些错误只需在游戏服务器端进行小修正就足够了,而且大多数玩家甚至不会注意到。

  • 如果错误也影响到玩家的客户端,或者有必要进行服务器维护来修正错误,情况就比较复杂。 在这种情况下,我们可以准备一个小修补并在服务器上花额外功夫。 在此期间,服务器将不对玩家开放。

  • 某些错误的修正,需要对代码进行大量修改和额外测试,所以只能在下一个主要游戏版本更新释出时才能发布修正。

关于如何释出修正和修正优先级的决定,取决于多项因素:

  • 错误的严重性:无法运作的随机战斗应尽快修正,但舰艇性能规格中的错字则不急。

  • 规模:有些错误会影响到所有玩家;有些错误则影响千分之一的玩家。

  • 风险和必要的修正测试:如上所述,草率修正游戏逻辑只会让事情变得更糟。

  • 服务器器维护所需时间以及更新大小:要修正错误,我们需要关闭服务器几个小时,而玩家需要下载相当大的修补。 在这种情况下,有必要再三考虑是否需要立即修复错误,因为许多玩家将在很长一段时间内无法进入游戏。

遗憾的是,虽然我们渴望修正所有可能的错误,但《战舰世界》团队的资源有限,因此我们专注于修正最关键和最常遇到的错误。

如何举报错误

您可以通过以下资源向我们举报错误:

  • 玩家服务

  • 游戏论坛

  • 《战舰世界》官方 Discord 服务器

为帮助我们更快、更有效地修正错误,请您在报告中注明以下内容:

  • 关于错误的描述。

  • 截图、视频、回放,或任何有关该错误的视觉确认。 若您附上了战斗回放,请务必注明错误发生的时间。

  • WGCheck 文件。 关于此文件的详细信息请参阅这篇文章。

在今天的文章中,我们尽力以最简单的方式,与您分享我们在与错误奋战中的隐形战线。 我们要感谢您提出错误举报、回馈、参与我们的测试以及游玩《战舰世界》! 如果没有您的贡献,我们将无法迅速发现并修正游戏中出现的各种错误。

最后贴个亚服的招募链接:https://wows.asia/puabb,任何刚建号的萌新(尚未战斗超过十五局)以及长时间(90天以上)没有登陆游戏的老玩家都可以进行招募成为战友。如果您已和我招募成功,请私信ID。

被招募者系统会赠送高账,达到一定等级后系统还会额外赠送金币船。

注意!招募者可以获得被招募者氪金百分之十的返金,如果介意,多多抱歉!


直播间链接:http://live.bilibili.com/2972092

任何有关wws的游戏问题都可以给我留言,一定尽量给大家作出解答。

欢迎加入战舰世界吹水聊天群(群名:今天也要吃的香啊)——140709111

里面的人都超会说话哒~


公益计划——军团信息栏

还没有加入军团的大大们可以瞅一瞅哈~



战舰世界|热补丁:测试与错误修正的评论 (共 条)

分享到微博请遵守国家法律