2012年9月23日

為什麼選擇 Unity 3D 當開發工具

unity
一直以來,我們都是開發 Android Game(捧個場吧 MoaiCity),但為了增加我們的競爭力、接觸更多用戶、獲得更多營收,我們計畫要開始往 iOS 平台發展。

最先遇到的問題是開發工具。在 Android 上,我們一直以來都是使用 AndEngine + libGDX 作為遊戲引擎,為了結合這兩套引擎的優點,甚至還自行改寫部份引擎程式,讓他們可以一起工作,變成一套我們自己客製化的遊戲引擎。

但這套組合的最大問題就是無法跨越 iOS 平台,為了跨平台,得找另外一套遊戲引擎才行。

在這過程中,Survey 了目前跨平台比較熱門且對 iOS & Android 友善的開發工具,例如 Cocos2d-xCoronaSDKUnity 等,最後選擇了 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-xCoronaSDK 來說,還不夠完善。  
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-xCoronaSDK,表示會這樣技術的人正在增加中,對於找到適合的人是非常大的幫助。  
(但必須要說,這不代表人對於這項技術的專精程度會增加,大家都知道補習班只是帶入門,修行在個人)

進可攻 3D,退可守 2D

Unity 是完完全全支援開發 3D 遊戲的,如果以後我們想要在遊戲中加入一點 3D 效果,根本就是牛刀小試、輕而易舉的事。更甚者以後我們想要轉型開發 3D 遊戲,就可以完全不用考慮開發工具,只要考慮美術、程式,負擔會輕很多。

結論

基於以上幾點考量,最後我們選擇 Unity 當作開發工具,其中部份原因是因為我們的現況的關係。

例如我們之前是開發 Android,所以選擇支援 JavaScript 的 Unity 會有優勢,但如果你之前熟悉的開發語言不是 Java,這點就不存在。

又如對於一向都是開發 2D 遊戲的我們來說,Unity 偏向 3D 的開發環境是一個小缺點,但如果你以往都是開發 3D 遊戲、未來也想開發 3D 遊戲,那選擇 Unity 變成非常大的優勢。

由於我們也還剛開始接觸 Unity,也許某些現在看起來的優點到後來會消失,現在沒看到的缺點會冒出。不過一套開發工具本來就不可能滿足所有需求,能解決大部分的問題就阿彌陀佛了,目前看來 Unity 對我們來說是個好選擇。

6 則留言:

  1. 個人覺得從 Java 到 C# 才比較算是無痛學習,不過懂程式的其實沒什麼差,只不過 Javascript能不能發佈到 win 平台我就不確定了XD

    回覆刪除
    回覆
    1. C# 幾乎完全抄 Java 的,所以轉移也很快,只是我一看到微軟的東西就會自動略過,還是 JavaScript 比較順眼

      刪除
  2. 我剛用了c# 試寫,沒差多少...能寫能動就好XD
    JavaScript 的確比較順眼一點..尤其是布林值...

    回覆刪除
  3. 感覺你們更適合用gamesalad耶^^a

    回覆刪除
  4. gamesalad一年授權$299,我前幾天剛買,買完是覺得有點心痛,
    想說找找看有沒有其他更便宜的工具等之後轉換,
    找了一下比較幾套當紅的工具以後才覺得299美真是便宜@@

    回覆刪除
  5. "從 Java 到 JavaScript 幾乎是無痛學習"??
    這位大哥, 這兩個語言有甚麼關係? 你寫過程式嗎? 別誤導大家好嗎?

    回覆刪除

Related Posts Plugin for WordPress, Blogger...