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 對我們來說是個好選擇。

2012年9月13日

你到底多想要成功

通常,我還蠻討厭在部落格內放影片的,因為影片很容易打斷閱讀順暢度,但是這個影片最近影響我很多,所以我還是放了。

這影片的內容很簡單,就是拍一些 NBA 球員訓練的影片,配上一些旁白,讓你知道這些成功的 NBA 球員是多麼努力,才有今天的明星球員地位。
其中有一段話激起了我的鬥志
當你意識到對於成功的渴望,已經如同呼吸一般重要,你一定會成功
一直以來,我以為我很渴望成功,我很努力,我很認真。因此我每天按照一樣的步調前進,我以為這就是努力的步調。

但就像橡皮筋拉久了彈性會疲乏一樣,我慢慢發覺自己往前的速度已經不如以前快,我把他歸咎於隨著年紀成長,速度會成反比下降。

但是看完這部影片,我發覺我錯了。原來是我對於成功的渴望不夠,我沒辦法作到像呼吸一樣渴望空氣。我寧願睡飽一點也不願早點起床,我寧願把事情放到週末再做也不願當天回家就把他完成。

看完影片後,我的腦海不時浮出這句話:「你有多想要成功」。
當我猶豫時,我會問自己有多想要成功,答案自然浮現。
當我想睡時,我會問自己有多想要成功,睡意再也抵擋不了我。
當我偷懶時,我會問自己有多想要成功,動作不自覺快起來。

如果你想要跟我一樣腦中不時浮現「你有多想要成功」,我建議你花五分鐘看一下這段影片,你應該會跟我一樣才對。

2012年9月1日

你需要的不是熱情, 是決心

(圖片來源: Derek K. Miller via photo pin cc)

在創業的場合久了,很常聽到「熱情」這兩個字。最常聽到的是要對自己作的事有熱情,然後才 balabala…「熱情」真的那麼重要嗎?我也覺得很重要,但是,我覺得更重要的是「決心」。

在我出社會的這八年來,我仔細回想,當熱情出現時都有一些共同的特徵。

早上天剛亮就自動張開眼睛,鬧鐘變成是多餘的,因為你想要快點去作點事,你害怕時間跑贏你。你身體累到不行但是卻精神抖擻,好比七龍珠裡變身為超級賽亞人的悟空,即使被打到遍體鱗傷只要活著仍然可以發動元氣彈拯救地球。

這樣的情況我依稀記得有四次。

第一次是我剛踏入職場,很想付出我畢身所學來爭取同事、長官的認同,我以為大家都跟我一樣是全心付出在工作上,可以互相加油打氣,但這樣的情況在我認清職場的現實後消失了。因為每個人的情況不同,有些人是來「工作」的,有些人是來養家活口的,只有極少數人像我一樣是來努力付出、爭取認同的。

第二次是我換了工作的內容,負責一個專案,我的熱情又燃燒了。每天早上八點到公司,工作到晚上11點是家常便飯,到凌晨一、兩點也不喊累。六、日獨自到公司報到,只為了趕快完成專案。這樣的熱情在專案上線後消失了。

第三次是我離開公司自己開發軟體時,因為人生中第一次變成自己的老闆,可以不須聽任何人的命令,想做什麼就做什麼,所以熱情再度燃燒。每天早上四點起床,工作到晚上十點,中間吃飯、洗澡一個小時,完全不會累。但隨著軟體上線後帶來穩定的收入,我也從賽亞人恢復成一般死老百姓,即使是不用上班也過著朝九晚五的生活。

第四次是我剛創立公司時,想要快點把整個公司、產品 Build Up起來,因此熱情又來了,每天頭腦想的都是如何做出遊戲、如何做好遊戲。但隨著遊戲一款一款上線,熱情也慢慢消失了。

在八年後的今天我每次聽到「熱情」時都會回想起這些經歷,慢慢的我發現熱情不是一切,熱情只是個「助燃器」,就像是阿斯拉開 Turbo,時間有限,過了就會消失。

光靠「熱情」是不夠的

但「決心」不一樣,只要你有「決心」,即使遭遇到產品不如人、業績不好、不被認同、身邊朋友離你而去、家人也不支持你,但只要你有「決心」這些事情都會過去,因為你知道你在做什麼,你知道你為何而作,你知道有一天你會扭轉所有的不如意,有一天你會讓其他人知道你是對的。

他就像是車子的引擎,只要你想,你堅持,他就會持續的帶你往前進。即使不快,但你還在前進,即使走錯路,但你依然可以修正後繼續往前。

哪天遇到了「熱情」,記得把油門踩到底盡情往前衝,當「熱情」消失時,記得你不是停下來,你只是慢了點,但你的方向沒變,目標依然在前,只因為「決心」還在。
Related Posts Plugin for WordPress, Blogger...