图像由ACE Team提供

了解独立工作室如何克服技术挑战

Sebastian Hernandez
游戏开发总是会带来独特的技术挑战。实现前所未有的交互体验往往意味着构建新的工具和功能,它们不仅要挑战虚幻引擎在实时领域的极限,往往还要考虑硬件的严格约束。对独立工作室而言,这类挑战尤其严重,因为他们不仅要找到解决方案,还必须面对预算较少、团队规模较小的现实。

为了帮助他们在独立开发者周2021中将自己的心得传授给我们的社区,我们请多家欧洲和拉丁美洲开发商介绍了他们在其最新作品中解决独特技术挑战的经验。

ACE Team

ACE Team的创立者是三兄弟:Andrés Bordeu、Carlos Bordeu和Edmundo Bordeu。他们生活在智利的圣地亚哥,过去10年里已经发展成拉美最著名的游戏工作室之一。ACE Team凭借独特的作品享誉世界,已经在全球获得多个业界奖项。它的游戏包括《Rock of Ages》系列、《致命怪兽塔(The Deadly Tower of Monsters)》等。
 

Carlos和Andrés介绍了《永恒之筒(Eternal Cylinder)》背后的一些技术创新,这是他们即将推出的开放世界生存游戏,其中有个独特的设计:玩家必须不断移动,以逃避游戏名称中所提到的碾压一切挡路者的巨大滚筒。

为了实现他们的设想,团队必须设法构建出一个程序性生成的、无边无际的开放世界场景,它要让玩家感到每次游戏时都有不同的特色。他们还必须在场景中填充大量的可破坏物,让滚筒来碾压。

为了解决第一个问题,他们把游戏场景分解成较小的模块,随着玩家和滚筒的前进而加载和卸载。他们基于UE4的场景原点变动功能构建了一个独特的系统,可以按任意的位置偏移来使通常固定的Actor移位,同时又保留其行为。

他们面临的第二个难题是,在帧率预算限制内为遭到滚筒碾压的物体提供足够多样化的破坏方式。

Andrés告诉我们,这要求每一种物体都有不同的破坏方式;岩石应该分崩离析、化为齑粉,而树木和其他有机元素应该先弯曲倒下,然后被压扁。对于前一种情况,他们使用APEX Destruction系统(当时Chaos尚未推出)和从外部动画软件导入的烘焙粉碎动画,进行了综合的动态模拟。

为了提高模拟性能,他们需要找到一种高效压缩逐顶点模拟数据的方法。最终他们的办法是将动画数据编码成一个大纹理,然后从3DS Max直接导出。这在运行时能提供足够快的速度,但是要付出内存使用量增加的代价。

对于树木和类似物体,他们采用了骨架网格体方法,使碾压动画的播放速度与滚筒的移动速度同步,并混合多达四个方向的动画来得到最终结果。由于采用了这些技术,《永恒之筒》对CPU的要求比对GPU更高,这在当代游戏中有些罕见。

有关《永恒之筒》的更多信息,请访问游戏的官网。你也可以在TwitterFacebookYouTubeInstagram上关注ACE Team。
 

Critical Failure Studio

Critical Failure Studio是智利的一个团队,目前正在开发2D平台跳跃游戏《迷失森林(Lost Forest)》。玩家必须运用他们的智慧和超能力来躲避黑暗生物,找回因古代诅咒而失去的记忆。这款游戏采用了新艺术派的画风,以高清插图、水彩配色和精细的动画实现了游戏中的世界。
 

由于游戏精细的2D美术风格,开发者们构建了自定义插件PaperZD,将虚幻的许多3D动画工具和工作流程改用于基于2D Sprite的动画。PaperZD目前已通过虚幻商城开放下载,已被包括《The Siege and the Sandfox》《Backbone》在内的多款游戏采用。
图像由Critical Failure Studio提供
此外,他们还发现了多个Sprite渲染优化问题,这给性能较低的平台(尤其是移动设备)的移植工作又增加了难度。他们的解决办法已经最终并入虚幻引擎4.25中的主引擎代码,在某些场景中可使Sprite渲染速度提高到原来的10倍。
Image5 News IndiesTechnicalSolutions
Image4 News IndiesTechnicalSolutions
Critical Failure Studio还另外构建了一个基于节点的寻路系统CFNav,能为2D平台跳跃游戏乃至飞行游戏提供AI导航。
Image9 News IndiesTechnicalSolutions
最后,他们还用自定义行动节点扩展了行为树功能,从而制作出更复杂的AI行为,能够考虑已经执行过的行动,避免重复或易被利用的行为模式。
Image11 News IndiesTechnicalSolutions
Image12 News IndiesTechnicalSolutions
Image7 News IndiesTechnicalSolutions
Critical Failure Studios下功夫构建出这些自定义插件,不仅使他们的小团队也能用极少数资源打造出完善的游戏,还将这些工具通过虚幻引擎商城提供给其他开发者,创造出一条全新的收入流。
 

KeokeN Interactive


KeokeN Interactive是荷兰一家年轻的游戏开发工作室,由Koen Deetman和Paul Deetman兄弟俩创立。为了在其科幻作品《飞向月球(Deliver Us The Moon)》中做出紧张刺激、令人满意的太空行走动画(见下面的GIF),团队的专业技术能力经受了考验,他们依靠引擎的现有功能,在确保流畅运行的同时保证了画面的临场感。
图像由KeokeN Interactive提供
关卡设计师Kevin van Schajik和首席程序员Remco Dazelaar解释了他们的做法:通过逐一启动简单且层层相叠的功能和张力元素,他们成功实现了迄今为止最具野心也对技术要求最高的镜头之一,即将玩家从相对安全的Pearson空间站甩到寒冷黑暗的太空中。 

他们首先确定了玩家从太空站弹射出去的飞行轨迹,并使用样条微调其路线。完成映射后,美术师可以添加碎片和其他元素,并通过物理力驱动它们,并毫不费力地确保它们的飞行轨迹与玩家一致。
图像由KeokeN Interactive提供
摄像机在表现玩家将体会的混乱与恐怖感时发挥了重要作用,但是镜头的高速旋转也意味着关卡中的大块物体将会频繁移入和移出画面,导致性能骤降。为了解决这个问题,他们在序列中依靠关卡流送功能无缝卸载不必要的复杂元素,将其替换为性能负担较轻的元素。
 
轨迹样条在叙事方面也大有用处,它可以提供方便的玩家进度百分比衡量,进而用于动态驱动体验中的其他元素(例如音乐的节奏),从而使玩家产生回到安全区域的紧迫感。通过根据玩家进度和氧气水平混合多条平行的音轨,团队成功地使玩家不分水平高低都能体会到命悬一线的感觉。
图像由KeokeN Interactive提供

资源 

在我们的官方文档TwitchYouTube频道中,也有许多技术资源可以帮助你开发游戏。 

你也可以访问我们技术高超且特别热心的社区运营的Discord频道:
如果你想获得更多实用帮助,请务必联系我们不断壮大的全球推广专员团队,他们将会竭诚为你服务。现在就寻找离你最近的推广专员

    立即获取虚幻引擎!

    获取全球最开放、最先进的创作工具。 
    虚幻引擎包罗万象,并提供完整的源代码访问权限,开箱即用,诚意十足。