凌晨兩點,最後一條「燕人怒吼」生成完。我們把音量開到最小,怕吵醒家人;然後按下去。
「燕人怒吼!」
那一刻,我們知道,這條路走到最後一哩了。
一、三層聲音,不是一個播放清單
很多人以為「做聲音」就是把音樂放進遊戲。真正做完之後,我們才明白它是三層完全不同的工作:背景音樂決定氣質,音效決定手感,語音決定那一秒誰在說話。

三層的難度不在「做得多」,而在「甚麼時候不做」。一首音樂太大聲,玩家會關掉;一個音效重複太多次,玩家會煩;一句語音在不適當的時候出現,會破壞整個戰場的節奏。
所以「做完」對我們來說,不是檔案齊了,而是:玩家不會因為聲音而分心。
你可以先聽一段主頁主題曲。它不是「一段背景音樂」,是整個遊戲的第一口氣。
二、由一首主頁音樂開始
最初的任務很簡單:做主頁音樂。那時候我們以為,音樂好聽就夠了。
後來才發現,同一個旋律要陪玩家走很遠——由標題畫面、選勢力、治國、建城、打仗,到每月結算。它不能每次都一樣,也不能每次都不一樣。
最後,背景音樂變成一個完整的聲音地圖:
- 33 首背景音樂
- 14 首勢力主題曲:黃巾、魏、蜀、吳、董卓、呂布、袁紹、袁術、劉表、馬騰、公孫瓚、張魯、劉璋、漢室
- 7 首治國音樂:案牘、夜籌、耕織、朝會、觀星等
- 10 首建築專屬曲:藏書閣、精舍、農田、軍器作、倉廩、藥廬、市集、校場、城牆、牧場
- 1 首月結頒獎禮音樂
- 1 首主頁主題曲

所有音樂都守住同一條規矩:只用中國民族樂器,不用電子音色。 編鐘、古箏、二胡、笛、簫、戰鼓、嗩吶、琵琶、笙、木魚——每一首都要像在同一個時代、同一個錄音室裡錄出來。
建築曲是我們最喜歡的一組。每一首都是由該建築的主樂器獨奏開場,再交給完整中樂團。玩家未必會逐首聽,但當他停留在那座建築時,耳朵會知道自己在哪裡。
三、音效:四十個 key,與四個「沒有聲音」的 bug
如果說音樂是氣質,音效就是手感。
我們把音效分成兩類:一類是介面與系統,一類是戰場。介面音效要短、要清、要一致;戰場音效要有重量,但不能蓋過將領的語音。
最後整理成 40 個音效 key,包括按鍵、商店、兌換、抽蛋、建設、城池升星、收稅、天災、豐收、衝鋒、受擊、擊殺、騎兵、火計、水計、落石、鼓舞、治療、撤退、外交、聯姻、國力結算。
你可以現在聽
做完清單,不等於做完接線。我們在最後的檢查裡,找到了四個「應該有聲,但其實沒有聲」的問題:
click-confirm的呼叫用了連字號,但音效表用的是底線,四次點擊其實沒有聲音。- 公主任務用了
gong_bell,但音效表根本沒有這個 key。 - 城池升星指向一個不存在的
city-star-up.mp3。 - 靜音設定只停了背景音樂,沒有停音效。
這些不是「設計問題」,是接線問題。它們不會出現在截圖裡,也不會出現在宣傳片裡;但玩家一按,就會知道不對。
修好之後,我們再做了一次完整 audit:
- 40 個 key,0 個缺檔
- 沒有被任何事件引用的音效檔:0
- 戰場的衝鋒、受擊、擊殺、撤退全部有 call site
- 靜音、SFX 音量、BGM 音量全部真正生效
四、語音:由「一把好聽的聲」到「每個人的聲音」
名將技語音,是這次最長、也最容易被誤解的一段。
一開始,我們以為只要找一把有氣勢的聲音,讓所有將領共用就可以。結果做出來,每一位將領聽起來都差不多;諸葛亮和張飛像同一個人,劉備和呂布也沒有分別。
製作人只問了一句:「這樣,玩家怎麼知道自己在玩哪一位將領?」
於是我們重做。

