# 2D 遊戲開發,除了 Unity 你還可以考慮試試 Godot!以《文字遊戲》為例 ###### tags: `2022TGDF` `台北遊戲開發者論壇` `共筆筆記` - [2022 TGDF 台北遊戲開發者論壇](https://2022.tgdf.tw/) - [共筆目錄](https://hackmd.io/@samuel-t-chou/2022-TGDF) # 基本資訊 https://2022.tgdf.tw/speakers/wenhan_chang_team9 張文瀚 | Team9 共同創辦人 張文瀚, Team9 共同創辦人、《文字遊戲》遊戲工程師,在這之前是一位完全沒做過遊戲的網站前端工程師。 Team9 成立於 2018 年,成員涵括設計、影像、程式、行銷及文字領域的創作者。2022 年於 Steam 平台推出首發作品《文字遊戲》,帶給玩家耳目一新的體驗。作品多次在國內外斬獲獎項:「2021 Indie Game Award 最佳創新獎」、「2021 GWB 金獎」、「2020 巴哈姆特 ACG 創作大賽 遊戲組 金獎」--等。 ## 議程介紹 > 語言:中文 說到遊戲引擎,相信大家最熟悉的絕對是 Unity 與 Unreal,但 Team9 作為從來沒有做過遊戲的新手團隊,卻選擇使用一個在國內默默無名的開源遊戲引擎「Godot Engine」,在兩年的開發過後發售《文字遊戲》並於市場取得了成功。 講者想分享關於 Godot Engine 的功能介紹、開發流程、與 Unity 的優缺點比較、各種製作實務與這兩年來使用的心得,希望能讓台灣的遊戲開發者們認識這款引擎,提供開發上的另一個選擇。 目標對象:獨立遊戲工作室、想了解遊戲開發的人、軟體工程師等,但不預設基礎知識。 預期收穫:認識一個新的遊戲引擎、了解遊戲開發的過程。 # 內容筆記 <!-- 在這裡之下寫筆記。 --> ## 緣起 - 團隊唯一的工程師 - 整個團隊以前幾乎都沒有遊戲開發的經驗 - 講者以前是寫前端的,不習慣強型別語言 - 第一個遊戲引擎的經驗是 RPG maker - 格狀地圖 - 事件互動 - RPG maker 可以用 js 寫,比較熟悉 - 所以講者魔改了 RPG maker,勉強堪用,做完了 demo - 可是 RPG maker 後面不容易擴展,所以想找其他 solution - 最後就選擇了 godot ## Godot 簡介 - 開源 - 用 godot 的遊戲 - 音速小子究極版,聽說是魔改 godot 來開發的 - 設計理念 - 互相獨立的 2D / 3D 引擎 - 開源 ### 場景結構 - 基礎為 Node - Node 組成的樹就是 Scene - Scene 裡面可以有 Scene - Scene 更新的時候會同步更新引用他的 Scene ### GDScript - 類似 python - 官方推薦 GDScript,但可以用 C#,或是透過 GDNative 去使用其他語言開發 - 而且可以混用 ### 遊戲輸出 - 多平台輸出 - 可切換 render engine - GLES2 - GLES3 - ... ### Godot 4.0 - render engine 升級 - 物理引擎升級 - 編輯器 UI 更新 > 社群驅動,遊戲開發者最知道自己需要什麼 ### 官方文件 - 英文 - 簡中 - 繁中 (WIP) ### 推薦的教學頻道 - GDQuest - HeartBeast ### 輕量 + All in One Binary - ~150 MB - 輸出再額外下載 template - 大部分工作就在 editor 裡面進行就好 - 檔案、Scene 管理 - script editor - shader 編輯 - 版控 ### Scene 文件是純文字格式 - 方便人類閱讀與編輯 ### 優秀的 UI 系統 - godot editor 本身也是用 godot 開發的 ### 多樣化,好上手的動畫製作方式 - GUI - Animated Sprite - Animated Player - 團隊動畫師後面就自己透過 Animated Player 去做了 - Animated Tree - 動畫的狀態機,應該類似 Unity 的 Animator - 講者說文字遊戲內沒怎麼用到 - 2D + 3D - Viewport + ViewportTexture - 加強版的 Render Texture ### Scripting - Game Script -> Runtime - Tool Script -> Viewport - Plugin Script -> Editor - 講者在 godot 裡面自己客製化了一個遊戲內的事件編輯器 - GDNative -> Engine - C++ module -> Engine - Source Code -> Software ## Godot 缺點 ### 3D render 較弱 - 使用 OpenGL 來 render - 多數 3D 作品走 low poly 或 retro 路線 ### 社群相對小 - 教學少 - 範例少 - 遇到相同問題的人少 - 中文資源少 ### 生態系相對小 - 素材少 - 插件少 ### 主機移植困難 - 因為各種 license 問題,沒有辦法有官方支援 - 要買第三方公司出的套件或自行研究 :::info 講者正在跟第三方公司合作,剛開始進行 Switch 移植 ::: ## 結論 ### 適合什麼類型的遊戲? - 任何 2D 遊戲 - note:講者有提到他自己沒有用 Unity 去開發過產品的經驗 - 風格化 3D 遊戲 - low poly - retro - prototype / demo - game jam ### 誰適合用 Godot - 喜歡小規模遊戲 - 喜歡掌控一切 aka 喜歡造輪子 - 喜歡吸收英文資源 - 喜歡動手做改造 - 對開源有熱情,想參與遊戲引擎開發 ### 誰不適合用 Godot - 想做大規模遊戲 - 想做高畫質 3D 遊戲 - 不擅長英文 - 喜歡用大量現成套件 - 喜歡和台灣社群一起交流學習的人 - 因為現在沒有 QQ ### 兩年來的使用心得 - 自由,順手 - UI / UX 很棒 - 官方文件很棒 - 方便 Git 協作 - 2D 開發很舒服 - 3D 開發還可以 總之就是非常喜歡 :+1: ## Q&A > 輸入(手把之類的)、l10n 的支援? - l10n 沒經驗,文字遊戲沒這需求 > Asset 管理特色? - 暫時沒想到 - 但使用上沒有遇到困難 > 用過 GDNative (e.g. godot-rust) 沒有 > 沒程式背景的話? - 建議先看看 youtube 教學試試水溫 - 講者本身有前端的工作經驗 > 有內建連線功能嗎? 有 > 有輸出過 mobile 嗎? - 有,沒遇到問題 - 但 iOS 還沒試過 > 從前端和互動藝術轉換到遊戲開發,有遇到什麼困難嗎? - 有 - 但講者喜歡學習,所以覺得沒啥問題 > 3D scene 的文字濾鏡 - 講者自行開發 shader > 適合開發 AVG 遊戲嗎 - 講者認為適合 - 有熱門的對話插件 > 開發文字遊戲時有遇到特別的難題嗎? - 需要做很多客製化 - 難以用通用邏輯表示遊戲內的謎題 > 沒程式背景的話,建議從哪個語言入手 - Python / JS / GDScript 之類的 > 3D 有限制,那 2D 可以做到什麼程度? - 文字遊戲沒有這種需求,所以不大清楚 > 當初試玩版是用 RM 做的? 沒錯! > 討厭弱型別的話還適合 godot 嗎? - 可以加 type notation > 我 60 歲,適合學 godot 嗎? - 可以 - 沒程式基礎也還行吧 ## 團隊介紹 - [Team9](https://www.facebook.com/Team9.co) - 絕大部分成員都沒有遊戲開發的經驗 - 負責人本身是做工業設計 / 平面設計
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up