用Helix Core取代Subversion,助力Warhorse Studios实现敏捷工作

        作为Perforce的企业级的版本控制引擎,HelixCore协助Warhorse Studios,使得其复杂的游戏开发环境得到了进一步的提升。基于Warhorse期望引领玩家深度体验中世纪的欧洲的想法,Helix Core加强了对大型二进制文件的支持,并提供给Warhorse持续集成(CI)的环境。

        尽管Warhorse Studios这家公司本身是游戏行业里的新人,但其创始人和员工却已是行业里的个中翘楚。总部坐落于布拉格,这个百人团队的成员参与了“黑手党1”,“黑手党2”,“闪点行动:龙之崛起”,“闪点行动:抵抗力量”等等的设计和开发。最近,该工作室正准备在2018年2月发布其首个游戏:天国:拯救。

        Warhorse Studios开发的这款游戏是自己从未尝试过的类型,第一人称RPG,亦可昵称为“没有龙的地下城”。随后,在Kickstarter活动成功举办后,Warhorse从支持者那里募集到了超过100万英镑的资金。 Warhorse Studio更将与游戏发行上的合作伙伴Deep Silver一起发布该游戏的PlayStation 4,Xbox One和PC版本。

选用HelixCore的原因

“游戏开发与其他的工程项目不同:你无法要求其按照房屋装修或景观美化的精度来进行项目的规划。”

----Warhorse Studios执行监制Martin Klíma

开发环境一览

公司名称: Warhorse Studios
总部位置: 捷克共和国,布拉格
行业: 游戏制作开发
何时开始使用Perforce: 2004年
Helix用户数: 75
游戏开发地: 1个
文件数: 两百万(3 TB)
操作平台: Windows

游戏开发的诸多挑战

二进制文件的储存

        在Perforce之前,工作室使用过Subversion来储存二进制文件,也用过Mercurial来保存代码。但随着Warhorse Studios的公司规模的增加,相关系统的性能与其所支持的范围逐渐不能满足需求。像许多游戏工作室一样,他们需要简化二进制文件的管理,并看到了将所有数字资产整合到一个平台上的好处,这些资产包括从他们的持续集成和自动构建过程中生成的结果性工件。

        Helix Core能够管理大型文件,并可以让用户通过启用CI / CD实现他们对敏捷开发的期盼。如此,可以说Perforce是Warhorse Studios的不二之选。 

敏捷游戏开发

        “游戏开发与其他的工程项目不同:你无法要求其按照房屋装修或景观美化的精度来进行项目的规划。”Warhorse Studios执行监制Martin Klíma如是说。其亦是敏捷工作流程和CD的长期倡导者。

        “当你编写新软件时,你正在编写一些之前没有做过的东西; 你可能认为某些事情需要两个月,但也可能需要三到四个月。这点到了敏捷开发的核心原则:接受改变并适应它。” 

        根据Klíma的说法,游戏开发环境中的敏捷开发与开发应用程序的方式有很大不同。相较于某些情况,比如你与客户沟通,然后获取并梳理他们的需求,其后基于这些反馈来开发新功能,最后在短时间内发布新功能。在这种情况下,敏捷开发对Warhorse Studios的好处是利用所有团队已有的设计,更有效地完成软件的编写。该方法的最大问题是相关进度较难查询,以及团队在长时间的软件构思过程中是否方便查看工作代码。

解决之道

第一重:二进制文件的储存

        由于Warhorse Studios在Subversion中管理他们的大型二进制文件时极其不便,故其目前需要找到一个更好的版本控制的系统。而Helix Core可以让每个用户摆脱Subversion中臃肿的“原始副本”(占用两倍的磁盘空间)的困扰:其文件锁定功能进一步简化了大型二进制文件的设计迭代,使得各个团队成员在项目上所花的时间,精力以及相应的挫折感大大减少。

第二重:游戏设计及编辑工具的集成

        随着Helix Core的实施不断的开展,Warhorse Studios逐渐感受到了CI的好处。今时今日,Helix Core将自动构建功能部署到了工作室的9个TeamCity构建服务器中。在保护构建服务器中所有工件的同时,该方式使项目进一步地平稳运行。该团队通过Helix API (Python & P4Python)来管理各种自动化任务,其中许多与专用程序(用以调用游戏构建过程中所需的各种基本图形)相关。

加分项:灾难恢复

        Helix Core和P4Python的成功部署及应用使得Warhorse Studios能够为其开发环境提供完备的灾难恢复预案。开发人员和设计人员每天可同步提交工作,以便于版本控制的管理。其次,主服务器的数据会实时镜像到本地的副本服务器。另外,Warhorse Studios亦可创建自动化程序,在每晚的指定时间点,将当天新生成的和变更过的文件加上所有必要的元数据复制到AWS云中进行备份。

总结

        随着游戏中音频和视频质量的提高,文件大小和游戏的复杂性也在不断增加。该团队正计划摆脱游戏开发中传统CD方法的限制,具体是通过专业和创新的方式搭建其CI的流程,用以避免其功能无限制地延伸,从而规划好优先级,最终加快软件的交付时间。现如今,Warhorse Studios已经找到了一个可伴随其成长的版本控制解决方案,接下来他们就可以专注于使用未来的技术来讲述过去的故事。