Cross-Platform Mobile Game Development with Lua

最近剛好有機會參與時下最流行的手機遊戲開發領域。由於我在這之前完全是遊戲開發的大外行,因此我在尋找開發工具的時候,心中已經定好了幾個需求:

  1. 要有比較完整的toolchain:在這之前我連sprite atlas都沒聽過,字型的處理也是完全不懂。有一套完整的toolchain不只是幫我省力,也能讓我藉機學習一下一般常見的作法。
  2. 不要太底層:因為我是個完全不會OpenGL的廢人。
  3. 有一定的擴充性:我有些Android/iOS開發的底子,我不想要遇到很多系統API不能用的情況。

最後留在我選項中的是MoaiGideros Mobile這兩款framework。最後我是選了Gideros Mobile。中間的取捨與選擇就有機會再說吧,選它主要是為了幾個原因:

Lua

我討厭Objective-C的程度跟Javascript差不多。

lua這語言本身的確是相當小巧,花點時間摸一下就差不多會了。幾乎沒有門檻可言。

Toolchain

Gideros mobile的SDK中就已經包含了Font Creator與Texture Packer。一些常見的架構設計也直接包含在SDK中。對於外行人來說比較不容易迷失在茫茫的Game Development領域中。

相較之下,Moai就直接的跟你說是給「Pro Game Developer」用的,你要有自己的一套toolchain,自己的一套作法。我很清楚我絕對不是pro XD

Plugin

Gideros mobile是close source的產品(moai是open source)。幸好他提供了Plugin的機制,讓人可以直接從Lua code中呼叫外部的API。

在iOS上,Gideros mobile的plugin相當好寫,也許可以歸功於Objective-C與C的相容度吧。參考一些範例就能輕鬆寫出需要的plugin。

倒是在Android上,要寫Gideros plugin的話需要拿出NDK這個牛刀…。幸好後來我找到比較懶的方法來作Lua跟Java的溝通,不然我會吐血…

社群/範例/文件

這幾點而言,Gideros Mobile做的算是還不錯,從Tutorial、範例到完整的API reference、Complete Guide都有,社群也算活躍。較少遇到需要直接翻source(也沒有source可以翻…),或是要在茫茫網海中爬個半天(因為根本沒多少文章…)的情況。

價格

Gideros mobile有免費跟付費($149/year)版本,差別在於免費版在遊戲啟動前會出現他們自己logo的splash screen。就看人能不能接受吧。價格我是覺得不貴。

 

總之,就這樣莽莽撞撞的也是把這個小遊戲做完了。…

廣告