方格精選

Godot:開源、免費、支援2D和3D的遊戲引擎介紹

更新於 發佈於 閱讀時間約 6 分鐘

前言

如果你符合以下任何一種情況,那麼這篇文章應該能解決你的困擾:
  1. 有基本的程式概念,並且有心要挑戰新的遊戲引擎
  2. 使用過Game Maker或Unity等遊戲引擎,正在尋找替代方案
  3. 沒使用過任何開發引擎,不確定是否要投入金錢製作遊戲
針對這些情形,本文會先介紹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還有許多特點,以下列舉幾個對初學者最重要的:
  1. 支援多種程式語言,開發遊戲的主要語言有GDScript、C++和C#,且內建的GDScript編譯器具有預測字典、醒目提示、快速查詢等功能。
  2. 能夠分析程式效能,提供初學者改進程式碼的提示。
  3. 支援鍵盤和手把輸入。
  4. 主要使用節點(Node)和場景(Scene)作為架構的基本單位,節點可以是被放入場景中的演員和道具,可以是UI介面,也可以是看不見的流程控制器。開發者可以藉由替換節點,重複利用遊戲資源,減少繁瑣的作業。

GDScript

GDScript是物件導向的程式語言,但它的語法和Python有許多相似處。以GDScript撰寫的程式副檔名為.gd,大小寫有區別、縮排會影響程式運行。更詳細的說明可參考官方手冊,它有未完成的繁體中文版本。
特別值得一提的是,Godot編輯器本身就是用GDScript寫成的。因此,使用者可以靠著輸出變數(export var)等指令自訂編輯器介面,甚至能產生一個新的遊戲引擎。知道Godot編輯器本身就是程式的一部分,對於學習使用Godot來說是很重要的基本概念,也是Godot當初開發的核心理念之一。
換句話說,對程式的了解愈深,就能將Godot編輯器改造成更適合自身需求的模樣。

以Godot開發的各種程式

用Godot能開發什麼樣的程式?根據SteamDB偵測的結果,可以找出Steam上用Godot引擎開發的遊戲及應用程式,在此列舉幾個撰寫時,評價到達90%以上好評,也就是壓倒性好評的遊戲給各位參考。

《文字遊戲》第零章(94.15%)

開發者:Team9
《文字遊戲》是以「我」作為主角,藉由華語文字的特性進行冒險的益智遊戲。無論是敘述或用文字排出的景物,都可能是破關的契機。
之前筆者有關注這款遊戲的募資,沒想到它竟然是用Godot開發的,不知該說是驚訝還是不驚訝。

Virtual Cottage(93.79%)

開發者:DU&I
Virtual Cottage是個免費的工作輔助應用程式,可以設定目標、倒數計時並播放音樂和白噪音。倒數計時的同時,畫面上的小人也在專心工作,非常可愛。

Curelty Squad(93.04%)(警告:本遊戲畫面可能引起不適或光敏性癲癇)

開發者:Consumer Softproducts
這款FPS遊戲的顏色設計非常詭異,但是其優異的遊戲性足以讓玩家克服違和感,可見開發團隊的功夫了得。雖然如此,在觀看影片或遊玩的過程中若感到不適,請千萬不要勉強繼續。

Micro Platfomer(91.76%)

開發者:Daveyyy
操縱1*1的像素點跑跑跳跳,看起來好像很簡單,但不見得如此。推薦給喜歡平台遊戲的玩家,以及想研究關卡設計的玩家。

Godot教學資源推薦

除了官方手冊以外,還有一些教學資源可以幫助初學者更快學會Godot的基本概念,以下列舉幾個給各位參考。

GDQuest

GDQuest可以算是最有名的Godot教學之一,他們免費提供許多初階的基礎概念課程、實作課程,以及進階的付費課程。
推薦對象:沒有任何程式基礎,或喜歡按部就班的初學者

KidsCanCode

和GDQuest一樣是為沒有基礎的初學者設計,KidsCanCode的分類是以整個遊戲開發概念為依據,並且會解釋函式和專有名詞。另外,KidsCanCode有較多針對問題和解決的範例,對於寫程式卡關的人很有幫助。
推薦對象:想了解遊戲開發的概念,或寫程式時遇到困難,急需解答的初學者

HeartBeast

同樣是面對Godot初學者的教學,HeartBeast的教學比較針對一種特定遊戲分類,並且比起GDQuest更要求程式基礎。
推薦對象:有程式基礎,已經想好要開發哪種遊戲的初學者

