前言
如果你符合以下任何一種情況,那麼這篇文章應該能解決你的困擾:
- 有基本的程式概念,並且有心要挑戰新的遊戲引擎
- 使用過Game Maker或Unity等遊戲引擎,正在尋找替代方案
- 沒使用過任何開發引擎,不確定是否要投入金錢製作遊戲
針對這些情形,本文會先介紹Godot這個遊戲引擎的特色,並列舉幾個以Godot開發的遊戲/引擎/其他程式,最後推薦給想學習Godot的人一些入門教學和網站。
Godot簡介
Godot的歷史和維護
Godot於2014年7月首次發行,同年12月邁入1.0版,最早是由Juan Linietsky和Ariel Manzur所開發,現在則由整個Godot社群共同維護。目前最新的正式版本為Godot 3.3.3,發行於2021年8月19日。
Godot本身為開源免費的程式,但它也會以Patreon募資等方式籌措資金,並用這些錢雇用工程師維護Godot。捐款詳情可以在
Godot的官方網站和
Patreon頁面進行確認。
Godot適用的系統與輸出
系統方面,Godot引擎支援Windows、MacOs和Linux等作業系統,可直接匯出的平台則包含PC、行動裝置、網頁和VR等等。另外,由於開源程式的授權(license)限制,匯出Godot的遊戲到主機平台上可能需要發行商協助進行。
Godot的特色
除了完全免費和開源,Godot還有許多特點,以下列舉幾個對初學者最重要的:
- 支援多種程式語言,開發遊戲的主要語言有GDScript、C++和C#,且內建的GDScript編譯器具有預測字典、醒目提示、快速查詢等功能。
- 能夠分析程式效能,提供初學者改進程式碼的提示。
- 支援鍵盤和手把輸入。
- 主要使用節點(Node)和場景(Scene)作為架構的基本單位,節點可以是被放入場景中的演員和道具,可以是UI介面,也可以是看不見的流程控制器。開發者可以藉由替換節點,重複利用遊戲資源,減少繁瑣的作業。
GDScript
GDScript是物件導向的程式語言,但它的語法和Python有許多相似處。以GDScript撰寫的程式副檔名為.gd,大小寫有區別、縮排會影響程式運行。更詳細的說明可參考
官方手冊,它有未完成的繁體中文版本。
特別值得一提的是,Godot編輯器本身就是用GDScript寫成的。因此,使用者可以靠著輸出變數(export var)等指令自訂編輯器介面,甚至能產生一個新的遊戲引擎。知道Godot編輯器本身就是程式的一部分,對於學習使用Godot來說是很重要的基本概念,也是Godot當初開發的核心理念之一。
換句話說,對程式的了解愈深,就能將Godot編輯器改造成更適合自身需求的模樣。
以Godot開發的各種程式
用Godot能開發什麼樣的程式?根據SteamDB偵測的結果,可以找出Steam上用Godot引擎開發的遊戲及應用程式,在此列舉幾個撰寫時,評價到達90%以上好評,也就是壓倒性好評的遊戲給各位參考。
開發者:Team9
《文字遊戲》是以「我」作為主角,藉由華語文字的特性進行冒險的益智遊戲。無論是敘述或用文字排出的景物,都可能是破關的契機。
之前筆者有關注這款遊戲的募資,沒想到它竟然是用Godot開發的,不知該說是驚訝還是不驚訝。
開發者:DU&I
Virtual Cottage是個免費的工作輔助應用程式,可以設定目標、倒數計時並播放音樂和白噪音。倒數計時的同時,畫面上的小人也在專心工作,非常可愛。
Curelty Squad(93.04%)(警告:本遊戲畫面可能引起不適或光敏性癲癇)
開發者:Consumer Softproducts
這款FPS遊戲的顏色設計非常詭異,但是其優異的遊戲性足以讓玩家克服違和感,可見開發團隊的功夫了得。雖然如此,在觀看影片或遊玩的過程中若感到不適,請千萬不要勉強繼續。
開發者:Daveyyy
操縱1*1的像素點跑跑跳跳,看起來好像很簡單,但不見得如此。推薦給喜歡平台遊戲的玩家,以及想研究關卡設計的玩家。
Godot教學資源推薦
除了官方手冊以外,還有一些教學資源可以幫助初學者更快學會Godot的基本概念,以下列舉幾個給各位參考。
GDQuest可以算是最有名的Godot教學之一,他們免費提供許多初階的基礎概念課程、實作課程,以及進階的付費課程。
推薦對象:沒有任何程式基礎,或喜歡按部就班的初學者
和GDQuest一樣是為沒有基礎的初學者設計,KidsCanCode的分類是以整個遊戲開發概念為依據,並且會解釋函式和專有名詞。另外,KidsCanCode有較多針對問題和解決的範例,對於寫程式卡關的人很有幫助。
推薦對象:想了解遊戲開發的概念,或寫程式時遇到困難,急需解答的初學者
同樣是面對Godot初學者的教學,HeartBeast的教學比較針對一種特定遊戲分類,並且比起GDQuest更要求程式基礎。
推薦對象:有程式基礎,已經想好要開發哪種遊戲的初學者
由Reddit網友整理的一系列Godot教學,內容又多又雜,幾乎什麼都包辦了。但是因為內容涵蓋得有些太廣,對沒有方向的初學者來說可能不那麼適合。
推薦對象:能自己訂定學習目標或計畫的開發者、尋找特定程式的寫法
Godot官方Discord
在Discord搜尋"Godot"就能找到官方Discord伺服器。你可以在這裡用英文詢問問題、參考他人的問題或開發經歷、找遊戲相關的工作或雇用想找工作的工程師、藝術家等等。
推薦對象:願意遵守官方Discord的規則,並尊重其它成員
小結
以上就是對Godot的入門介紹。近年來有不少遊戲開發者將Unity或GameMaker這些熱門付費引擎和Godot相比較,可見Godot並不因為其自由軟體的特性而遜色。
如果各位想要在投入資金前先嘗試幾款遊戲引擎,或者偏好使用自由軟體,Godot會是非常好的選擇,請一定要考慮看看。
參考資料