一、Monolith Soft 自研新引擎的背景與需求
在游戲開發的領域中,定制化需求和高效開發流程至關重要。任天堂《異度神劍》開發商 Monolith Soft 之所以決定自研新游戲引擎,有著深刻的背景與迫切的需求。
一方面,現有的第三方引擎無法滿足他們對游戲定制化的需求。隨著游戲市場的不斷發展和玩家需求的日益多樣化,獨特的游戲體驗成為吸引玩家的關鍵。Monolith Soft 致力于打造具有高度創新性和獨特性的游戲作品,而第三方引擎在滿足這種個性化需求方面存在局限性。例如,在游戲的畫面表現、玩法機制等方面,可能無法完全按照 Monolith Soft 的設想進行定制化開發。
另一方面,有限的人力資源難以完成開發工作。隨著游戲項目規模的不斷擴大,開發一款大型游戲需要投入大量的人力、物力和時間。然而,Monolith Soft 發現現有的開發模式在人力資源有限的情況下,難以高效地完成大型游戲的開發任務。據了解,公司已無法依賴有限的人力資源完成所有開發工作,這促使他們尋求新的解決方案。
綜上所述,為了滿足游戲定制化需求和適應大型游戲開發的人力挑戰,Monolith Soft 毅然決定自研新游戲引擎,開啟了一段充滿挑戰與機遇的創新之旅。
二、新引擎的開發與特點
(一)基于舊引擎的擴展
Monolith Soft 的新游戲引擎是在 2010 年《異度神劍》原始引擎的基礎上進行開發并擴展的。這個決策有著多方面的考慮。2010 年的原始引擎在當時就展現出了強大的實力,為《異度神劍》的成功奠定了基礎。如今,隨著技術的不斷進步和游戲市場的發展,Monolith Soft 決定對其進行擴展,使其能夠適應更多不同類型的游戲項目。通過這種方式,他們可以充分利用舊引擎的優勢,同時結合新的技術和理念,打造出更加出色的游戲作品。例如,在畫面表現方面,可以進一步提升畫質和細節,為玩家帶來更加逼真的游戲體驗。在玩法機制上,也可以更加靈活地進行創新,滿足不同玩家的需求。
(二)關鍵技術模塊
目前,Monolith Soft 正在開發中的模型渲染和效果引擎等關鍵模塊備受矚目。模型渲染技術能夠讓游戲中的角色、場景等更加生動逼真,提升游戲的視覺效果。而效果引擎則可以為游戲增添各種炫酷的特效,如光影效果、粒子效果等,增強游戲的沉浸感。這些關鍵模塊的開發是新引擎的重要組成部分,它們將最終整合進新引擎中,為游戲開發提供強大的技術支持。據了解,多個團隊正在同時進行這些關鍵模塊的開發工作,這體現了 Monolith Soft 對新引擎的高度重視和投入。
(三)優化開發流程與降低成本
為了適應大型游戲開發需求,Monolith Soft 成立了新的內部研發部門。這個部門的主要任務就是利用新技術來優化開發流程、降低人力成本。在開發大型游戲時,傳統的開發模式往往需要大量的人力資源,而這對于 Monolith Soft 來說是一個巨大的挑戰。通過自研新引擎,他們可以更加高效地進行游戲開發,減少不必要的重復工作,提高開發效率。例如,新引擎可以實現自動化的部分開發流程,減少人工干預,從而降低人力成本。同時,新引擎還可以提供更加便捷的開發工具和接口,讓開發人員能夠更加輕松地進行游戲開發。這樣一來,不僅可以提高開發效率,還可以提升游戲的質量和穩定性。
三、游戲開發降低人力成本的方法
(一)使用成熟游戲引擎
Unity 和 Unreal Engine 等成熟的游戲引擎已經被廣泛應用于市場上的許多成功游戲中。使用這些引擎可以大大減少開發時間和成本。一方面,這些引擎擁有豐富的功能和工具,能夠滿足游戲開發的各種需求。例如,Unity 的強大的跨平臺能力,可以讓游戲輕松地在多個平臺上發布,節省了針對不同平臺進行單獨開發的時間和成本。另一方面,這些引擎不斷更新和優化,開發者可以利用最新的技術和功能,提高游戲的質量和性能。
(二)外包團隊
外包團隊在游戲開發中可以發揮重要作用。與雇傭一支全職團隊相比,外包團隊往往更加便宜,并且能夠提供專業技能和經驗。例如,美術外包團隊可以為游戲提供高質量的畫面設計,音樂外包團隊可以為游戲創作動人的音樂。同時,外包還可以幫助游戲公司更好地管理項目進度。通過與外包團隊簽訂明確的合同和時間表,可以確保項目按時完成。
(三)重復使用代碼
在開發過程中,有些代碼可以被重復使用,例如音頻管理、UI 系統等。通過重復使用代碼,可以大大減少開發時間和成本。此外,使用開源項目也是一種有效的降低人力成本的方式。開源項目通常由社區開發者共同維護,具有較高的質量和穩定性。開發者可以根據自己的需求對開源項目進行修改和定制,從而快速實現游戲的功能。
(四)高效項目管理
建立一個高效的項目管理系統對于監督開發過程至關重要。這樣可以確保開發進度和質量,并避免不必要的人力浪費。使用敏捷開發方法可以幫助游戲公司更好地管理項目。敏捷開發強調團隊合作、快速迭代和客戶反饋,能夠提高開發效率和質量。同時,項目管理系統還可以幫助團隊成員更好地溝通和協作,提高工作效率。
(五)聘請專業人員
聘請經驗豐富的專業人員可以提高開發效率和質量。他們能夠快速解決問題并提供有用的建議。此外,他們還能夠傳授經驗和技能給其他團隊成員。例如,一位資深的游戲設計師可以為游戲提供創新的玩法和設計思路,一位優秀的程序員可以優化游戲的性能和穩定性。在聘請專業人員時,游戲公司需要考慮他們的經驗、技能和團隊合作能力,以確保他們能夠為游戲開發做出貢獻。
四、游戲引擎適應大型游戲需求的策略
(一)選擇合適的渲染方式
對于大型游戲而言,選擇合適的渲染方式至關重要。一般來說,大型游戲最好選擇 WebGL 渲染或者瀏覽器內嵌 Runtime。WebGL 渲染速度較快,能夠為游戲帶來更加逼真的畫面效果。例如,一些大型的 3D 游戲采用 WebGL 渲染,可以呈現出精美的場景和細膩的角色模型。同時,瀏覽器內嵌 Runtime 也為大型游戲提供了更多的可能性。它可以充分利用瀏覽器的性能優勢,實現更加流暢的游戲體驗。
(二)工具流支持與優化
選擇有完善工具流支持的游戲引擎是適應大型游戲需求的關鍵之一。例如,一些游戲引擎提供了靜態合圖和動態合圖的功能,可以大大降低 DrawCall 的數量,提高渲染效率。在開發過程中將散圖合成一張大圖的圖集,達到降低 DrawCall 的目的,這就是靜態合圖。而動態合圖則是在項目運行時,動態地將貼圖合并到一張大貼圖中,當渲染一張貼圖的時候,動態合圖系統會自動檢測這張貼圖是否已經被合并到了圖集(圖片集合)中。如果沒有,并且此貼圖符合動態合圖的條件,就會將此貼圖合并到圖集中。這樣就能確保相鄰的 DrawCall 能合并為一個 DrawCall,以合圖紋理代替碎圖紋理,從而減少 DrawCall。此外,節點順序調整也是引擎底層的性能優化方式之一,目的是保證相同紋理的渲染順序,降低 DrawCall。
(三)引擎瘦身與 Bug 修復
為了適應大型游戲的需求,引擎瘦身和 Bug 修復是必不可少的步驟。剔除用不到的代碼可以減少引擎包體積,例如 Native 代碼、Runtime 代碼、WX 等小游戲端兼容代碼、KTX 紋理相關代碼、ETC Loader 代碼等。對于一些游戲項目來說,雖然減少的體積可能看起來很小,但是對于部分網絡較差的地區,少量的體積優化也是有價值的。同時,及時修復引擎層面的 Bug 也是非常重要的。由于引擎官方可能會更新修復不及時,很多時候需要開發者自己去修復。例如 iOS 14/15 渲染卡頓問題、龍骨庫渲染問題、網絡以及音效問題等等。只有通過不斷地優化和修復,才能讓游戲引擎更好地適應大型游戲的需求。
五、展望未來游戲開發
Monolith Soft 自研新引擎為游戲開發帶來了新的機遇和挑戰。一方面,新引擎的開發和應用將為游戲開發者提供更多的可能性和創新空間。通過整合模型渲染和效果引擎等技術,新引擎能夠為游戲帶來更加逼真的畫面效果和沉浸式的游戲體驗。這將吸引更多的玩家參與游戲,推動游戲市場的發展。
另一方面,自研新引擎也面臨著一些挑戰。首先,開發和維護新引擎需要大量的時間和資源。Monolith Soft 需要不斷投入人力、物力和財力,以確保新引擎的穩定性和性能。其次,新引擎的推廣和應用也需要一定的時間和努力。游戲開發者需要學習和適應新引擎的使用方法和技術特點,這可能會增加開發成本和風險。
然而,盡管面臨挑戰,Monolith Soft 自研新引擎的潛力巨大。隨著技術的不斷進步和游戲市場的不斷發展,新引擎將不斷完善和優化,為游戲開發者提供更加高效、便捷和創新的開發工具。同時,新引擎的應用也將推動游戲行業的技術創新和發展,為玩家帶來更加精彩和豐富的游戲體驗。
Monolith Soft 自研新引擎為游戲開發帶來了新的機遇和挑戰。雖然面臨一些困難和風險,但新引擎的潛力巨大,值得期待未來更多優秀游戲作品的誕生。我們相信,在 Monolith Soft 的努力下,新引擎將為游戲行業的發展做出更大的貢獻。