APP STORE 獨家

遊戲引擎工程師 Nono 接受專訪

與 App Store 編輯團隊一齊揭開遊戲引擎開發者的神秘面紗

2018 年,當時還是大學生的 Nono 一接觸到《薩爾達傳說 曠野之息》,便迷上了這個奇幻開放世界。她全情投入玩這款遊戲,走遍地圖上每個隱藏角落,一口氣玩到近 100% 完成度。完成整個遊戲後,她便開始鑽研遊戲背後的製作原理。

Nono 對遊戲行業滿懷熱誠,希望能創造出能引起玩家共鳴的作品。而畢業於上海交通大學軟體工程系的她,如今正投身遊戲產業,擔任《明日方舟:終末地》的遊戲引擎開發者。

App Store 編輯團隊與 Nono 展開訪談,深入探討遊戲引擎——這個多數玩家從未察覺其存在,卻又對遊戲體驗至關重要的部分。

(我) 就像個正在查案的偵探。
——《明日方舟:終末地》遊戲引擎開發者 Nono

App Store 編輯:不少人認為遊戲引擎工程師的工作非常神秘。你可以與我們分享一下你的工作內容嗎?

Nono:如果你將遊戲比喻為一棟建築物,那設計師、開發者和畫師就是建築工人,而引擎團隊則負責搭棚。一旦棚架搭好、工具也準備就緒,其他人就可以開始動工了。

在理想情況下,玩家應該不會察覺到棚架的存在。譬如,當玩家在遊戲中建造工廠生產線時,畫面會顯示大量的建築和設備正在移動,這很容易導致「窒機」或程式錯誤 (bug)。不斷改良和完善技術上的解決方案來提升效能、節省記憶體,並保持動畫流暢度,讓玩家體驗到遊戲的臨場感,不受任何干擾——正是我們工作的其中一部分。

建設工廠是這個遊戲的重要元素。

App Store 編輯:在製作《明日方舟》的過程中,有没有 bug 令你印象特別深刻?

Nono:工廠系統的基地升級動畫曾出現一個 bug。在測試時,基地上方的核心會不受控制地劇烈晃動。我們檢查過所有內容,模型和數據看起來都沒問題,但它就是不停晃動。

我最後拿出一疊 A4 紙,寫下所有可能導致這個問題的原因,然後像偵探查案一樣,將線索釘在牆上。雖然過程非常艱辛,但我們最終也能破解了這個難題,原來是載入紋理數據的方式出問題。

玩家的無窮創意,意味著遊戲中有不少 bug 需要修正。

App Store 編輯:說到 bug,《明日方舟:終末地》為玩家提供了大量建設工具,而不少玩家都發現了一些意想不到的「用途」。作為引擎工程師,你對此有何看法?

Nono:看到玩家享受這個作品,我們就心滿意足。有些玩家實在太聰明了!我們曾看到有玩家利用遊戲漏洞穿過隱形牆,並在一個尚未開放的封鎖區域裡架設滑索。我當時心想:「嘩,原來有這種玩法!」觀察他們的遊玩方式,讓我們以全新角度重新探索自己開發的遊戲,這個過程既奇妙又有趣。

這當然也有點嚇人,因為一旦他們超出預設的遊戲範圍,我們就無法知道之後會出現甚麼問題。玩家的無窮創意,意味著遊戲中有不少 bug 需要修正。

玩家可以利用各款工具,發揮天馬行空的想像力。

App Store 編輯:你自己最喜歡遊戲的哪個部分?

Nono:絕對是工廠。假設我要建立一條先進的藥物生產線,那是一條漫長而複雜的產業鏈。我會精確計算需要多少材料,確保沒有任何一部機器會閒置,而且所有環節都要完美同步運作。接下來,我會開始規劃佈局,如果所有設備和物料都整齊排列,沒有出現亂七八糟的情況,而生產過程又暢順無阻,那種感覺真的很好。

即使離線後,光是知道我的工廠仍像時鐘一樣精準運轉,也會令我非常滿足。

持續學習最重要。

App Store 編輯:從學生、玩家到成為引擎工程師,在這趟旅程中有沒有哪些經歷,徹底改變了你看待事物的方式?

Nono:當然有,我舉個簡單的例子。曾經有一條人人遵循的技術「法則」,我們也以為它同樣可用來改進這個遊戲。但在我和團隊進行詳細測試後,卻發現真正適合這個遊戲的解決方案竟然完全相反。這個結果令我印象非常深刻,同時讓我明白到,即使某個方法符合業界標準,也不代表它就是最佳選擇。畢竟開發時的情況不斷變化,你必須時刻思考「這是否真的適合我們」。

App Store 編輯:最後一個問題。你認為一位引擎工程師最需要具備哪種特質?

Nono:持續學習最重要。這個行業瞬息萬變,而且每年都有新技術問世,如果你停止學習,故步自封,很快就會被淘汰。我會經常閱讀論文、研究新的演算法,並鑽研這些新演算法比舊演算法有哪些優勝之處,以及其應用範疇。

當然,團隊合作亦不可或缺。假如你是獨自做功課的學生,只要程式碼能夠執行就沒問題;但當你參與大型遊戲項目,便必須跨團隊協作,理解他們面對的難處,並能清楚解釋你的工作成果能如何解決他們的問題。