時間回到 2018 年,當時還是大學生的 Nono 一接觸到《薩爾達傳說 曠野之息》,便栽進這個世界,不僅將地圖上每個角落探索得淋漓盡致,更達成近 100% 的遊戲完成度。在將遊戲徹底玩透後,Nono 開始探究其背後的設計原理。
Nono 懷著這股玩家之心,希望能打造與玩家產生共鳴的遊戲。這位畢業於上海交通大學軟體工程系的開發者,如今成為《明日方舟:終末地》的遊戲引擎開發者。
這次,App Store 編輯團隊與 Nono 對談,聊聊「遊戲引擎」這個多數玩家從未注意,卻又對遊戲體驗至關重要的一環。

(我) 就像個在辦案的偵探。——《明日方舟:終末地》遊戲引擎開發者 Nono
App Store 編輯:對許多人來說,遊戲引擎工程師是個充滿神祕色彩的工作。可以為我們介紹一下嗎?
Nono:如果把遊戲比喻成一棟建築,那設計師、開發者和美術師就是建築工人,而引擎團隊則負責搭建鷹架。一旦鷹架搭建完成,工具也準備就緒,其他人就能開始動工。
在理想情況下,玩家甚至不應該注意到鷹架的存在。舉例來說,當玩家在遊戲中建造工廠產線時,會有大量的建築和設備在移動,這很容易導致卡頓或程式錯誤。我們的工作之一,就是持續改善和精進技術方案來提升效能、節省記憶體,並讓動畫保持如奶油般順滑流暢,才不會破壞玩家的沉浸體驗。

App Store 編輯:在開發《明日方舟》的過程中,有沒有哪個 bug 讓你印象特別深刻?
Nono:工廠系統的基地升級動畫出現過一個錯誤。測試時,飄在基地上方的核心會不受控制地劇烈晃動。我們檢查過所有環節,模型和數據看起來都沒問題,但它就是晃個不停。
我後來拿一疊 A4 紙,寫下所有可能的原因,然後像偵探辦案一樣,把線索釘在牆上。那過程真是艱辛。最後,我們成功破解,原來是資料的載入方式有問題。

玩家都非常有創意,這也代表我們有很多 bug 要修復。
App Store 編輯:說到 bug,《明日方舟:終末地》提供玩家大量建造工具,而不少玩家也發現一些「意想不到」的用法。身為引擎工程師,你對此有什麼看法?
Nono:看到玩家享受我們的作品,真的非常有成就感。他們之中有些簡直是天才。我們曾看過有玩家利用遊戲漏洞穿過隱形牆,在一個尚未開放的封鎖區裡架設滑索。我當時心想:「哇,原來還可以這樣玩!」觀察他們讓我們能以全新的視角重新認識自己的遊戲,這過程既迷人又充滿樂趣。
當然,這也有點嚇人,因為一旦他們跑到遊戲設定的範圍之外,我們完全不知道會出現什麼問題。玩家都非常有創意,這也代表我們有很多 bug 要修復。

App Store 編輯:你個人最喜歡遊戲玩法的哪個部分?
Nono:絕對是工廠。比如說,我要建立一條先進的藥品產線,那是一條漫長又複雜的生產鏈。我會精準計算所需原料,確保沒有任何一台機器會閒置,而且所有環節都能完美同步運作。然後我才會開始規劃布局。如果一切都排列整齊,沒有雜亂的交錯,生產過程也順暢無阻,那種感覺最棒了。
即使在我下線後,光是知道我的工廠仍像時鐘一樣精準運轉,就讓我感到無比滿足。

最重要的是持續學習。
App Store 編輯:從學生、玩家,到成為一名引擎工程師,你是否曾遇過什麼事,徹底改變你看待事物的方式?
Nono:當然有。我舉個小例子。曾經有個大家都遵循的技術「規則」,我們也以為這能用來改良我們的遊戲。但在和團隊進行詳細的測試後,我們發現真正適用於我們遊戲的解決方案,竟然完全相反。那個結果讓我印象非常深刻。它讓我學到,一個解決方案即使是業界標準,也不代表永遠是最佳選擇。你必須時常反問自己:「這真的適用於我們嗎?」因為開發環境瞬息萬變。
App Store 編輯:最後一個問題。你認為引擎工程師最重要的特質是什麼?
Nono:最重要的是持續學習。這個產業的變化太快,而且每年都有新技術問世。如果你停止學習,只滿足於現狀,很快就會被淘汰。我總是不斷閱讀論文、研究新的演算法,並釐清它們為何優於舊的演算法,以及可以應用在哪些地方。
當然,團隊合作也十分重要。當你還是學生、獨自作業時,只要程式碼能跑就好。但在大型遊戲專案中,你必須跨團隊合作、瞭解他們的困難,並可以準確地解釋你的專業能如何解決他們的問題。