大家好,我叫林•加德纳,是 Relic Entertainment 的首席音频设计师,也是《Age of Empires IV (AoE IV)》的音乐监制。我的职责包括设定配乐的整体基调和方向、设计和设置用于播放互动音乐的系统并与作曲家密切合作来确保捕获自适应音乐系统所需的各种元素。另外,我还要跟管弦乐编曲和现场制作团队(约 80% 的配乐是现场录制的)以及我们的混音师合作。
《AoE IV》是一款即时策略游戏,是从 25 年前就深受玩家喜爱的系列游戏的第四部。
《AoE IV》于 2021 年 10 月发售,包含八个独特的文明 (Civ) – French、English、Chinese、Mongols、Holy Roman Empire、Abbasid、Delhi Sultanate 和 Rus。一年后(即 2022 年 10 月)推出周年纪念版,又增加了两个 Civ – Ottomans 和 Malians。游戏的时间跨度大致在公元 1000 年到公元 1550 年,各个文明的发展经历了四个不同的历史时期 (Age)。
概念创作和原型设计
我从 2017 年开始参与这个项目。当时我马上就意识到,这是个鸿篇巨制的游戏,肯定有大量的工作要做。为此,我们做了很长时间的前期制作和原型设计。事实证明,这对确保稳健的开发路线非常重要。在这段时间里,我深入研究了中世纪音乐以及以这一时期为背景的电影和游戏并由此确定了音乐的最终设计方向。
《AoE IV》的整体设计在很大程度上借鉴了《Age of Empires II》。后者是有史以来最成功的 RTS 游戏之一,也是该系列中最受粉丝喜欢的一部作品。虽然《AoE II》中的配乐依然深受玩家喜爱,但它是由上世纪 90 年代的点唱机式乐器演奏的,没什么互动性。在与音频总监布莱恩•雷尼 (Bryan Rennie) 和 Microsoft 音频总监托德•马斯滕 (Todd Masten) 的紧密合作下,我在前期制作阶段针对《AoE IV》音乐的不同设计方向做了多次的原型设计。
在这个概念创作阶段,我们打算对不同时期的四个不同版本的中世纪音乐进行重构。从 Age1 开始,乐曲给人一种简单朴素且略显暗淡的感觉。随着玩家进入第四个也是最后一个时代(文艺复兴前夕),作曲和配器的复杂性逐渐增大。
我也是在这个开发阶段开始设计和构建音乐系统的。为此,我们聘请当地作曲家莱利•凯尼格 (Riley Koenig) 创作了一些临时的定制音乐,来对相关概念做验证并为第一版音乐系统的构建提供素材。
为了让玩家感受到剧情的发展和音乐的行进,我们决定做一些创新:在 Age 3 加入一个小的弦乐乐段,并在 Age 4 演变为大的合奏乐段。虽然管弦乐的规模相对来说还是比较小,但足以为游戏增添一丝好莱坞式的中世纪格调并以此反映玩家在游戏中的体验。音乐模式、多种独奏乐器和巧妙的人声是定义各个 Civ 的关键。这样可以尽可能真实地呈现每一种文化。
本文将着重介绍我们的 Core Gameplay 音乐和 Combat Intensity 系统。若想了解更多有关作曲和录音流程的信息,请参阅以下视频和博文:
Dynamedion – Age of Empires IV 博文:https://dynamedion.com/news/
音乐素材
游戏中的音乐包括以下四个主要类别:
1. Core Gameplay 音乐(多人游戏)
2. Front End 音乐
3. Single Player Campaign 音乐
4. 插播乐句
最终,每个 Civ 都有大约 170 个独有的音乐文件。这也代表了各位作曲家幕后大量的精雕细琢和反复打磨。
Core Gameplay 音乐 – Interactive Music 系统
《AoE IV》是一款俯视视角的即时策略游戏。玩家可在地图上快速移动,所以游戏的节奏也比较快。虽然我知道这款游戏不会依靠基于位置的音乐变换,但我还是希望音乐能根据游戏进展自适应地变换,并为此构建了一个系统。其中,音乐系统的有些部分建立在 Relic 之前发布的《Warhammer 40,000: Dawn of War III》的基础之上。
在此,我想带大家了解一下构成我们的程序化音乐系统的一些元素。该系统在公司内部被称为 Combat Intensity 音乐系统,有时也被称为我们的 Core 音乐系统。
我们使用了 Wwise 声音引擎以及 Relic 自研的 Essence Engine 游戏引擎。Essence Engine 中有三个主要组件可与 Wwise 一起用来整合音乐:
- Attribute Editor (AE) – Attribute Editor 是个数据库,可供各个系统读取数据并从中获取尽可能多的决策和配置信息。
- State Tree – State Tree 是个由数据驱动的基于状态的脚本系统。
- Scar – Scar 采用我们用于构建战役任务的 Lua 脚本语言。
各个时代有自己独有的音乐,这也反映了那个时代的文化。横向时间线包含一个简短的前奏段落、一个尾声段落和几个长一分钟的随机播放且可互换的主段落。
而且,每个段落都有四个纵向分层:
- Explore 分层 – 在建造城镇和作战单位时,会播放舒缓的氛围音乐。
- Tension 分层 – 在展开小规模战斗时,音乐会切换到包含紧张元素(如低沉的鼓声或颤音弦乐)的分层。另外,此分层还可与 Combat、Rare 和 Explore 分层一起播放。
- Combat 分层 – 在战斗规模扩大时,播放较大的鼓声和号角声、较大的弦乐段落以及战斗旋律。此分层既可与 Tension 分层一起播放,也可与 Tension 和 Rare 分层同时播放。
- Rare 分层 – 较大的击打声(以示强调)、大号角的吹奏声以及偶尔与其他分层交叠的复调旋律。此分层既可与 Tension 分层一起播放,也可与 Combat 和 Tension 分层同时播放。
我们为这些分层和分层组合设置了 State…
…并为每个分层/组合创建了 Wwise Event。
然后将这些 Event 添加到 AE 中,并设置阈值以确定要在哪里播放。对此,我们分别设置了数值增大和减小时的阈值。
在这里可以看到,一旦 "Combat Intensity" RTPC 达到 800,就会触发与 "Tension" State 对应的 Event:
总的来说,我们希望音乐能在推进到不同 Combat 等级时快速做出反应,而在退回到 Explore 状态时则慢慢做出反应。为此,我们在 AE 中分别针对 "Combat Intensity" RTPC 增大和减小这两种情况设置了阈值。
那么,如何把这些运用到游戏中呢?
为此,我们为 AE 中为每个作战单位添加了 Music Importance 值。
在处于 Explore 状态时,我们会有意地保持一段时间的静默。一旦进入战斗状态,音乐就会被设为强制播放(覆盖静音系统),而一旦展开战斗,Combat Intensity 系统就会在作战单位周围划出 Combat Zone 半径。
对于在该区域作战的单位,逐渐增大的 Music Importance 值会驱动 "Combat Intensity" RTPC,进而驱动基于状态的分层播放。
除此之外,我们还可在 AE 中使用其他值来设置半径的大小或何时决定是否需要绘制更多区域。
如果在战斗时将屏幕滚动到地图的另一部分,音乐会慢慢退回到 Explore 状态并最终完全静音。不过,我们发现这并不能完全反映整个游戏中发生的情况。为此,我们设定了一个条件:如果已经开始战斗,在滚动到地图的另一部分(比如重建一些作战单位)时,音乐会继续强制播放,并切换到最低的战斗分层(Tension 分层)以表示其他地方有战斗发生。只有当摄像机在 Combat Zone 半径范围内对着作战单位时,音乐才会做出动态反应。
Age Up
《Age of Empires IV》中音乐的另一重要特点是如何 Age Up。在建造完一个 Landmark 后,就会 Age Up 到下一时代。这时会解锁全新的游戏机制,并获得成长、游戏和获胜的机会。在 Age Up 时刻,音乐也会切换到下一时代,行进到一首全新的乐曲。
我们设有专门的 Age Up 过渡段落,其中包含从某个时代过渡到下一时代所需的曲调、曲速和乐器变化。这些段落还包含一个装饰乐句 – 与游戏中这一高光时刻相称的渐强乐段。另外,这些过渡段落也是由四个不同的分层组成的。这样音乐会在游戏向前推进时继续播放相应的战斗强度分层。
音乐要能从一个时代无缝切换到下一时代。对此,我们为每个时代设置了一个 Age State:
在建造好 Landmark 后,State Tree 中会应用 Age Upgrade,从而触发 Age State 的变化。在这张截图中,可以看到在达到 Feudal Age 时,Wwise Event 会调用 state_age2:
在 Wwise 中,可以看到过渡被设为了由 Next Bar 切换到过渡段落:
过渡到下一时代有个小小的挑战,因为音乐容器包含一个前奏段落,而我们只希望在从刻意的静默时段切出或第一次进入地图时听到它。
不过,为了让 Age Up 像一首连续的乐曲一样无缝地运作,我们需要在这些 Age Up 时刻跳过前奏段落,以确保过渡乐曲的结尾与下一时代的主段落的开头无缝衔接。为此,需要在代码中调用 Custom Cue 以确保仅在这些 Age Up 时刻 Skip the intro。
在此可以看到 Custom Cue 设在 hre_age2 (Holy Roman Empire, Age 2) 前奏段落上:
Campaign 音乐脚本
我们的单人战役模式由 English、French、Mongols 和 Rus 四场独立的 Civ 战役组成。每场战役有 8-10 项任务,全部基于真实的历史事件、战争和故事。游戏总共有 35 项任务,游戏时长约为 30 小时。
战役任务不仅有故事驱动的线性体验,还包含大量动态的、系统的游戏玩法。这些玩法全部建立在多人游戏模式之上。Core Gameplay 音乐有四个不同的分层。这些分层可以有多种组合。因此,我们可以在战役中以多种方式运用 Core Gameplay 音乐。
在战役任务中,设有两个音乐播放选项:
1. 将 Core 音乐系统切换到战役任务,并让 Combat Intensity 系统按照多人游戏的设计来运行。
2. 在基于 LUA 的 Scar 系统中专门为 Core 音乐系统的特定分层编写脚本,来为任务设定更为恰当的基调和氛围。
借助诸多功能(比如在指定时间段锁定某些分层或在达成目标后解锁某些播放条件),我们可以轻松地从上述某一选项切换到另一选项。这样的话,对于故事驱动或动态发展的体验,音乐会随着玩法自动地进行调整。
作曲、录音、混音
我为游戏中的十个文明跟六位不同的作曲家进行了合作。不得不说,他们真的很有才华,也非常有耐心。在这个过程中,为了一切都恰到好处,我做了好几次的迭代。虽然本文主要是介绍 Combat Intensity 系统的方方面面,不过我还是想在这里简单地向他们表示一下感谢!
蒂尔曼•西莱斯库 (Tilman Sillescu) – 首席作曲家 – Mongols、Holy Roman Empire、Main Theme、Front End Loop
亚历山大•罗德 (Alexander Roeder) – Chinese、English、Ottoman Age 4
亨宁•纽格尔 (Henning Nugel) – Rus、Abbasid、Malians Age 1 和 2
阿明•哈斯 (Armin Haas) – Delhi Sultanate、Malians Age 3 和 4、Mongols Campaign Drum
克里斯蒂安•沃茨 (Christian Wirtz) – Ottomans Age 1、2 和 3
米科莱•斯特罗因斯基 (Mikolai Stroinski) – French
除了将音乐编排到这些段落和分层中,作曲家们还面临一个挑战:既要创作出吸引人的音乐,又不能分散玩家的注意力,也不能跟音效和语音冲突。要达到这种平衡不容易,但所有作曲家都做到了。
在验收作曲后,Dynamedion 协助完成了管弦乐编曲和现场录音及剪辑,并将预混片段剪辑好转交给了我们的混音师。随后,Air Studios(伦敦)的鲁珀特•库尔森 (Rupert Coulson) 对音乐做了混音。说真的,我很荣幸能与整个团队合作完成这样艰巨的工作,同时也很高兴音乐受到了各地玩家和粉丝的喜爱,甚至还获得了 2022 年 Canadian Game Awards 的最佳配乐奖。
评论