EthanWu 发表于 2014-7-19 10:50:09

补丁12.5 进度报告

本帖最后由 EthanWu 于 2014-7-19 10:54 编辑

以下内容由猫鼬汉化组BananaBus和EthanWu完成


公民们好!
在上一周,我们在官网上发布了一则关于发现与解决补丁12.4里面的多人连接延迟和“橡皮筋”效应的声明。玩家应该已经知道我们在发布12.4的时候将可参加多人游戏的玩家数量增加了8呗。这么做的目的是在于通过增加人数来使游戏客户端,游戏服务器,还有一些幕后的基础设施能暴露出之前玩家少的情况下发现不了的问题。在这一刻,我们已经在这三个地方的修复问题的进度表上迈出了很大的步子,但是很不幸我们觉得12.5补丁还不够成熟---因此今天不发布12.5补丁。这样的测试过程就是为啥我们选择了开放式开发模板。在游戏早期阶段就能通过玩家参与的测试来及早发现问题将会在很大程度上改进未来游戏里的玩家体验,并因为在开发早期已经消灭了问题,以后的开发效率将会得到提高。



补丁12.5将会把Jukebox(自动唱机),如图所示,带给所有我们的订阅玩家的机库里,让他们能播放自己喜欢的音乐。订阅玩家的自动唱机已经可以在账户里看见,但是在12.5补丁正式发布之前,玩家是不可能在机库里看到它们的。另外,在这一周的“Around the Verse”里,我们提到了一个神秘的Vanduul威胁势力在摧毁着UEE的飞船。补丁12.5包含了这个威胁势力,欢迎所有的公民去打打猎!

在没有补丁发布的今天,我们打算向玩家汇报下我们最近又干了什么和我们寻找问题的途径。幕后的质检团队还在调查玩家在公共服务器上遇到的延迟。我们知道多人游戏里遇到延迟是很蛋疼的事情,质检团队也在全力以赴地缩小导致问题的范围和尝试在他们手里重现玩家遇到的延迟问题,这样他们旁边的工程师才能去解决他们。

在狗斗多人模式里,每一个玩家的客户端一直在通过星际公民的服务器来接收其他远程玩家客户端们传送过来的数据。至于飞船的动作,你的IFCS(智能飞行控制系统)系统也是通过从其他玩家客户端接收来的数据来模拟本地玩家能看到的物理效果。紧接着,你的客户端也在向服务器汇报这边本地对每一个玩家飞船的位置和移动方向数据。服务器的工作就是负责对比自己对每个玩家的计算的结果和连接上来的远程客户端汇报上来的结果。如果出现了误差,服务器会让你的客户端知道其对于其他玩家飞船的计算的误差程度并强行将自己认为正确的物理计算结果送给你的IFCS系统来让远程客户端里的飞船在你的眼里飞得更加符合实际情况。如果这个误差对于IFCS来说已经无法微妙地做出前面说到的补偿,你将会看到其他玩家出现瞬移并且物理模拟计算重新开始。在调查这个问题的过程里,整个解决的过程就是发现到底是什么在导致你的客户端在模拟其他玩家飞船的过程中因为客户端和服务器数据差距过大导致一部分玩家开始瞬移。

一开始,我们调查了游戏服务器,做了一些关于负载平衡的调整和减少一台硬件服务器里运行的服务器数量---从8个减少到了2个。这样做确实大幅度减少了每一台硬件服务器间的网络交通可能带来的堵塞并降低了CPU反查数量,但依然没有解决玩家遇到的延迟问题。不过,这样做确实增强了稳定性并将服务器CPU帧起伏大小降到最低,整体上是会为每一个玩家增强服务器端的性能了。

然后我们将逐渐转向客户端这块,并打造出一个禁武器禁瞬间加速的”安全区”,同时逐渐增加玩家数量。注意这个模块将不会带出任何延迟问题,而我们则会加快向比赛加入船只变体的进度。
单单的武器乱射(即不打中对方)是不会造成任何延迟问题的,但一旦两船甚至多船交火,延迟将会迅速攀升以致让玩家瞬移。我们曾经模拟过这种现象,但修复仍然需要找到针对性的原因,所以我们尝试收紧问题出现的范围。

