《Carto》的音效和聲音工程

虞敦華 Eddie Yu
7 min readDec 9, 2020

--

談我如何製作音效與設計互動機制

前言

我參與《Carto》的開發共三年,在這段時間裡:

⅓ 在作曲

⅓ 在製作音效素材

⅓ 在中介軟體 FMOD 中設計系統與混音

這篇文章將會談到後面這兩個部分。

專案規模

  • 遊戲時長 5~7 小時。
  • FMOD 專案檔內有 300+ event、600+ WAV 素材。
  • Trello 上開了 600+ 聲音需求。
  • Github 上推了 200+ 個版本。

風格

相較起配樂,我還滿早就找到了適合的音效風格,也會使用一些配樂中用到的音色做 Jingle,例如解開謎題與獲得道具的音效。

遊戲中比較抽象的音效,例如:跳躍、從天而降的聲音,是用合成器做的。

而比較寫實的音效,例如:草叢聲,就是用錄音素材剪輯而成的。我會盡量把音調調高、做短做小,讓聲音聽起來更可愛,就像是從一個小小的繪本裡發出來的一樣。

《策馬入山林》

解開謎題的音效原本放的暫代素材是團隊前作《策馬入山林》的音效,我覺得滿好的,保留了音階、換了音色、加入低音跟殘響,讓他聽起來更震撼。

打磨

我在製作完音效素材後,會放進中介軟體 FMOD 裡連動遊戲引擎 Unity 跑遊戲,再根據操作的手感,去微調素材的大小聲、節奏感、音調高低與空間感。

遊戲 2018 年初第一次公開試玩版本:

遊戲 2020 年底上市版本:

這兩年間所有的聲音包括地圖操作聲、腳步聲、環境音和音樂素材都通通被更新過,並且新增了一些細節,例如開地圖時,環境音會聽起來比較遠,而音樂會變得比較小聲。

《Carto》的聲音不是像流水線拼裝那樣一步到位的,而是像拼拼圖一樣,隨著素材一個個的加入,再去協調彼此之間的平衡。

腳步聲

腳步聲是遊戲中觸發最頻繁的音效,因此要確保它夠耐聽。

走在不同的材質上:

偶爾會觸發木板的擠壓聲:

水聲、洞穴回音:

對話聲

對話音效最初只製作了像傳統角色扮演遊戲裡的打字機聲,但在 FMOD 中調整參數時,意外做出了可愛的泡泡聲,後來又慢慢發展出模擬語調、聲線和口音的系統,讓對話聲更能傳達角色的個性。

不同年齡與性別會有不同的音調:

不同個性的語速:

唱歌時:

使用廣播系統:

另外,相同區域的民族會有相近的口音,使用的是相同的音色。

地圖紙片

遊戲中的音效幾乎全部是使用其他錄音師所販售的音效包,再經過後製而成,只有地圖模式的紙片操作聲因為找不到滿意的素材,而自己動手錄製。

最大張的是沐蘭木紋紙,用在攤開地圖時的音效,其他大大小小的 Double A 影印紙、描圖方格紙、西卡紙則組成了其他不同的紙片操作音效。

使用不同材質大小的紙張錄製紙片音效

環境音

遊戲中的環境音會根據地貌的不同而變化,一方面也強化遊戲中板塊拼接的規則。

遊戲中的環境音系統還滿陽春的,我們只有設定個別板塊的參數,並在移動到不同板塊時根據變化做淡入淡出。

或許也可以製作的更準確,例如去計算與海岸線之間的距離,不過目前的系統在大部分的狀況聽起來還算自然,製作難度也相當簡單,就沒有再花功夫做得更複雜了。

Carto (Nintendo Switch Physical Edition)

遊戲的場景跨足了各種地貌,有海岸、草原、森林、沙漠,甚至是極地。我閱讀了一本由田野錄音師 Gordon Hempton 撰寫的,了解了不同氣候、植被、生態系在不同季節、時間的聲音差異。

例如遊戲的森林區域用的是針葉林的聲音,針葉林在生物演化上,比起闊葉林是較古老的物種。

不過也有想像與現實不同的部分,例如真實沙漠的錄音其實還滿熱鬧的,為了配合故事體驗和既定印象,還是會選擇製作寂寥的感覺。

配樂特效

遊戲中有一個橋段是卡朵會躺上地熱石板床,此時畫面會抖動,音樂也跟著迷幻起來。

這邊使用實機運算去調變背景音樂的播放速度並通過 Low Pass Filter,讓配樂聽起來像壞掉的唱片,製造暖暖暈暈的效果。

曲速

遊戲中環境的音效會盡量貼合曲速,讓音效與音樂更融為一體。

草原阿婆的鼓聲節奏會與當時播放 BGM 的曲速同步:

在風中抖動的風向牌:

每一小節循環一次

隨時要爆發的間歇氣孔:

節奏對在拍子上

有些例子比較明顯,有些比較不明顯,不過每個細節累積起來,就可以提升體驗的品質。

選單操作

遊戲外的選單是用打擊樂器組成的,操作起來清脆可愛。

最佳化

《Carto》因為是 2D 的遊戲,沒有很複雜的運算,其實效能並不吃緊。

遊戲中的素材輸出設定:

  • Ogg Vorbis 壓縮比例 60%
  • Stereo 雙聲道立體聲
  • 取樣率 48k Hz
  • FMOD Bank 約 108 MB (v2.01.11)

註:Vorbis 官方聲稱壓縮比例 55% 以上就聽不出來有失真

註:Mobile 版本為 44.1k Hz / FADPCM 格式 / 285 MB

我會針對特定狀況去限制音效的觸發數,並善用 Send Bus 與 Routing 來減少使用 Effect 數。(主要是用在洞穴 Reverb。)

音檔若被壓縮過,每次讀取時都會需要 CPU 運算來解壓縮,所以我會把一些常用的音效,例如腳步聲,先載入 RAM 中,減少占用 CPU。

而且因為讀取與解壓縮需要時間,先載入 RAM 裡就能避免在播放時產生延遲,所以需與視覺演出同步的音效也會設定成先載入 RAM。

這些問題都是透過直接實機遊玩,開 Profiler 監控,個別發現處理。

結語

聲音表現有許多細節其實是關於一個聲音「怎麼開始」與「怎麼結束」,如果聲音出現的很突兀、或延遲出現,又或是聲音沒有及時結束、或結束的很突然,甚至產生了噪音 pop,都會造成不適的體驗。

玩起來很舒服的遊戲

尤其聲音變化時又是最具有關鍵效果的時刻,若能將這部分處理好就能加分許多。不過這些問題常常發生在聲音與程式工作的重疊區,需要聲音的知識去辨識,並仰賴程式的技術去解決。

因為我可以隨時抓到遊戲的最新版本,又擁有方便的工具,再加上團隊夥伴之間有不錯的信任和默契,才能有效率的配合彼此、解決專案中的各種難題,共同提昇聲音的品質。

--

--