獨立遊戲開發入門指南
題圖來自 twenty20 訂閱
從開始開發遊戲到現在大概有五年,有時候在想如果現在給過去的自己一點建議也許能有一點幫助。
所以這篇日誌主要是分享一下自己對於獨立遊戲開發入門的一些想法。
這篇文章由愛發電支援寫作!如果你喜歡我做的事情,可以考慮在愛發電支援我。
引擎選擇
在選擇引擎時候主要考慮的大方向是:為了日後找份相關工作還是單純做個遊戲。
找份相關工作
如果是目標是學習之後可以進入遊戲行業找份相關工作,那麼目前國內推薦的只有幾個:Unity、虛幻4和國內一些 H5引擎。關於這些引擎除了 Unity 以外我瞭解不多而且也很多人也都介紹過了。
實際上目前用得最多的人群就是 Unity 和虛幻,而個人上手來看這倆引擎都比較重,不夠輕便也不是很容易上手。
單純做個遊戲
如果是單純做個遊戲,可供選擇的引擎就有很多。
像 Baba is you 就是 Click Fusion引擎,Celeste、FEZ 和 星露穀物語 是MonoGame 引擎,UnderTale 和 Downwell 是 GameMaker,Total Party Kill 則是使用Stencyl。
這裡只討論 2D 遊戲,我對 3D 沒什麼興趣。
從我摸過的一些引擎我主要分成三種人群:不寫程式碼要崩潰、寫程式碼要崩潰的開發者和中立的開發者
不寫程式碼要崩潰的開發者
很多人就喜歡寫程式碼也喜歡做遊戲,所以這種人不喜歡拖來拖去的視覺化程式設計介面,或者說他們更喜歡自己寫一個,他們也不喜歡有各種編輯器的引擎。面對這類開發者和學習者更多推薦的是:pico-8、Phaser 和 MonoGame。
這幾個都是比較考驗程式設計能力,而且這幾個引擎對配置要求不高,寫程式久了一般都比較喜歡輕便的東西。實際上在我剛入門時候玩得是 C++ 的 Cocos2d-x,電腦實在垃圾每次編譯執行都很煩,之後用 Unity 修改一下編譯也是很慢,做遊戲就是為了開心,結果這樣很影響開發心情。
pico-8 限制比較大,言使用的類似 Lua 的語法,比較小巧,內建了地圖編輯器和音樂音效編輯器,而且 8 位復古風對從 8 位機過來的玩家很沒有抵抗力。
Phaser 是使用 javascript 的網頁遊戲引擎,甚至這個引擎你是不用下載直接在程式碼引用一下就可以愉快開發遊戲了,而且同樣不用編譯,執行起來很快。
MonoGame 更多是一個 C# 的跨平臺框架,很多專業開發者也使用這個引擎製作商業遊戲,雖然需要編譯,但是還是很輕很快!
像是 pico-8 和 phaser 引擎這種不用編譯而且可以輸出網頁的引擎適合很快速開發遊戲原型和分享遊戲,而 MonoGame 這種則比較適合製作要釋出到商店的商業遊戲。
寫程式碼要崩潰的開發者
很多人就不喜歡寫程式碼但也喜歡做遊戲,面對這類開發者更多推薦的是:Construct 和 Stencyl。
這兩個都是視覺化程式設計引擎,而且使用這些引擎不乏很多很好的遊戲。可能會有些人覺得這種引擎做出來的遊戲不是很厲害,但實際上作為愛好者和初學者,遠遠不到能碰到引擎天花板的地步。
中立
而對於都不排斥的開發者更多是推薦 GameMaker 和 Unity。
GameMaker 屬於開箱即用,非常適合初學者,你不需要重新配置環境,其內建的程式碼編輯器也意味著你不需要選擇程式碼編輯器,GML 語言也屬於最容易入門的語言,編譯速度也屬於很快,玩起來很流暢。
Unity 最大優勢是可擴充的編輯器、執行時檢視屬性和豐富的外掛,這也是我在製作商業遊戲時候選擇它的原因,豐富外掛意味著一些問題不用自己處理比如各種手柄適配,多語言適配,手機的第三方邏輯,而且我可以購買一個 Platformer 引擎然後對其進行定製化開發,比自己沒有經驗從頭開始做好很多。
所以個人推薦是如果剛學制作遊戲可以從這幾個引擎選擇一個入手:GameMaker,Construct,pico-8 或者 MonoGame
如何學習一個引擎
學習一個引擎或者自己寫點邏輯我會考慮幾個簡單的問題:
- 如何顯示一個精靈(圖片)
- 如何控制精靈移動
- 精靈如何播放幀動畫
- 如何碰到另外一個精靈銷燬對方
- 銷燬對方時候生成一個特效動畫並且播放音效
- 播放音樂
這幾個問題之後基本就可以簡單的做一個小遊戲了。之後的各個系統就需要時間慢慢學習了。
一般來說遊戲引擎都比較複雜,所以帶著問題去思考要做什麼再去學習會目標性比較強也比較有效率。一來就全部引擎功能過一遍沒什麼意思,因為很多功能你可能不會遇到,就像我到現在也不瞭解 Unity 的 NavMesh。
不會畫畫怎麼做遊戲
這個問題也是比較常聽到,我剛開始時候也比較困擾。就算不會畫畫也不想學畫畫,還是有很多地方可以獲得美術素材。製作跳跳小子之前我已經通過購買的商業素材製作過了7個遊戲,那個時候我還一點不會畫畫。
我經常購買的網站有 itch.io, graphicriver, gamedevmarket, unity asset store。
而免費的可以看下:kenny 和 opengameart。
而如果是兼職平臺可以考慮下:upwork, fiverr 和 米畫師
也許有人會覺得這樣沒藝術性不唯一而且限制多多,我更多是覺得遊戲就還沒做幾個先不要談藝術性,重要的是把遊戲做出來。
當然最好還是自己去學下繪畫,不管你有沒同伴合作。
推薦的書籍和資源
可能視訊有些需要科學上網,在 B 站搜尋應該也可以。
引擎相關
Unity 的話只推薦一本書籍:遊戲設計、原型與開發
Unity 相關教學視訊:Brackys ,Blackthornprod , Sebastian Lague , Mix and Jam
GameMaker 視訊:HeartBeast
Pico-8視訊: Nerdy Teachers
進階資料:
遊戲程式設計設計模式,遊戲引擎架構,Data structure for Game Programmers
畫素美術相關
Pixel Logic
MiniBoss
Udemy 的 Pixel Art Master Course
Mort Mort
Pixel Joint
遊戲設計相關
書籍:
通關!遊戲設計之道
遊戲設計的 236 個技巧
大師談遊戲設計
遊戲設計藝術
視訊:
Game Maker's Toolkit/ B 站卡姐翻譯
Extra Credit
Design Doc
New Frame Plus
How Did They Do That
Video Game Animation Study
最後,製作遊戲很好玩,希望你能玩得開心!
作者:Codinggamer
來源:IndieNova
地址:https://indienova.com/indie-game-development/start-developing-indie-games/
相關文章
- 高階篇:獨立開發者 5 分鐘入門 ASO
- 獨立思考與輸入、吸收
- 【初級篇】獨立開發者 5 分鐘入門 App 營銷APP
- 【入門篇】5 分鐘教你成為會賺錢的獨立開發者
- 遊戲開發新手入門之DirectX入門(轉)遊戲開發
- 互斥與獨立
- Zookeeper入門指南
- CPack 入門指南
- Docker 入門指南Docker
- numpy入門指南
- EOS 入門指南
- Vue 入門指南Vue
- RabbitMQ入門指南MQ
- Nginx入門指南Nginx
- Vagrant 入門指南
- React 入門指南React
- Flask 入門指南Flask
- gulp入門指南
- OSWorkFlow入門指南
- CouchDB 入門指南
- RxJava入門指南RxJava
- ODA入門指南
- MySQL 入門指南MySql
- Markdown入門指南
- 遊戲開發入門(一)遊戲開發概述遊戲開發
- 獨立站運營——獨立站的3種搭建方式
- Docker 入門學習筆記三:Docker獨立IP及容器互聯(待處理)Docker筆記
- 什麼是獨立IP,獨立IP主機怎麼樣?
- KNIME快速入門指南
- Markdown快速入門指南
- CodeMirror入門指南
- GitHub Actions 入門指南Github
- RequireJS入門指南UIJS
- Vuex新手入門指南Vue
- Airflow使用入門指南AI
- 自學機器學習入門指南機器學習
- Maven入門指南(一)Maven
- Bash快速入門指南