選擇遊戲引擎,是那種會默默影響一個專案好幾年的決定。對 indie developer Thomas Grové 來說,答案不是先上網吵架——而是把同一款遊戲做兩次。
Grové 在 5 月 17 日發布的影片中,分享了他把正在開發中的 horror adventure game 分別用 Unity 和 Godot Engine 重做的經驗。他其實已經完成了專案的基礎系統,但沒有盲目押注某一個引擎,而是用 Godot 重新打造一次,看看哪一套 workflow 對最終版本來說真的更順手。
這個實驗之後在 Reddit 的 developer 圈子引起不少討論,尤其是因為 Unity 和 Godot 都是 indie creator 常見的選擇。Unity 依然是名氣大很多的那個:今年 GDC Festival of Gaming 的 Game Developers Conference 調查顯示,30% 的開發者把 Unity 列為主要引擎,而 Godot 是 5%。不過,Godot 的口碑也一直在升,像 Slay the Spire 2 這類更高曝光度的專案採用它,也幫了不少。
對 Malaysian 和 SEA indie devs 來說,這場辯論真的很現實。不是每個人都有 monster workstation、很多 SSD 空間和無限時間。很多學生團隊、solo dev、下班後做 game 的 hobbyist,都是用 laptop 在做,還要同時應付上課、工作、freelance gig,或 game jam deadline。在這種情況下,「小小」的 workflow 差異可以變得很大。
根據 Grové 的說法,兩個引擎都能跑他想做的那種 horror adventure game。Performance 不是主要致命點。他的目標是 60fps,而 Unity 和 Godot 據說都能跑到高出好幾倍。即使未來加入視覺升級,他也覺得兩邊都有足夠 headroom。
更大的差距是在日常使用體驗。光是安裝大小就很誇張:Unity 加上 Unity Hub 和相關元件,大約需要 21GB,而 Godot 大概只有 164MB。對在 Malaysia、storage 有限的 dev,或者任何用普通家用網路下載工具的人來說,這不只是冷知識。它會影響 setup、換機器、或 onboard team mate 的難易度。
Iteration speed 是另一個重點。Grové 的 script compilation 測試中,Unity 花了 15.4 秒,而 Godot 只花 0.31 秒。這很重要,因為 dev 會不斷重複這個流程:改 script、test、fix、再 test。Unity 標準的 C# workflow 使用 compiled language,而 Godot 的 GDScript 是 interpreted,這也解釋了速度差異。
Build times 在他的測試中也明顯偏向 Godot。Unity 的第一次 build 據說花了大約 15 分鐘,而 Godot 約 2.5 秒就完成。整體來看,Unity 在 full build 和 startup times 方面也比較慢。
比較之後,Grové 決定繼續用 Godot 開發。他的影片也談到其他實際差異,包括 editor interface、import 3D models,以及 Godot 預設會把所有 project assets 都包含進去,除非手動調整;這可能導致檔案大小不必要地變大。
不過,這不是一個乾淨俐落的「Unity 爛、Godot 好」結論。有些 developer 反駁說,當專案包含大量 objects 時,Godot 可能會更吃力。也有人質疑兩個版本是否同樣 optimised,這是合理的。重做一款遊戲也代表第二個版本可能受益於第一次嘗試學到的經驗。
職涯角度也很重要。如果你目標是 studio jobs,Unity 依然有明顯優勢,尤其是更多團隊本來就在用它。對 SEA 的 fresh grads 或 junior dev 來說,會 Unity 仍然能打開不少門。但對 solo projects、prototypes、game jams,以及精簡 indie team 來說,Godot 更輕量的 setup 和更快的 iteration,真的越來越有吸引力。
真正的 takeaway?不要純粹因為 fanboy wars 來選引擎。如果你的專案還在早期,試著在兩邊都做一個小 slice。對很多 Malaysian dev 來說,最好的引擎不一定是最有名的那個——而是那個讓你每晚不用跟工具打架、可以繼續把遊戲做下去的引擎。
Source: Automaton Media