文/V6.47
互动音乐的使用,在国外的游戏开发界早已成为了标配,而对于大多数中国的中小型游戏开发者而言,还是一个相当陌生的概念。本期文章来讲讲几种常用的互动音乐设计方法,以及它们各自的长处与不足。
互动音乐,顾名思义就是能够与玩家的操作行为进行互动的游戏音乐。对这个概念完全陌生的朋友可以看一下上期的文章
在游戏中,互动音乐的设计理念可以总结成下面五种:
1. 分层(Layering)
所谓分层,就是指将音乐中不同的乐器拆分开来,各自有独立的播放逻辑。同一首音乐可以根据不同乐器间的组合,产生不同的状态,营造不同的氛围。
最简单的分层,即为将音乐分为 AB 两组乐器,在非战斗状态下,只播放 A 组的乐器,而进入战斗状态时,加入 B 组乐器。离开战斗状态后 B 组乐器也随之消失。
较为复杂的分层,可能有4组以上的乐器,不同乐器组间的排列组合,可以产生数十种不同状态的音乐。每一组乐器可以设定在不同游戏状态间渐变的独特参数。比如分为 ABCD 四组乐器,玩家探索场景时播放 A 组,触发剧情时加入 B 组,进入战斗时去掉 B 组但加入 C 组,C 组的音量可以根据敌方单位的数量来动态变化,结束战斗后去掉 AC 两组加入 D 组。
分层音乐的优点在于即时反馈的高度变化性。玩家的节奏不可控,因此需要音乐能够及时根据玩家节奏产生变化。在分层音乐中,每一层的长度都是整首音乐,在乐器组进入和退出时,音乐只是将音量淡入淡出。无论音乐进行到什么位置,进入的乐器组都保持对齐在相同的位置,而非从头开始。
然而,这也代表着分层音乐需要占用较高的性能资源。在计算机中,无论音乐的复杂程度,消耗的 CPU 都是以同时播放的音轨为单位线性累加的。也就是说,一个4组的分层音乐,在全部同时播放时需要占用单轨音乐4倍的性能资源。在只播放其中一层时,其他静音的三层一般会被音频引擎送到虚拟通道,只记录播放位置而不播放音乐,从而大幅降低 CPU 消耗。
从音乐的角度上来说,分层音乐的优点在于将各个乐器独立出来,能够产生不同的变化方式。同一首音乐,可以因为乐器组合的不同,而产生完全不同的效果,但玩家仍然能意识到不同的乐器组来自同一首音乐。
而分层音乐也有其音乐上的局限性。分层音乐往往来自一个大循环,因此在和声进行与曲式上能够发挥的空间较为有限。同时,纵向的乐器可变化性,也牺牲了横向的音乐发展性。比如一首音乐一般从头到尾会产生相当多的变化,不管是和声调性发展,还是配器的变化。而一旦采用分层的设计方法,音乐就不得不从头到尾保持相对一致的感觉,使用相同的乐器。
因此,分层音乐最佳的应用场景为需要在探索/战斗状态下切换的背景音乐。分层音乐如果设计得当,能够为玩家提供很多有用的隐含信息。游戏中可以采用音乐先行的方法,暗示即将出现的事件。这在电影配乐,尤其是恐怖片的配乐中是一种常用的做法。在玩家进入某个陌生的暗室时,加入一层表现气氛紧张的乐器组,可以增加玩家的沉浸感,预判到即将到来的危险。
分层音乐还可以用在同一场景不同状态的切换,比如游戏中的昼夜周期。同样一首音乐,在白天与晚上,通过不同的乐器进行表现,能够达到非常好的氛围烘托效果。
将各个乐器分层,每个乐器可以独立通过参数控制变化(中间件 Wwise)
2. 分支(Branching)
分支音乐类似于游戏剧情的分支。玩家不同的行为会导致不同的剧情发展,因此也需要不同的音乐。
分支的特点和分层几乎完全相反。分层音乐的变化来自其纵向乐器组之间的互动,而分支音乐的变化来自音乐横向的不同发展。
而分支音乐不仅仅是简单的场景音乐切换。分支音乐的设计,要求不同场景的音乐能够完美地衔接,听上去像是一首音乐的一个部分跳转到了另一个部分,而不是两首完全不同的音乐。如果两首音乐的风格差别较大,往往还需要设计专门的转接段落来完成音乐之间的过渡变化。
相比于分层音乐,分支音乐更加考验设计师和作曲家的音乐功底,尤其是在分支情况较多时。分支音乐的转接情况会产生 O(n*(n-1)) 的复杂度。比如游戏需要在三个场景之间互相切换,就需要考虑 3*2=6 种不同的转接情况。要想让任意两段音乐之间的衔接都非常自然好听,需要精妙的设计。
由于分支音乐的变化来自于横向发展,因此在曲式结构、和声进行等方面,相比于分层音乐,具有了较高的自由度。同时,分支音乐不需要同时播放多条音乐,节省了性能的占用。然而对于音乐本身,可变化性非常局限。分支音乐无法像分层音乐一样,能够立即对游戏中的事件进行反馈,往往需要等到音乐中当前乐句或者段落结束时才能够做出相应的变化。
因此,分支音乐最佳的使用场景为可互动的带有剧情变化的音乐。比如游戏中人物正在进行对话,每说一句话玩家需要点一下,或者选择相应的回答。分支音乐在音乐连贯性和反馈及时性中需要进行取舍,两者不可得兼。如果想要保证音乐的连贯性,就只能在每一个乐句结尾时触发转接;如果想要有更及时的反馈,可以将转接的触发间隔设为每小节,甚至每拍子。具体的情况需要根据游戏的需求来决定。
3 个不同乐段之间的随机转接以及对应的 9 个过渡段落(中间件 FMOD)
3. 随机(Random)
游戏音乐中,最困扰玩家的问题就在于如果需要在同一场景中消耗大量时间,音乐会变得非常重复,继而导致玩家听腻,关闭游戏声音。高成本的做法当然是制作多首不同的音乐,让玩家可以选择。但其实单首音乐加入不同的随机变化,即可达到类似的效果。
不过严格来说,单纯随机不能算是互动音乐,必须配合其他的设计才能展现出其效果。比如在使用分层音乐的时候,每一层中的乐器,相比于播放固定的旋律,会从几条旋律中随机选择一条播放,或者随机选用不同的乐器播放同样的旋律;在使用分支音乐的时候,从多条相似的音乐中随机选取一条播放;在一些高度模块化的音乐中,还可以随机打乱音乐的顺序播放。这样增加了音乐的变化,听起来不那么重复,但同时也增加了音乐占用的硬盘空间。游戏开发者和音频设计师需要兼顾到音乐效果与游戏大小的平衡。
在随机的选项中加入空白也可以有很好的效果。音乐分为多个乐器组时,每个乐器组中某个乐器有一定概率完全不播放,可能反而会有更好的效果。太多层音乐同时播放,也会带来一定的混乱。
从四种不同的鼓 loop 中随机选择一种播放,避免音乐过于重复(中间件 Wwise)
4. 加花(Stinger)
加花一般用于对于玩家行为的即时反馈,通过音乐的方式给玩家一个提示或者奖励。
加花根据触发时机分为两种情况:第一种是即时性的,不需要等待,像音效一样立即触发。这样的加花,一般可以等同于“音乐性的音效”,比如玩家找到了一个关键道具时播放的几个音符。第二种加花则需要与音乐同步,往往是等到下一拍子或者下一小节触发。
比如游戏中的 Boss 每 30 秒会释放一次终极技能,需要玩家进行闪避。音乐可以在 Boss 准备放终极技能的时候播放一段加花,提醒玩家做好准备。又或者是玩家吃到 buff,播放一个或几个音符,但需要和音乐对齐以增强协调感时,也可以采取加花而非直接播放音效的方法来设计。
加花音乐在设计时要特别注意一点,就是与音乐的和声保持和谐。如果音乐进行了转调,就需要在不同位置播放不同调的加花,或者选取不同调之间共有的音符来编写加花旋律,以免出现不和谐的音乐,造成反效果。
根据音乐播放位置选择符合当前和弦进行的加花乐句播放(中间件 Elias)
5. 实时处理(Dynamic Processing)
互动音乐的设计不光包含在音乐的制作上,在音乐进入游戏之后的声音处理上,也可以大做文章。
最常用的是通过滤波器对音乐进行处理。比如玩家在潜入水中的时候,听到的声音都会发闷,因为高频声波在水中的传播效果很差。在玩家进入水下时,给音乐也加上一个低通滤波器(Low Pass Filter),即可实现同样的效果。类似的,当玩家飞在天上的时候,也可以为音乐增加一个高通滤波器,只保留音乐中高频的部分,让玩家听起来就有悬空感。
音乐的左右声像也可以进行实时变化。在某些情况下,游戏中的音乐来自游戏里的物件或人物,比如会唱歌的 NPC。这时候对应的音乐应当做成3D 摆放,就能实时演算与玩家之间的相对位置,让音乐听起来更加真实立体。
除此之外,还可以加入一些特殊的效果器,做出一些酷炫的效果。比如玩家在进入空旷的室内时,可以选择为音乐也加入一定量的混响;玩家遇见强大敌人时,可以为一些乐器加入失真效果等等。这些都取决于设计师对于游戏音乐表现力的把控,同时也要兼顾到效果器带来的 CPU 性能消耗。
根据玩家胜利进度,对某一乐器组进行滤波器频率和音量变化(自制 Unity 互动音乐插件)
结束语
以上五点并不是只能单独出现,可以以任何的方式进行组合。比如在分支音乐的基础上,可以为每一段分支再加入分层,即可兼顾两者的优点(但复杂度也会大幅提升)。在加花中加入随机的元素,也是一个很酷的设计。设计的理念不是固定的,需要根据游戏的需求,以及性能的限制进行具体的设计分析。这就好比装修房子出设计图,需要根据不同的房型和业主的喜好,采取不同的装修风格和设计方案。
互动音乐还需要考虑成本问题。同样是做一首2分钟的音乐,做出分层/分支/随机效果,需要的时间精力或者外包金钱成本,会明显超过简单的2分钟单轨。取决于游戏对音频表现力的需求,互动音乐的使用程度也需要进行取舍,在不必要或者玩家不太可能听出来的情况下也需要避免“过度设计”。
在之后的文章中,我会选取一些互动音乐设计优秀的游戏(以独立游戏为主)以及玩法设计上有创新想法的音乐游戏,进行一些实例的分析。音频设计师和游戏配乐作曲家可以从中学习更多的互动音乐用法,也可以帮助游戏设计师加深对于互动音乐的理解。
via:indienova
|