我其實不算程式出身。
我在香港中學畢業(亦則高中畢業)後,飛到台灣讀多媒體,大二才接觸程式。
如果是程式老手,可能可以直接用C++、Python這些程式語言來做遊戲。但新手如(當時的)我,需要一個遊戲引擎。
事實上,程式老手也會需要遊戲引擎。畢竟直接使用程式碼大概就和鑽木取火差不多,而遊戲引擎已經是個電鍋。
圍繞著遊戲引擎來製作絕對是方便很多。
那麼,我們該如何選擇呢?方法有兩種。
其一:看現時最熱門的引擎是哪個
人數優勢是真理(?)。引擎使用人數多,你遇上什麼困難也有更多渠道找到解決辦法。
其二:審視自己想製作的遊戲方向
接下來這段會比較長,我會以下廚的方式來比喻一下(雖然我本人不會下廚:D)
不同遊戲種類就像不同烹飪方式。
假設動作冒險像燒烤、RPG像清蒸、PvP像油炸,不同類型除了口感不同,用的器材也不同。
而遊戲引擎就是一個廚房,裡面有鍋有爐有材料。
你準備大展拳腳,弄一碗天婦羅蓋飯——卻發現這裡是RPG廚房,只提供清蒸,炸不了東西。
那怎麼辦呢?你看著四周,發現上面我寫了「這裡有鍋有爐」。鍋裡放點油就可以炸了吧?遺憾的是鍋子不夠深,有些食材太大塊根本炸不了。
這時候,你再去買個大一點的鍋子,問題就能解決。於是你去商店找有沒有能用的鍋——能用的插件,可以在遊戲引擎上追加功能。
但退一步來說,你離開這間廚房,可能就會發現旁邊廚房早就準備了油炸要用的器材,甚至還有個天婦羅專區,能快速弄好你的蓋飯。
OK,把上述故事(?)用更明確的方式說明的話,就是「每個遊戲引擎都有它擅長的事」。
所以最有利的做法,是你一開始就選好廚房。
話雖如此,現在流行的引擎大多都很萬能,你想做啥都行。或者說,就是因為萬能才會流行:P
當每間廚房都萬能,要初學者比較各個引擎也幾乎不可能。
所以基本上,除非你想開發的遊戲真的有很專門的開發軟體(如RPG Maker),我都是推薦從熱門引擎來上手。
說一下我自己的經驗,我是從Unity學上來的(那時學校也只會教Unity),然後幾年前轉用Godot。
會轉引擎在於Unity太龐大,每次開專案都要等幾分鐘,改一兩行程式也要跑十秒鐘。
某次等到不耐煩,就決定轉用較為輕量的Godot。加上我以2D開發為主,對我來說Godot的2D功能比Unity更人性化。
(備註:Unity使用的程式語言是C#,而Godot也支援C#。但除此之外Godot還有一個自家開發的語言GDScript,語法和Python相像。那時想說既然都轉新引擎,那也試一下別的語法好了,所以我現在開發的專案是用GDScript)
剛轉的時候,的確所有指令都要重新記。那感覺就像——你搬屋之後,東西擺放的位置都不同了。在新廚房想弄塊牛排,卻一直找不到鍋子在哪。
以前的廚房可能在右上角的櫃子中,但新廚房原來放在左下,你找了半天才找到。
但只要一找到,也就會做了。
因為遊戲開發的基礎不會變,會變的是每個引擎的界面,和API上的不同。
那時從Unity轉Godot,我是以一個橫向射擊遊戲來練手的,大概花兩個星期左右就摸熟基本API的用法。
而之後真正影響遊戲做不做得出來的,是在引擎之下,我們的基本程式能力:P
總括而言,假如你未有想法,只是想學做遊戲,那可以先從熱門引擎著手。
學好基本功後,想跑到哪都不難。