Milestone 如何做到在新冠肺炎封锁期发布 MotoGP™20?

Blog
Author:
Dori ExtermanDori Exterman
Published On:
5月 14, 2020
Estimated reading time:
1 minute

想像一下,如果你是一个游戏工作室的负责人,新游戏开发已进入尾声。紧接着,百年来最可怕的传染病在全世界失控蔓延,而你所在国家的传染率位居世界最高。国家实行大封锁政策,所有人都被关在了家里。

在这种情况下,大部分人都会下意识觉得游戏的发布会推迟甚至取消。但故事的英雄人物,意大利的 Milestone 工作室,决定适应新的形势,继续工作,准时发布最新的热门游戏系列,MotoGP™20。

他们是如何做到的呢?为什么一个小小的工作室最后能战胜这样一个世界型危机,在团队员工都无法出门的情况下顺利完成任务?

我们有幸与 Milestone 的首席软件开发工程师 Gianluca Barbera 进行了一次长谈,他也向我们分享了团队克服艰难险阻的所有工作技巧和最佳实践经验。

以下是 Milestone 在新冠封锁期间发布了一个 AAA 游戏后,总结的 10 个有效建议。

专注流程

“按照常规的流程开展工作是成功的关键。” Gianluca 告诉我们。即使在危机期间,Milestone 也没有改变游戏的工作规划,只是简单地根据新的处境调整计划。最为关键的一步,是他们准备了一个远程办公指南,并要求所有的开发人员遵守。

来自公司各个部门的专家组成一个专项团队,负责制作这份工作指南。他们是整个公司唯一进入办公室的一群人,并在两天的高强度工作后,出色地完成了指南的制作。而出于社交距离的考虑,公司其他员工都全程在家工作。这个精英团队在短短两天内,头脑风暴了所有可能的在家办公的场景,详细列举了所有的工作流程,对一系列可能出现的问题逐个选定专门的联络人员。新的工作流程对症所有因为远程办公环境而产生的变化,努力保证工作不受影响。

一旦新的工作流程确定下来,就对所有员工进行培训说明,并确保大家都能遵守。“就算出现问题,也要严格遵守流程,尽管可能导致延误。出现问题时,不要试图走捷径,而是去找能帮你解决问题的人。”

尽可能避免邮件沟通

在团队沟通上,Milestone 没有使用反馈慢、误解多的邮件沟通,而是使用了微软的 Teams 软件,创建一些 10 人的“高效工作”小组,实时解决全公司范围内的问题。每个团队都有一个特定的工作范围,团队的核心——主持人负责引导讨论。当然,这个主持人也必须是团队负责领域中的专家。

充分利用现有资源

鉴于公司 60 多个程序员和 100 个开发人员都在使用 Unreal 和庞大的代码库(需要花费数小时进行构建和资源创建),Milestone 急需加速代码库和着色器的编译。作为 IncrediBuild 的客户,Milestone 把他们所有的办公资源都加入了 IncrediBuild 的基础框架中,每一台个人机器都变成了一台拥有数千个内核的超级计算机,可以充分利用网络中的所有闲置内存。使用 IncrediBuild 的结果是,耗时构建、着色器编译和其他进程的速度大幅提升。这也缩减了MotoGP™20 在 Windows 和 Linux 系统的开发时间,PC,Playstation,Switch, Xbox One, Stadia 等多个平台上不同版本的编译速度也有效提升。

working remotely?

高效使用 VPN

Milestone 的一些员工,尤其是艺术类员工,喜欢把他们的工作带回家,但经常会遇到一些常见的 VPN 问题,如响应时间太长。远程工作时,任何延迟都是一场噩梦。如果家庭网络连接不好,VPN 会变得更糟。

除了升级互联网基础设施和使用 Perforce 等工具外,Milestone 还实施了一个“网络流量”系统,以确保平滑的连接速度。首先,要求员工避免在高峰时段通过办公室 VPN 上传大的数据。相反,较大的数据被分割成适当的数据块,在午餐或晚上等“低流量”时间安排大型提交。为了确保这种方法能有效执行,Milestone 会持续监控网络流量,并及时提醒员工。

或不使用 VPN

在某些情况下,Milestone 用 FTP 取代了 VPN。不同的团队负责的项目不同,但有时需要共享构建。这时候 Milestone 没有采取上传公司网络的方式,让 VPN 超负荷运行,而是想到了利用 Steam 共享 PC 构建的方式,使用共享的 FTP。

除了 VPN 和 FTP 之外,还可以试试另一种出色的解决方案。

现在,大多数的 AAA 游戏都是多平台的,但市面上的一款游戏机有一个鲜为人知的特性,可以大大提升在家办公的效率。Milestone 的开发者另辟蹊径,利用 Google Stadia 流媒体游戏平台(该游戏也计划发布)快速观察整个开发过程中的变化。

让共享知识直达每一位员工

为了确保所有团队成员都遵循指导原则并了解最新的问题及解决方案,我们创建了一个专门的 Confluence,其中包含一个 FAQ 页面,详细介绍了最新解决的问题。例如,当工作人员在家远程使用游戏板时出现问题,或者他们修复了各种游戏错误,FAQ 都会及时说明。此外,每个构建的位置都是通过 Confluence(Steam、Stadia 等)报告的,这样其他人也可以轻松地访问。

自动化

我们都知道自动化可以节省时间和精力,对在家办公更是如此。Milestone 的开发人员将任务自动上传到不同的存储区。然后,他们将上传作为 Jenkins 构建过程的一部分进行集成,这样每个开发人员就可以选择是否要将构建自动上传到 Steam 或 FTP ,并在上传完成后接收电子邮件,以此减少手动工作,提高效率。

不要停止招聘

Milestone 没有像大部分公司一样停止招聘流程,而是决定在封锁期间继续远程招聘员工。新员工参与线上工作并加入上面提到的工作流程。

设定工作-生活界限,保持平衡

当我们在家办公时,生活和工作混淆在一起。卧室成了办公室,什么时候才能让工作结束,开启私人生活呢?为此,Milestone 为员工设定了一个明确的工作时间表,完美地规避了这个问题。当然,有时候需要加速推进工作,但这种情况比较少。

避免软件更新

一个无辜的小小 Windows 软件更新能有什么影响?可事实上,它可能会造成很多“损害”,尤其是办公室里没有人可以重启受影响的机器时。Milestone 团队努力避免任何不必要的软件升级或更改,保证工作环境稳定,不会受到任何危害。一旦需要更新,就必须保证有人能够在办公室应对意外状况。

在与 Gianluca 进行通话时,我们对 Milestone 的应变能力深感惊讶,他们能快速适应新环境,在这样一个艰难的时期成功制作并发布了一款高预算的游戏,这实属难得。我们也想向工作室成员表示衷心的感谢,感谢他们愿意与整个行业分享他们的知识和经验。相信他们的一些独创技巧和“开发黑客”也能让其他公司(不仅仅是游戏工作室)受益匪浅。所以如果你也有同样的感受,还请踊跃传播知识,积极分享这篇文章。

如想了解更多加速游戏开发的信息,请下载这份指南

Step up your game