Jurassic World Evolution 2

Frontier Developments 由大卫•布拉本 (David Braben) 于 1994 年创立,目前已发展成为业界领先的独立电子游戏开发商和发行商。公司开发过大量品质一流的模拟经营类游戏,包括 2003 年最先跟发行商合作发行的《Roller Coaster Tycoon 3》,以及后来自行发行的《Planet Coaster》和《Jurassic World Evolution》等游戏。这些游戏有一个共同的特点,就是注重玩家潜力和沙盒元素。
在《Jurassic World Evolution》系列游戏中,玩家可以设计并建造自己的恐龙主题公园,并体验由演员 Jeff Goldblum 和 Bryce Dallas Howard 提供的全程配音。续作的目标是打造场面更宏大、叙事更细腻、氛围更真切、声音更丰富的恐龙世界。与系列电影中恐龙在地球上自由徜徉的景象呼应,游戏的主题由管理恐龙公园转变为了管理自然保护区。对此,我们希望实现以下关键目标:
在《Jurassic World Evolution》的基础上进一步优化
在电子游戏中为恐龙添加更丰富的声音
构建能对玩家动作做出动态响应的声景
真实再现《Jurassic World》作品中的声音
在本文中,我们将介绍自己如何使用 Wwise 达成关键目标,并为《Jurassic World Evolution 2》注入新的元素。为此,我们使用了 Wwise 2019.2.8。

Footplant 系统
在构建 Wwise 工程时,共用声音和独有声音在层级结构中的位置经常会发生冲突。其中,《Jurassic World Evolution》里的脚步声 (footplant) 就是个很好的例子。每个恐龙家族(Ornithopod、Theropod、Sauropod 等)都有独有的撞击声 (impact) 以及共用的表面 (surface) 调和音 (sweetener)。为此,我们在 Actor-Mixer Hierarchy 下的多个结构中重复使用了 Random Container。如果想减少表面调和音,要转到 17 个不同的地方。藉此,我们可以自由地进行搭配,但这也使得高效混音变得不可能。
对于《Jurassic World Evolution 2》,我们希望将所有内容放在一个 Work Unit 中,以便于维护并尽量减少人为错误,同时保有充分的灵活性。比如,根据恐龙的大小/家族和其他游戏数据搭配共用调和音。

最终,我们选择了构建一个 Blend Container,并将 "impact" 和 "surface" Switch 放在其中。在触发 "Footplant" Event 时,我们会使用其来 Set Switch 到正确的家族 (OrnithopodHadrosaur),并设置一个 Game Parameter 来确定迈出的是前腿还是后腿(此参数可驱动上图中高亮显示的 Switch)。如果需要混音,还可使用 Event 来 Set Pitch 和 Set Volume。

在本例中,会播放 "Footplant" Blend Container。其中,来自音频代码的 Switch 将决定地面类型。这款游戏中有各种各样的恐龙:最小的跟小鸡一样,最大的比大象都大。因此,我们需要对表面调和音进行大量的处理。为此,我们在拟音坑中录制了各种表面的长录音,并对录音中的长调和音进行了编辑。

借助 Wwise 中的 Envelope 功能,我们可以根据上下文将较短的包络应用于调和音。比如,在恐龙停歇或走动时,我们会减慢起音和释音;在恐龙奔跑时,会加快起音并减慢释音,来形成对比并缩短整体长度。

我们将停歇、行走和奔跑数据合并为了一个 RTPC 来发送。同时,利用 Set Pitch 针对较大和较小的生物调高或调低调和音的音高,以与共用的撞击声协调一致,并适当搭配来将各种音频融为一体。
脚步声对恐龙音频至关重要:其可传达生物的大小、体重、速度和步态以及脚下的地面。它们与呼吸声一起构成了大部分的恐龙声景。为此,我们将脚步撞击声和表面调和音放在了层级结构下的同一位置。藉此,可轻松地进行调整和搭配,为恐龙添加更丰富的声音。
清晰的总线结构
游戏中的总线结构可能会变得非常复杂。为此,我们在《Jurassic World Evolution 2》中做了简化以使其更加清晰。

