為什麼(以及如何)你應該放棄Unity和Unreal並自己制作引擎

當啟動遊戲時,您經常會看到Unreal Engine或"Made with Unity"的啟動畫面,這是當今兩個最常見的遊戲引擎。長期開發者Rez Graham表示,這些引擎堅固成熟,但並非總是獨立開發者的最佳選擇。在GDC 2024的一場名為"建立您自己的遊戲引擎的理由"的演講中,他主張通過框架和庫(現有工具)來構建遊戲技術-提供一些主要優勢和開發者應該了解的一些缺點。

Graham在接受BleachKitty工作後曾在EA的《模擬市民》系列上獨立製作遊戲。從他的觀點和經驗來看,最受歡迎的遊戲引擎不總是最適合開發,這真的取決於您的目標和您想要製作的遊戲類型。這在理論上是有道理的,但他列出了在決定是建立自己的技術還是使用現有引擎時需要考慮的幾個因素。

使用外部引擎的永久許可費將累計,Graham表示:“從長期來看,它通常是具有成本效益的。我懷疑這間房間裡沒人正在製作遊戲並且他們確實做到了,我將去當農夫一段時間。”其含義是您將來也將使用自己的技術進行未來項目,這不僅僅是一次性投資。對於Graham來說,完全控制引擎及其使用方式很重要,他繼續說,“長期來看,這是具有成本效益的,因為您正在投資您自己的公司、您自己的技術、您自己的世界。您構建您想要的東西,而不是其他任何東西。所以這非常重要,這非常強大。”

基礎思維

這個想法是您將擁有一個特別適合製作您想製作的東西的基礎,正如Graham所說,“您可以說[例如],我正在製作的遊戲類型是這種羅格風格的遊戲。所以我將使用這個框架,然後我將在此基礎上構建我確實需要的精確系統,這可能使我能夠相對輕鬆地製作羅格風格的遊戲。”然而,引擎構建過程和開發應該重疊,他提出,“我不是說,讓我們從花兩年構建一個引擎開始。您要做的是構建您自己的技術。您製作遊戲並並根據需要提取東西出來。”

在使用相互關聯的框架方面,Graham舉了一個實踐中他所指的例子-使用SDL進行操作系統、渲染、音效和輸入(SFML也很好用),然後使用Box2D進行物理仿真、Tiled進行關卡編輯、Tinyxml進行XML加載以及Sol/Lua。他重申還有很多免費的開源庫可以使用。並且所有這些框架協同工作,您可以創建一個特別適合您的東西,您完全控制並更深入地了解的精簡遊戲引擎。

他提到的其中一個缺點是使用這些類型的框架通常需要C++知識,說:“即使您實際上不需要有人寫C++,它可能需要低級知識或理解。”但使用這些工具使故障排除過程變得更加容易,讓您能夠識別並修復問題,而不是從Unreal或Unity引擎中篩選可能的一大堆錯誤消息。

一張顯示各種引擎解決方案的表格

雖然使用自己的技術無需擔心許可費,但Graham承認,由於當然,構建自己的技術需要時間,因此前期成本更高。在後續問題中,他還承認,對於像Unreal或Unity這樣的東西是大型遊戲的最佳選擇,並指出《赛博朋克2077》就是一個例子。由於該遊戲是建立在CD Projekt Red的REDengine上,“設計師們在處於移動目標中。引擎一直在不斷構建,而設計師們正在試圖為其製作內容,所以對他們來說並不順利。”

Graham指出的另一個因素是開始讓其他人參與項目時的“自動知識”。您基本上放棄了其他開發人員對更知名遊戲引擎的機構知識,這意味著您需要自己的文檔,通常需要了解C++至少在基本水平上使用前述框架的人。

盡管Unreal和Unity可能無處不在,他指出了幾款建立在自己的技術上的知名獨立遊戲,其中包括《星露谷物语》、《堡垒》、《最黑小队》、《铲子骑士》、《终结》等等。Graham重申,建立自己的技術仍然取決於您想製作的遊戲類型。

最後,Graham提到的一點是,獨立遊戲可以推動界限並進行實驗,特別是在技術創新方面,他表示:“Epic正在進行他們自己的技術創新,Unity也在進行他們自己的技術創新,但他們也必須成為所有人的一切。他們不能太遠離平坦的道路。”他總結說,“現在有一些非常有趣的獨立遊戲,其中一些進行了一些有趣的技術創新... 當您構建自己的技術時,您可以做一些非常瘋狂的事情,這是我們缺失的。”

遊戲開發者和遊戲開發者大會是在Informa Tech旗下的子組織。