一直以來,我們都是開發 Android Game(捧個場吧 MoaiCity),但為了增加我們的競爭力、接觸更多用戶、獲得更多營收,我們計畫要開始往 iOS 平台發展。
最先遇到的問題是開發工具。在 Android 上,我們一直以來都是使用 AndEngine + libGDX 作為遊戲引擎,為了結合這兩套引擎的優點,甚至還自行改寫部份引擎程式,讓他們可以一起工作,變成一套我們自己客製化的遊戲引擎。
但這套組合的最大問題就是無法跨越 iOS 平台,為了跨平台,得找另外一套遊戲引擎才行。
在這過程中,Survey 了目前跨平台比較熱門且對 iOS & Android 友善的開發工具,例如 Cocos2d-x、CoronaSDK、Unity 等,最後選擇了 Unity。為什麼是 Unity,我認為有以下優、缺點,先來說缺點。
缺點
價格
下載 Unity 是免費的,不過當你要發佈到 Android 或 iOS 上,立即遇到的問題是要付費升級。升級到可以發佈 Android & iOS,共要花費 $400 + $400 = $800 (美金)的費用,如果是功能更多、打包出來的遊戲品質更高的 Unity Pro,要花 $1500 + $1500 = $3000 (美金)的費用,折合台幣 90000 元。
這對小公司、小工作室來說,是個非常大的負擔。
3D 為主的開發環境
以我們來說,以往都是開發 2D 遊戲,即使以後跨到 iOS 後,遊戲方向不會有太大的差異,3D 佔整個遊戲畫面的比重非常低。這種情況下,Unity 是以 3D 為主的開發環境,開發起 2D 非常的憋手憋腳,雖然有一些 2D 套件可以使用,不過對比純 2D 開發的 Cocos2d-x、CoronaSDK 來說,還不夠完善。PS:我們最後選用 ex2D 當主要的 2D 套件
優點
Plug In
選擇 Unity 的最大原因就是 Plug In。開發工具存在的目的就是來增加開發效率,如果開發工具不夠熱門,網路上找到的資源少,什麼事都要自己來,這都會增加開發時的困擾。選擇 Unity 的好處是有一堆 Plug In 可以使用,雖然有些要錢買,但是如果花點小錢可以讓開發速度變快,這是非常值得的。
所見即所得
以往遊戲畫面都是由美術產出示意圖,程式照著示意圖憑想像兜出遊戲畫面,很常發生兜出來的畫面跟示意圖有落差。Unity 的開發界面是所見即所得,一個 Sprite 放在這個位置,除非不小心動到或是有某支程式動到他的位置,否則就是固定在這,不會有落差。另一個好處是可以讓美術透過 Unity 專職處理畫面,程式人員不再需要套畫面,只要專心負責程式的部份即可。把原先開發過程中的部份工作轉移到美術身上,也減少美術、程式人員溝通成本,一切透過 Unity 溝通。
加上程式人員的成本一般來說都比美術人員來得高,減少程式人員需花費的時間也是減少成本的作法。
JavaScript
因為我們是從 Android 轉往 iOS 發展,所以選擇 Unity 的另一好處是 Unity 支援使用 JavaScript 開發。從 Java 到 JavaScript 幾乎是無痛學習。比起從 Java → Lua(CoronaSDK 支援的開發語言)、Java → C++(Cocos2d-x 支援的開發語言) 來說,降低轉換工具帶來的學習成本是一大優點。
人才
因為我們是間公司,自然就要考慮到人才的來源,市場上越多會同樣技術的人,代表著越容易找到人。坊間學習電腦的補習班大多有開 Unity 教學的課程,但很少教 Cocos2d-x、CoronaSDK,表示會這樣技術的人正在增加中,對於找到適合的人是非常大的幫助。
(但必須要說,這不代表人對於這項技術的專精程度會增加,大家都知道補習班只是帶入門,修行在個人)
進可攻 3D,退可守 2D
Unity 是完完全全支援開發 3D 遊戲的,如果以後我們想要在遊戲中加入一點 3D 效果,根本就是牛刀小試、輕而易舉的事。更甚者以後我們想要轉型開發 3D 遊戲,就可以完全不用考慮開發工具,只要考慮美術、程式,負擔會輕很多。結論
基於以上幾點考量,最後我們選擇 Unity 當作開發工具,其中部份原因是因為我們的現況的關係。例如我們之前是開發 Android,所以選擇支援 JavaScript 的 Unity 會有優勢,但如果你之前熟悉的開發語言不是 Java,這點就不存在。
又如對於一向都是開發 2D 遊戲的我們來說,Unity 偏向 3D 的開發環境是一個小缺點,但如果你以往都是開發 3D 遊戲、未來也想開發 3D 遊戲,那選擇 Unity 變成非常大的優勢。
由於我們也還剛開始接觸 Unity,也許某些現在看起來的優點到後來會消失,現在沒看到的缺點會冒出。不過一套開發工具本來就不可能滿足所有需求,能解決大部分的問題就阿彌陀佛了,目前看來 Unity 對我們來說是個好選擇。