背景
Godot 引擎近期發布了 4.6 版本,本次更新以「流暢的工作流」為核心,推出了多項重大功能,包括允許將引擎嵌入自定義應用程式的 LibGodot、改進的 3D 骨骼變形系統,以及針對渲染效能與開發者體驗的優化。這項更新在 Hacker News 上引發了關於遊戲引擎架構、腳本語言選擇以及 Godot 是否具備商業大作開發能力的深度討論。
社群觀點
在本次更新中,LibGodot 的推出最受開發者關注。許多留言指出,過去 Godot 的控制反轉架構使得自動化測試與自定義工作流變得相當困難,因為所有邏輯都必須依附於引擎的主循環與節點樹。LibGodot 讓開發者能將引擎作為庫直接嵌入應用程式,掌握啟動與循環的控制權,這對於建立測試運行器或整合至現有軟體架構具有里程碑意義。雖然有開發者對其穩定性持觀望態度,但普遍認為這解決了長期以來的結構性痛點。
關於 Godot 的體積與效能,社群展開了一場有趣的對比。數據顯示 Godot 從 2014 年的 9.4 MB 增長至目前的 79.4 MB,儘管體積翻倍,但與動輒數百 MB 的現代桌面應用程式或 Unity、Unreal 等引擎相比,其輕量化程度依然令人驚嘆。然而,也有討論提醒這並不包含約 800 MB 的導出模板,這是與其他引擎比較時常被忽略的細節。
爭議最激烈的焦點在於腳本語言的選擇。部分專業開發者對 Godot 持續重注於 GDScript 表示不滿,認為這種仿 Python 的語言在處理大型專案時缺乏嚴謹的類型檢查與效能。同時,C# 的支持被批評為「二等公民」,特別是 Godot 4 中 C# 網頁導出功能的缺失,以及與外部編輯器整合時的摩擦,讓不少從 Unity 轉向 Godot 的開發者感到挫折。批評者認為,若 Godot 將開發 GDScript 的資源投入到更成熟的語言生態或引擎核心,其競爭力將更強。
然而,支持者則反駁 GDScript 是為引擎量身打造的 DSL,學習曲線極低且與編輯器高度整合,非常適合快速原型開發。針對 C# 的效能與垃圾回收問題,有留言提到《殺戮尖塔 2》等知名作品選擇 Godot 證明了其商業可行性,且 JetBrains Rider 等工具的介入正逐步改善開發體驗。此外,GDExtension 的進步也為追求極致效能的開發者提供了 Rust、Swift 或 C++ 等替代方案。
最後,關於 Godot 是否僅是「教學玩具」的爭論也浮上檯面。雖然 Godot 在 Steam 上的遊戲數量增長迅速,但多數仍屬於技術門檻較低的 2D 作品。部分資深開發者指出,Godot 在 3D 領域與大型專案中仍存在許多細小的體驗瑕疵,這些「隱形摩擦」往往是阻礙專業工作室全面採用的主因。儘管如此,Godot 4.6 在 3D 骨骼修改器等功能上的回歸,顯示出開發團隊正積極修補 4.0 版本跳躍時留下的斷層。
延伸閱讀
- Chickensoft:針對 Godot 與 C# 開發的開源工具與框架生態系。
- SwiftGodot:由 Mono 創始人 Miguel de Icaza 發起的專案,旨在將 Swift 引入 Godot 開發。
- Godot-Rust:提供高效能 Rust 綁定的官方推薦擴展工具。
- SteamDB Godot 標籤:追蹤目前在 Steam 上使用 Godot 引擎開發的遊戲數據與趨勢。