Godot Reddit List

由Reddit網友整理的一系列Godot教學,內容又多又雜,幾乎什麼都包辦了。但是因為內容涵蓋得有些太廣,對沒有方向的初學者來說可能不那麼適合。
推薦對象:能自己訂定學習目標或計畫的開發者、尋找特定程式的寫法

Godot官方Discord

在Discord搜尋"Godot"就能找到官方Discord伺服器。你可以在這裡用英文詢問問題、參考他人的問題或開發經歷、找遊戲相關的工作或雇用想找工作的工程師、藝術家等等。
推薦對象:願意遵守官方Discord的規則,並尊重其它成員

小結

以上就是對Godot的入門介紹。近年來有不少遊戲開發者將Unity或GameMaker這些熱門付費引擎和Godot相比較,可見Godot並不因為其自由軟體的特性而遜色。
如果各位想要在投入資金前先嘗試幾款遊戲引擎,或者偏好使用自由軟體,Godot會是非常好的選擇,請一定要考慮看看。

參考資料

Godot的官方網站:https://godotengine.org/
SteamDB統計,使用Godot開發的Steam遊戲:https://steamdb.info/tech/Engine/Godot/
為什麼會看到廣告
avatar-img
4會員
4內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
羅克克的沙龍 的其他內容
最近因為選修課程的關係,需要用3D建模軟體製作模型。恰好這時,我手上有一位相隔十年的原創角色需要更新設計。於是我決定將這位角色所使用的長槍製作成3D模型,方便日後參考和利用……
如果遊玩Hylics2時卡關,或者有看不懂的劇情,這裡可以回答您大多數的問題。
要把不可言說的困惑、古怪乃至於潛藏在每個人心裡的瘋狂搬上檯面來論述,是一件很困難的事情。可是我們又不能忽略它的存在,舉凡是人心中的元素,就注定要有個出口,而Hylics2就是有這種挑戰不可能的能耐,而且取得成功的遊戲。
最近因為選修課程的關係,需要用3D建模軟體製作模型。恰好這時,我手上有一位相隔十年的原創角色需要更新設計。於是我決定將這位角色所使用的長槍製作成3D模型,方便日後參考和利用……
如果遊玩Hylics2時卡關,或者有看不懂的劇情,這裡可以回答您大多數的問題。
要把不可言說的困惑、古怪乃至於潛藏在每個人心裡的瘋狂搬上檯面來論述,是一件很困難的事情。可是我們又不能忽略它的存在,舉凡是人心中的元素,就注定要有個出口,而Hylics2就是有這種挑戰不可能的能耐,而且取得成功的遊戲。
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文分享一位遊戲製作新手的學習過程和經驗,透過Godot引擎創建自己的2D平臺跳躍遊戲。文章詳細介紹了使用Brackeys教學影片的心得,以及在實作過程中遇到的挑戰與解決方案,並鼓勵其他初學者勇敢動手,享受創作的樂趣。文章適合對遊戲開發感興趣的讀者,特別是那些希望嘗試製作自己的遊戲的人。
Thumbnail
這篇內容,將會講解什麼是腳本函式,以及與腳本函式相關的知識。包括腳本的簡介、使用函式(或全域變數)的注意事項、定義全域變數、定義函式、什麼是宣告、局部變數的應用。
Thumbnail
一個獨立開發者,立志打造顛覆性的遊戲體驗,在開拓全新玩法的道路上,砥礪前行。 大家好,我正在開發一款獨立遊戲,以魔法戰鬥為主題,如果想要嘗試遊戲的demo,歡迎到下方連結處,加入我的Discord群組。 魔法與戰鬥的世界---開發中的遊戲   這款遊戲發生在一個飄浮於雲端之上的世界,
Thumbnail
這篇內容,簡單介紹了GameMaker的遊戲製作原理。包括Object、參數、程式碼等概念。同時也簡單介紹了GameMaker的適用範圍和特色。
Thumbnail
Instrumect 是我從2022年10月開始製作的遊戲。 在那之前,其實嘗試過各種大大小小的遊戲開發,包括RPG、橫向射擊、2D平台遊戲等,但最後都熱情耗盡,所有項目皆斷尾(ゝ∀・)⌒☆ 當初會選擇開發那些類型,不外乎考慮市場熱門程度和製作難易度。而最後會沒了熱情,是因為我對那類遊戲興趣沒很
Thumbnail
Steam上的遊戲製作工具那麼多,到底哪個比較好用呢? 我只能說,每個人的能力和想製作的遊戲類型都不同,適合的工具當然也不會一樣,只能你自己去選擇最適合的。 雖然沒有辦法推薦最適合你的,但可以告訴你避開地雷工具的訣竅!
Thumbnail
我其實不算程式出身。 我在香港中學畢業(亦則高中畢業)後,飛到台灣讀多媒體,大二才接觸程式。 如果是程式老手,可能可以直接用C++、Python這些程式語言來做遊戲。但新手如(當時的)我,需要一個遊戲引擎。 事實上,程式老手也會需要遊戲引擎。畢竟直接使用程式碼大概就和鑽木取火差不多,而遊戲引擎
Thumbnail
學完基礎的Lua語法後,今天開始製作第一個遊戲畫面了!
專欄簡介 你是否跟我一樣想做出屬於自己的遊戲? 不會代碼, 沒有經驗, 不會任何遊戲引擎也想進入製作遊戲的世界嗎? 此專欄會包跨 Renpy 的基礎入學教學到獨立製作出完整視覺小說 / 文字冒險遊戲也包跨自訂遊戲的外觀 UI。 除此之外也會時不時分享一些各位在遊戲創作上可以用到的資源 自我介紹 你好
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文分享一位遊戲製作新手的學習過程和經驗,透過Godot引擎創建自己的2D平臺跳躍遊戲。文章詳細介紹了使用Brackeys教學影片的心得,以及在實作過程中遇到的挑戰與解決方案,並鼓勵其他初學者勇敢動手,享受創作的樂趣。文章適合對遊戲開發感興趣的讀者,特別是那些希望嘗試製作自己的遊戲的人。
Thumbnail
這篇內容,將會講解什麼是腳本函式,以及與腳本函式相關的知識。包括腳本的簡介、使用函式(或全域變數)的注意事項、定義全域變數、定義函式、什麼是宣告、局部變數的應用。
Thumbnail
一個獨立開發者,立志打造顛覆性的遊戲體驗,在開拓全新玩法的道路上,砥礪前行。 大家好,我正在開發一款獨立遊戲,以魔法戰鬥為主題,如果想要嘗試遊戲的demo,歡迎到下方連結處,加入我的Discord群組。 魔法與戰鬥的世界---開發中的遊戲   這款遊戲發生在一個飄浮於雲端之上的世界,
Thumbnail
這篇內容,簡單介紹了GameMaker的遊戲製作原理。包括Object、參數、程式碼等概念。同時也簡單介紹了GameMaker的適用範圍和特色。
Thumbnail
Instrumect 是我從2022年10月開始製作的遊戲。 在那之前,其實嘗試過各種大大小小的遊戲開發,包括RPG、橫向射擊、2D平台遊戲等,但最後都熱情耗盡,所有項目皆斷尾(ゝ∀・)⌒☆ 當初會選擇開發那些類型,不外乎考慮市場熱門程度和製作難易度。而最後會沒了熱情,是因為我對那類遊戲興趣沒很
Thumbnail
Steam上的遊戲製作工具那麼多,到底哪個比較好用呢? 我只能說,每個人的能力和想製作的遊戲類型都不同,適合的工具當然也不會一樣,只能你自己去選擇最適合的。 雖然沒有辦法推薦最適合你的,但可以告訴你避開地雷工具的訣竅!
Thumbnail
我其實不算程式出身。 我在香港中學畢業(亦則高中畢業)後,飛到台灣讀多媒體,大二才接觸程式。 如果是程式老手,可能可以直接用C++、Python這些程式語言來做遊戲。但新手如(當時的)我,需要一個遊戲引擎。 事實上,程式老手也會需要遊戲引擎。畢竟直接使用程式碼大概就和鑽木取火差不多,而遊戲引擎
Thumbnail
學完基礎的Lua語法後,今天開始製作第一個遊戲畫面了!
專欄簡介 你是否跟我一樣想做出屬於自己的遊戲? 不會代碼, 沒有經驗, 不會任何遊戲引擎也想進入製作遊戲的世界嗎? 此專欄會包跨 Renpy 的基礎入學教學到獨立製作出完整視覺小說 / 文字冒險遊戲也包跨自訂遊戲的外觀 UI。 除此之外也會時不時分享一些各位在遊戲創作上可以用到的資源 自我介紹 你好