上图为 df (distance filtered) 总线 – 大多数 3D 定位声音都在这里。对此,我们主要使用了 Master-Mixer Hierarchy 来借助 State 和 RTPC 进行动态混音,并根据需要设置混响/效果发送。总线名称非常简短,所有关键信息都在左侧。这样的话总线名称就很清晰,Wwise 混音器视图 (F8) 更好用。

括号中的文本表明会将总线发送到效果器总线或有一些重要的状态混合。在调试或混音时,要记住以下几点:所有发送到 cre_Flying 的声音都将在水下闪避 (duw),df_Moving 会受 "Camera Focus" RTPC (cam) 影响。所以,当三角龙处在摄像机后方时,其咆哮声会偏小一些。
最后,来说说 Voice Monitor 调试当中的颜色编码。这个功能非常实用。藉此,可清楚了解素材的生命周期并查看 RTPC/State 产生的影响。

根据图中的颜色,可以快速辨明正在查看结构的哪个部分。黄色代表 2D 环境声,主要为连续循环。绿色代表 3D 定位的环境声。深浅紫色代表恐龙声音。

独有的声音以深浅紫色表示,这样方便快速辨识恐龙声音。对于这些独有声音,我们经常会遇到音量问题。因为其通常只用在极少数动画中,所以混音问题很容易被忽略;能够从大量其他混音良好的共用素材中挑出特定的问题素材可以带来很大便利。
飞行爬行动物
《Jurassic World Evolution 2》的一大特点是加入了飞行爬行动物。对此,我们的技术设计基于以下若干限制/假设。
爬行动物要么在内部放出,要么通过直升机/无人机运入。
在自由移动的摄像机位于鸟笼之外时,应当听不到里面爬行动物发出的声音。
在摄像机位于鸟笼之内时,应当听不到外面世界的声音。
在爬行动物感到不自在而要逃跑时,应当可以从外面听到其躁动的声音。
爬行动物去到外面的唯一方法就是逃跑。
鸟笼是个与外界隔绝的封闭系统,由类似玻璃的固体材料建造而成。在技术设计层面,我们将鸟笼视为封闭系统。虽然这样不是很严谨,但实现起来会容易些。
我们有两项数据。一项是 Game State,其负责报告摄像机/听者的位置:
cameraOutside
cameraAviaryInside
一项是 Switch,其设在每个恐龙发声体上:
insideAviary(默认设置)
outsideAviary(成功脱逃)


我们为七种不同的飞行爬行动物创建了数百个 Random Container。这些飞行爬行动物都使用这种结构。这个系统运行得很顺畅,但在很大程度上依赖于上述假设。

在设置该系统的时候要非常小心,因为 State 或 Switch 缺失会导致没有声音。这个系统的主要缺点是不够灵活:如果摄像机在外面,而里面有个生物,会听不到其发出的声音。我们在游戏中设置了多种鸟笼类型,包括 Department of Fish and Wildlife 所用的由金属网格构成的临时建筑。在穹顶之外,应当能够听到里面爬行动物发出的声音。考虑到所要使用的数据以及临近的截止期限,做出妥协似乎是可以接受的。
globalGameState
在这个工程中,我们可以通过 globalGameState 轻松解决很多问题。在《Jurassic World Evolution》和过去的游戏中,由全局状态报告游戏所处的宏观状态:

在这个游戏中,它变得非常庞大。我们优异的音频引擎有一些很不错的功能,其中一个特别有用的功能是在游戏通过 globalGameState 切换时发送一组 "_start" 和 "_stop" Event。在进入游戏地图视图时,会将 State 设为 Game_ViewBuilding,并将 Game_ViewBuilding_start/stop 发送到 Wwise。在这种情况下,我们会请求音频程序员创建 Event。所以,将此功能内置会非常方便。
这个状态是很宏观的,使用起来非常便捷。借助这套大致框架,可以做大的混音调整。为此,我们设法把相应状态限定在了 Master-Mixer Hierarchy 的祖父总线。这对混音很有帮助。
在 Gyrosphere (Game_Vehicle_Gyro_1P) 内切换到骑乘视图时,我们可以使用 globalGameState 取消旁通外部环境声上的效果器来压低其音量,使用一组 Event 启动/停止 2D 内部环境声,将恐龙的音频静音,将 Pre-Fader 发送到新的总线(在 Gyrosphere 内可听到通过该总线发送的声音;这使得恐龙音频变得很细微),并将其发送到清晰的内部混响。
借助 Wwise 强大的功能,只需进行少量的音频编码,就可独立构建完全不同的混音。
Meter
Meter 非常好用。