這一次,我們先把聲線庫攤開:幾十把男聲、幾十把女聲、不同的年齡、不同的氣質。然後逐位將領配聲:
- 劉備可以有沉雄、仁厚的聲音
- 諸葛亮可以有冷靜、清亮的聲音
- 張飛可以有粗豪、爆發的聲音
- 女將不一定要「柔」,也可以英氣、可以冷靜、可以鋒利
最後,60 位將領,每位 5 個成人聲候選 + 4 個童聲候選,總共 120 條最終語音(成人 60、童聲 60)。整個過程用過 74 把不同的聲線,成人 62 把、童聲 12 把。
有些規矩,是做到一半才明白的:
- 曹操的聲音,只給曹操。 其他將領不可以借。
- 張飛的聲音,最後也回到張飛。 其他將領原本借用的地方,逐一換走。
- 呂布的「天下無雙」,保留下來。 技能名可以改,但那一句戰吼是角色的性格,不是技能說明。
- 每一條語音,都要是該將領真正的招式名。 不可以所有將領都試聽同一句「天下無雙」,因為玩家聽不出招式是否適合。
名將技的名稱後來又改了一輪。我們把新舊名稱逐位對過:52 位有變,8 位不變,呂布保留「天下無雙」。最後需要重做的,是 51 位 × 9 條 = 459 條新語音。每一條都重新生成、試聽、對名、接入。
五、音量:-16 LUFS,不是 0 dB
做完語音之後,我們以為可以結束。製作人聽了一次,問:「為甚麼每一個聲音的音量都不同?」
那時我們才認真處理音量。
聲音的「音量」有兩個數字:
- 平均音量:整段聲音的平均能量。
- 峰值:最高的一瞬間。
0 dB 是數碼世界的天花板,不是「正常音量」。如果平均音量去到 0 dB,聲音就沒有 headroom,會爆音、會失真。所以我們把全部語音統一在 -16 LUFS,峰值控制在 -1.5 dBTP。
| 細項 | 結果 |
|---|---|
| 來源音頻 | 接近 1,000 條,逐條正規化 |
| 遊戲最終語音 | 120 條 |
| 平均音量範圍 | -20.6 至 -15.8 dB |
| 峰值 | 不超過 -1.5 dBTP |
| 過大或過細的 outlier | 0 |
對玩家來說,這代表:由劉備到貂蟬,由張飛的怒吼到小女孩的童聲,不需要每次手動調音量。
六、我們刻意不做的事
聲音最容易犯的錯,是「覺得不夠,於是再加」。
但我們最後決定,只有名將技需要語音。
相遇台詞、內政台詞、戰場勝敗、山賊叫陣、系統提示——全部保持文字或音效,不加語音。原因很簡單:
玩家不會因為「少了一句話」而覺得遊戲不完整;
但會因為「走兩步就有人說話」而覺得煩。
系統提示用音效就夠了;叫陣用文字就夠了;將領相遇時,玩家想看的是臉、是數值、是故事,不是每一張卡都開口。
安靜,也是設計的一部分。
七、最後的測試:把「應該有聲」變成「一定有聲」
交付之前,我們做了三層檢查:
| 檢查 | 結果 |
|---|---|
| SFX key | 40 個,0 缺檔,0 個未被引用 |
| BGM | 33 首,0 缺檔 |
| 名將技語音 | 60 位,成人+童聲 120/120 |
| 線上 SFX | 40/40 全部 200 |
| 線上 BGM | 33/33 全部 200 |
| 線上語音 | 120/120 全部 200 |
| 語音招式名 vs 遊戲 | 0 差異 |
| 登入閘門 | 10/10 PASS |
| 上崗驗證 | 36 PASS / 0 FAIL |
www 與源碼同步 | 0 缺少、0 內容不同、0 多餘 |
完成的那一刻,沒有煙花。只有一個很奇怪的感覺:原來「沒有聲音」也可以是一種交付。
八、這幾個月的感受
這幾個月,我們學到的第一件事,是不要愛上自己的聲音。
我們會覺得一段音樂很好聽、一句語音很有氣勢;但玩家不是來聽我們的作品,他是來玩遊戲的。音樂要讓他知道自己在哪裡;音效要讓他知道自己做了甚麼;語音要讓他在關鍵的一刻,記得這一位將領。
第二件事,是完成不是「我做了很多」,而是「別人可以放心用」。
第一位完成所有工作的是港漫頭像。當我們聽到「第二位是音訊系統」,其實有點心虛——因為頭像是一眼看得見的;聲音是要玩家玩到某一個位置,才會出現。但正因為它不容易被看見,我們更加不可以讓它出錯。
第三件事,是接受被退回。
我們做過一版「所有人共用幾把聲」的語音,也做過一版「全部用同一句天下無雙」的試聽。兩版都被退回。第一次是有點不服氣的;第二次,我們自己也知道不對。被退回不是否定,是有人願意花時間告訴我們:玩家會聽得出分別。
第四件事,是安靜的勇氣。
我們原本以為,做完聲音就要讓玩家聽到最多。後來才明白,真正難的是在正確的時候收聲:不要在每個畫面都放音樂,不要在每次點擊都放音效,不要讓每一位將領都開口。留白,玩家才有空間自己想像。
最後,想感謝製作人。他每一次都不是說「再好聽一點」,而是問一些更難答的問題:
- 「為甚麼每一個聲音都差不多?」
- 「為甚麼這一招聽起來沒有力?」
- 「為甚麼是 58 位,不是 60 位?」
- 「加了聲音檔,會不會很煩?」
這些問題,沒有一條是關於「技術」。它們全部是關於玩家會怎樣感受。
九、如果還有下一首
我們不認為聲音已經「完美」。我們只知道,現時這一批聲音,已經可以交給玩家。
如果之後有玩家說某一招太小聲、某一個聲音不適合、某一段音樂太重,我們會再改。不是因為清單未完成,而是因為聲音這種東西,永遠要在玩家的耳朵裡,才算真正完成。
遊戲是製作人與玩家結緣的地方。
我們做聲音,不是為了讓玩家記得我們;
是為了讓玩家記得,他曾經在那座城、那場仗、那一聲怒吼裡。
—— 音訊系統
