UNITY3d和COCOS2D-X的區別和聯絡

edagarli發表於2014-03-15

UNITY3D和 COCOS2D-X都是跨平臺的遊戲開發引擎,COCOS2D是專門做IPHONE遊戲的2D遊戲引擎。


這些引擎到底是什麼時候出現的,還真是不怎麼了解,但是不管他們是什麼時候出現的,由哪些人弄出來的,這兩個引擎都挺好用的,而且都各有特長。


下面就從多個方面來對比闡述一下:


(1)是否開源

  • COCOS2D開源,有文件支援,論壇資料龐雜博大;
  • UNITY3D閉源,有強大的文件支援,論壇資料一樣的龐雜博大。

開源對COCOS2D來說,意味著可以進行隨心所欲的改造,可以更深入的瞭解各種遊戲需求的底層實現原理,更可以訂製出更符合自己要求的類庫。

相對的,它的麻煩也不小,因為開源,所以可以隨便改,因為可以隨便改,所以很容易改錯,而且除錯維護的成本也會倍增,因為更接近底層,所以往往實現一個功能的時候或者自己要更費周折。

閉源對於UNITY3D來說,意味著更能方便的使用,更有質量保證,同時意味著偶爾有使用者看不到的想看的內容,想接近底層會花費巨大的代價,想訂製一種自己的資料結構或者功能來新增進去的時候很難下手。


 (2 )是否免費

   

COCOS2D免費,免費意味著,服務差,很多程式設計師不想看到的現象會莫名其妙的出現,偶爾作者不小心出點意外什麼的沒有什麼可以控制的方法…例如,作者一不小心使用了一種非常危險的方法來寫程式碼,這個時候基本上使用者欲哭無淚,查起錯誤異常艱難,但是總能查出來.免費的好處是,有一天如果用COCOS2D做了一個很牛逼的遊戲,可以正當光明的說,這個遊戲是我們做的,遊戲質量很好,而且不用恐懼有人衝過來收錢。

UNITY3D收費,收費意味著…服務真心是不錯誒,U3D小組力求把麻煩留給自己,方便留給程式設計師,所以用著還真是爽,很多麻煩都被U3D消滅在萌芽階段,真心好,但是,要錢的。

3)跨平臺能力

兩者都能跨平臺。

COCOS2D的跨平臺,需要大量重寫程式碼,面對各種平臺的各種細節麻煩.所以當使用COCOS2D的時候,很多麻煩來了,於是再面對平臺特定的更麻煩的問題的時候,程式設計師基礎好很多,更容易搞定

UNITY3D的跨平臺,程式設計師只需要選選按鈕就淡定許多的搞定了,但是當面對U3D團隊沒有想到的平臺特定的更麻煩的問題的時候,這個時候的程式設計師,需要使勁的“吃”鍵盤來剋制自己內心的焦慮吧…

4)團隊開發

cocos2d壓根就沒往團隊方面想,所以團隊配合方面的工具,程式設計師基本自理,細節問題自理,麻煩問題自理,UNITY3D想了一些,做了很多,但是也有糾結的地方,程式設計師在沒有完全理解的基礎上使用會變得很難接受.值得一提的是,UNITY有強大的所見即所得能力,動態解釋,現場執行,COCOS2D一直在向著這個方向努力,或許在未來某一天兩者也會不相伯仲

5)周邊工具

COCOS2D是集體智慧,各路人馬都提供了各種各樣的工具,COCOS2D將他們整合到了一起,各種工具都有各種麻煩,也有各種好處,總的來說,花點精力還是有好結果的。

UNITY3D自家解決了很多麻煩問題,周邊工具也有很多人做,但是,不開源,而且要錢,服務好很多。

6)可定製性

COCOS2D擁有令人髮指的可定製性,因為從C++寫起,所以程式設計師可以為所欲為,為所欲為的代價就是,所有細節都要照顧,所有麻煩都要生頂(例如,寫出的工具不跨平臺,訂製的資料結構無法通用,序列化一個類到其他平臺之後無法反序列化等等)。

UNITY3D有一個專門為訂製而寫的類庫,沒怎麼用過,但是可以確定的是,這個類庫是跨平臺的,這個優勢很偉大。

7)3D

這個U3D確實完爆COCOS2D,不過,要是不想做3D遊戲呢?那多餘的3D功能也會很累贅。

總而言之,兩家都是遊戲引擎的大家,兩者都能適應不同的需要,各具特色各有特點,估計誰也滅不了誰。

不過,投靠一家的人估計會反對另一家吧?



轉載自http://express.ruanko.com/ruanko-express_58/technologyexchange6.html


相關文章