如何完成游戏移植任务?成功经验分享

Blog
Author:
Guy GolanGuy Golan
Published On:
9月 9, 2021
Estimated reading time:
1 minute

游戏移植,堪称一门不可或缺的游戏开发艺术。这也难怪,不少工作室已经开始针对游戏移植提供特定服务。在移植游戏时,需要考虑的因素繁杂,例如使用开发工具包、认证要求、将代码转换为不同的编程语言、性能和内存管理、控件更改等等。所有这些麻烦事儿都值得重视。看看最新消息,关于索尼收购 Nixxes Software,而 Nixxes Software 的专长正是移植游戏并进行优化。游戏平台移植的重要性如此可见一斑,索尼也定是意识到了,才会去收购 Nixxes Software

为了进一步探索游戏移植,我们邀请了两位行业专家,Game-Ace 的首席技术官 Denis Potapenko  Pingle Studio 的首席技术官 Oleg Fedorenko,为我们分享一些游戏移植的技巧和窍门。这两个工作室都专注于游戏移植,对他们来说,这些小诀窍是日常所需,因此为大家分享也是轻而易举的事。

Game-Ace

Tips_on_game_porting_800x533.jpg November 21, 2021 114 KB

Game-Ace 是一家游戏开发工作室,除其他游戏开发服务外,还提供游戏移植服务,能够将移动、桌面、VR、AR、HoloLens、浏览器和其他类型的游戏移植到移动端、桌面、VR、MR或网页平台。其中,首席技术官 Denis Potapenko 的贡献突出。他撰写的书中,首先强调了为未来更新创建可持续代码的重要性:“将游戏在不同语言、引擎、框架上移植,难度很高,且耗时长,因此你肯定不想重复这一过程。然而,当你必须对移植的游戏进行更新、升级、重启时,你应该尽量减轻团队的负担。在最初的移植过程中,选择将定制引擎升级到流行的引擎,如 Unity Unreal,这也有助于将来提升开发速度。”

Potapenko 强调的另一个问题是游戏控件的现代化,这是游戏移植领域的热门话题:“通常情况下,游戏控件在不同平台之间的转换效果并不好,特别是如果以前的平台是过时的游戏机的话。我们可以借助添加旧的按键组合之类的方式,创建一种怀旧感,唤起玩家对传统游戏平台的最初印象和感觉。但有时我们需要使用其他方式去保留游戏的功能,我们只需调整控件,改变游戏中行动的过程,但保留最终的目的地。”

那么游戏的性能呢?Potapenko 建议要特别注意性能:“满足玩家对移植游戏的期望,意味着在性能和优化方面投入大量的精力。玩家期望新发布版本的质量和性能至少不能比原版差,甚至还希望能有所改进。将游戏升级到新平台已经是一项巨大的成就,但质量的下降,最终将带来灾难性的结果,因此我们建议花一定的时间对版本进行优化。”

坦白说,当游戏移植管理不善,或执行不当时,游戏移植可能是一个非常痛苦的过程,也是一个非常昂贵和漫长的过程。Potapenko 鼓励工作室寻求帮助:“世界上那些最大型的工作室(微软、暴雪等),毋庸置疑,他们已将游戏移植委托给其他工作室,那你为什么不能依样画葫芦?如果你没有时间、人员或专业知识来完成移植,那么,外部供应商的帮助是一个普遍的解决方案,我们不应该为此感到羞愧。”

游戏移植的外部供应商,有什么优势?

你以前可能问过自己这个问题?为什么选择电子游戏移植服务供应商?游戏移植需要相当多的专业知识,同时要求开发者深度了解各个平台的细节差异,现有的工作人员可能无法满足需求。将移植任务外包有其意义所在,因为胡乱进行内部安排,其结果将导致最终需要花大量金钱、精力去处理错误。说到成本,这是考虑外包游戏移植的另一个原因。花钱雇佣外包开发者的成本可能比使用内部成员的成本更低,因此反过来能更节省移植费用。