在与编程团队交谈的过程中,他们推测由开火以及护盾吸收攻击造成的能量断层还会遭成推进器能量的供应不足。这其实是有根据的,在延迟以及电脑处理器出现流峰值的时候,从远端服务器传回到你电脑物理引擎里的推进器能量分配数据可能没有得到正确分配。而这则会造成玩家与玩家之间的信息无法同步,从而在是用极限推进时引发瞬移。随后团队问答模式中装备了一种特别针对推进器能量控制进行加固的游戏版本,这样才能从根源解决问题。
一旦我们消除了所有推进器的能量波动并允许其释放最大动力,我们还是可能会看到瞬移问题的出现,虽然频率大大减小。这项测试也暴露了一个问题,即护盾在达到极限时的能量吸收并成功为我们解决了一些额外的能量平衡问题以及代码加固。

我们的网络团队调查了数据包大小以及带宽问题。他们的努力也在很大程度上优化了玩家体验,彻底缩小了数据包体积以致到整个网络通讯速度,但即便如此,问题还是没能被完全解决。

与此同时,我们开发了一些额外的对服务器登陆以及存储数据上的小改变。首先我们发现那些无关紧要的小错误堵塞了整个服务器的登陆造成模拟器的不相符。我们已经做出了相应调整来消除堵塞,并会在将来吧登陆功能完全从主数据流中移除来减少问题的发生。再次声明,这些举措优化了游戏但并未完却消除问题。不可否认,这对于优化服务器整体稳定性和性能作出了不小贡献。

我们会在今晚研发一项改变同步物理计算的程序。这些改变将会大大减少服务器,玩家主机和远程物理客户端的数据差异并为我们提供更加便捷的工具进行纠错。
现在,在我正在写这段东西的时候,我们又发现了一项潜在问题:而这个问题增大了拖累多人游戏数据同步的几率并和与客户端的错误连接有关。我们将在这个周末就这个问题进行调查。

好消息是即便我们没有完全解决问题,我们仍然成功优化了游戏。12.5的工作不仅仅是为了解决这一个问题,而还将完全提升狗斗的体验。我们还直接进行了12.5的多项其它修复工作以及玩家的问题反馈。列表如下:

加入一个游戏:现在在加入一个服务器的时候,会有一个峰值的数据流需要传输,而这会直接导致延迟和瞬移。我们的网络工程师一直在致力于压缩这些数据来减小40%的数据包体积。你们可以在数据图中看到现在的带宽使用率。

加入全部服务器的尝试:服务器现在在现实最大玩家数量已经达到的提示时有些小延迟。这说明了就算一些服务器已经满员,而一些玩家仍可以尝试加入,虽然只有一个能进,而剩下的则会被踢回机库。而在玩家离开加入的时候,整个服务器又处于满负荷状态,因此这个问题可能会在整个游戏过程中反复出现,并伴随着玩家带宽问题造成更大的延迟。我们的网络工程师正致力于修复此项问题。

EthanWu 发表于 2014-7-19 10:51:23

被踢回机库:我们暂时放入的VOIP系统在玩家意外离线的情况下却不会断开连接,结果导致大部分“玩家被直接踢回机库”这个问题。修复这个问题的解决方案已经诞生。

谢谢每一位参与了开发和测试过程的玩家,你的参与帮助我们发现并统计出游戏里的这样那样的问题,没有玩家的参与我们不可能做得到。我们会尽所能的修复多人延迟问题并在可行的情况下让更多玩家能参与到多人里来。你也能看见,从游戏客户端到服务器端到背后的基础设施端来改进多人游戏是需要极其大量的工作的,但我们觉得当12.5补丁真正准备好的时候将会大幅度加强狗斗多人游戏体验!
页: [1]
查看完整版本: 补丁12.5 进度报告