我们为《Jurassic World Evolution 2》使用了电平表总线,因为它使用起来很灵活:既可将信号发送到总线来测量电平,也可使用 RTPC 或 State 来对信号实施衰减。除此之外,还可以将其用作 Envelope Follower,并使用该包络来驱动其他容器上的实时参数。

我们将阵风声音设为了 Emitter with Automation,并使用了带随机延迟的 Random Container 对偶尔出现的阵风进行声像摆位。借助 User-Defined Auxiliary Sends,可将此总线发送到电平表总线 mtr_2d_windGusts。

总线上的电平表效果器被设置成了 Envelope Follower,其会输出到 "meter_2d_windGusts" RTPC。随后,可使用此 RTPC 来动态驱动其他环境风声:在触发随机阵风时,RTPC 值会增大。比如,将“风吹过树梢”的声音上的一些 Low Pass Filter RTPC 移除,使随机阵风声音看起来像是在影响不同的声音。
如果不想在下雨时使用此效果器,可通过 "Rain_Intensity" RTPC 将发送端静音。
借助强大的 Wwise 新功能(如包络、电平表和宏状态),我们可以更加轻松地进行混音。除此之外,还有很多这里没有提及的功能也非常好用。比如,Randomizer 和 LFO。
最后,感谢整个《Jurassic World Evolution》团队。
延伸阅读:https://www.asoundeffect.com/jurassic-world-evolution-sound/
音频团队
Alex Vincent(高级音频制作人)
Ben Hammond(音频测试工程师)
Dan Matarov(助理音频程序员)
Duncan MacKinnon(音频主管)
Dylan Vadamooto(高级声音设计师、音频主管 DLC)
Gavin Chuong(录音师)
Hakan Yurdakul(助理音频程序员)
Henry Flewitt(声音设计师)
Ian Hawkins(高级音频程序员)
Irma de Wind(音乐 & 旁白监制)
Jim Croft(音频总监)
Janesta Boudreau(音乐 & 旁白监制)
James Stant(对白经理、高级声音设计师)
Jamie Stuart(高级音频程序员)
Luigi Platania(助理音频程序员)
Matthew Mainprize(声音设计师)
Michael Maidment(高级声音设计师)
Valentin Goellner(高级声音设计师)
Will Augar(首席音频程序员)
关于 Frontier Developments
Frontier 由知名游戏《Elite》的联合开发者大卫•布拉本 (David Braben) 于 1994 年创立,目前已发展成为业界领先的独立电子游戏开发商和发行商。Frontier 总部位于剑桥,致力于利用其专有的 COBRA 游戏开发技术以创新方式打造一流的 PC 和主机电子游戏。除了自行发行内部开发的游戏外,Frontier 还以 Frontier Foundry 厂牌的名义发行由精心挑选的合作厂商开发的游戏。
关于《Jurassic World Evolution 2》
《Jurassic World Evolution 2》是 Frontier 大获成功的《Jurassic World Evolution》的续作,其沿袭了原作突破创新、身临其境的模拟经营玩法。它真实再现了《Jurassic World》作品中的声音,并注入了新的元素(如飞行爬行动物),为玩家呈献了栩栩如生的恐龙世界。在游戏中,我们添加了更多建筑和个性化选项。最终,打造出了场面更宏大、叙事更细腻、氛围更真切的《Jurassic World》游戏。

邓肯•麦金农 (DUNCAN MACKINNON)
作为首席音频设计师,邓肯•麦金农 (Duncan Mackinnon) 负责统领初版《Jurassic World Evolution 2》的开发工作。在此之前,他参与开发过《Jurassic World Evolution》(侧重恐龙声音设计)以及《Elite Dangerous》(主要负责船只音频)。