Pingle Studio

Pingle-Studio-logo.jpg

Pingle Studio 是一家面向开发者和发行商的游戏开发供应商,提供游戏开发服务,其中包括移植服务。他们在将游戏移植到 PC、PS4/5、Xbox One/Series S/X、Nintendo Switch、VR,以及将手机游戏移植到 Android iOS、将游戏移植到另一个引擎,或将游戏移植到 Mac Apple Arcade 等方面拥有丰富的经验。他们可以处理从性能检查,到数据分发的一切工作。

他们的首席技术官 Oleg Fedorenko 分析了游戏移植的一些常见挑战,以及相应的解决方法。第一个挑战,可能是你已经遇到或将来必然会遇到的问题——确保你可以使用开发工具包:“开发工具包是指一套可安装的软件包,包含开发单机游戏所需的所有软件和硬件。如果没有功能齐全的开发工具,你将无法发布游戏。游戏公司通常从游戏机供应商那里购买其开发工具,或从发布商处获取开发工具的访问权限。如果你正在进行第一次移植,或更改游戏机命令,第二个选择简单且方便。但如果你打算开发更多游戏机平台,或使用更多游戏机命令,你可以自己购买开发工具。如果你打算使用开发工具的物理副本,要提前考虑到交付的时间。我们建议,每个运行的游戏机至少使用两个开发工具包。如果你只有一个工具包,而且不小心出现故障,你可能会花费大量不必要的时间维修,处理相应地游戏机保修服务。”

另一个主要挑战是,移植游戏所涉及的大量优化,如内存管理和 GPU/CPU 优化,正如 Fedorenko 所描述的:“优化是任何游戏版本成功的关键。特别是如果我们移植到较早一代的游戏机,如 PlayStation 4 Xbox One,或移动和便携式设备,如 Nintendo Switch。这些游戏机的硬件至少有 7 年以上的历史,因此将游戏移植到现在的 PS4,与移植到现代移动设备非常相似。游戏移植中中一个最大的问题是内存管理的优化。游戏的大小、结构、开发方式,所有这些因素都会影响内存使用。在游戏中,所有命令与设备视频内存共享。游戏的分辨率越高,运行游戏需要的视频内存就越多,这意味着应用程序剩下的内存更少。GPU 和 CPU 优化也非常重要,其复杂性取决于你的游戏类型、瓶颈等等许多其他因素。”

还有一个需要记住的是认证问题:“这一点更多的是关于移植到游戏机中。每个主机都有一系列关于游戏如何与用户和资源交互的要求。如果你开始开发游戏或移植游戏,请确保仔细查看所有平台的认证要求,并严格遵守。这将有助于避免后续返工。我们建议安排一个单独的 QA 团队专门负责获取认证。同时,在开发阶段早期,就尽可能地开始遵循认证要求。”

如何考虑构建时间的问题?

众所周知,游戏移植需要时间。Starloop 工作室在他们的博客《如何在 Android和其他平台上移植视频游戏?》中预测,游戏移植需要“花费长达6个月的时间”,“如果项目更复杂,比如 AAA 游戏,移植可能需要更长的时间。”

因此,移植一款游戏需要相当长的时间,游戏发行商和开发者,以及提供移植服务的工作室,都在不断地寻找缩短移植时间的方法。其中一种方法是减少移植过程中涉及的大量构建时间,因为重点是转换现有代码,并测试其质量。这就是 Incredibuild 发挥功效的地方,它能大大减少了跨平台移植、构建时间。大家可以了解一下 Red Kite的故事,在移植到 Google Stadia 时,他们借助 Incredibuild 将构建时间减少了 73%。关于 Stadia 和游戏移植,另一件事值得注意的是 Stadia 移植工具包的最新消息,“该工具包用于帮助开发者更轻松地将游戏从Windows 移植到云端。”

Game_dev_Whitepaperdownload