《Carto》的音效和聲音工程
談我如何製作音效與設計互動機制
前言
我參與《Carto》的開發共三年,在這段時間裡:
⅓ 在作曲
⅓ 在製作音效素材
⅓ 在中介軟體 FMOD 中設計系統與混音
這篇文章將會談到後面這兩個部分。
專案規模
- 遊戲時長 5~7 小時。
- FMOD 專案檔內有 300+ event、600+ WAV 素材。
- Trello 上開了 600+ 聲音需求。
- Github 上推了 200+ 個版本。
風格
相較起配樂,我還滿早就找到了適合的音效風格,也會使用一些配樂中用到的音色做 Jingle,例如解開謎題與獲得道具的音效。
遊戲中比較抽象的音效,例如:跳躍、從天而降的聲音,是用合成器做的。
而比較寫實的音效,例如:草叢聲,就是用錄音素材剪輯而成的。我會盡量把音調調高、做短做小,讓聲音聽起來更可愛,就像是從一個小小的繪本裡發出來的一樣。
解開謎題的音效原本放的暫代素材是團隊前作《策馬入山林》的音效,我覺得滿好的,保留了音階、換了音色、加入低音跟殘響,讓他聽起來更震撼。
打磨
我在製作完音效素材後,會放進中介軟體 FMOD 裡連動遊戲引擎 Unity 跑遊戲,再根據操作的手感,去微調素材的大小聲、節奏感、音調高低與空間感。
遊戲 2018 年初第一次公開試玩版本:
遊戲 2020 年底上市版本:
這兩年間所有的聲音包括地圖操作聲、腳步聲、環境音和音樂素材都通通被更新過,並且新增了一些細節,例如開地圖時,環境音會聽起來比較遠,而音樂會變得比較小聲。
《Carto》的聲音不是像流水線拼裝那樣一步到位的,而是像拼拼圖一樣,隨著素材一個個的加入,再去協調彼此之間的平衡。
腳步聲
腳步聲是遊戲中觸發最頻繁的音效,因此要確保它夠耐聽。
走在不同的材質上:
偶爾會觸發木板的擠壓聲:
水聲、洞穴回音:
對話聲
對話音效最初只製作了像傳統角色扮演遊戲裡的打字機聲,但在 FMOD 中調整參數時,意外做出了可愛的泡泡聲,後來又慢慢發展出模擬語調、聲線和口音的系統,讓對話聲更能傳達角色的個性。
不同年齡與性別會有不同的音調:
不同個性的語速:
唱歌時:
使用廣播系統:
另外,相同區域的民族會有相近的口音,使用的是相同的音色。
地圖紙片
遊戲中的音效幾乎全部是使用其他錄音師所販售的音效包,再經過後製而成,只有地圖模式的紙片操作聲因為找不到滿意的素材,而自己動手錄製。
最大張的是沐蘭木紋紙,用在攤開地圖時的音效,其他大大小小的 Double A 影印紙、描圖方格紙、西卡紙則組成了其他不同的紙片操作音效。
環境音
遊戲中的環境音會根據地貌的不同而變化,一方面也強化遊戲中板塊拼接的規則。
遊戲中的環境音系統還滿陽春的,我們只有設定個別板塊的參數,並在移動到不同板塊時根據變化做淡入淡出。
或許也可以製作的更準確,例如去計算與海岸線之間的距離,不過目前的系統在大部分的狀況聽起來還算自然,製作難度也相當簡單,就沒有再花功夫做得更複雜了。
遊戲的場景跨足了各種地貌,有海岸、草原、森林、沙漠,甚至是極地。我閱讀了一本由田野錄音師 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,都會造成不適的體驗。
尤其聲音變化時又是最具有關鍵效果的時刻,若能將這部分處理好就能加分許多。不過這些問題常常發生在聲音與程式工作的重疊區,需要聲音的知識去辨識,並仰賴程式的技術去解決。
因為我可以隨時抓到遊戲的最新版本,又擁有方便的工具,再加上團隊夥伴之間有不錯的信任和默契,才能有效率的配合彼此、解決專案中的各種難題,共同提昇聲音的品質。
如果你對《Carto》的音樂製作有興趣,可以前往閱讀這一篇:
遊戲 Steam 頁面
有什麼問題和想法都歡迎留言一起討論😄