科普
Cocos Creator是觸控最新一代游戲工具鏈的名稱。如果不太清楚的,可以先看一些新聞。
新編輯器Cocos Creator發布: 對不起我來晚了!
http://ol.tgbus.com/news/cyxw/201601/13772206.shtml
2016新年致辭信——Cocos引擎創始人王哲
http://www.pcpop.com/view/1/1669/1669613.shtml?r=11115552
觸控推出新編輯器Cocos Creator等四個引擎商業化新進展
http://tech.hexun.com/2016-01-13/181777792.html
cocos2d-x 2.0.x
說起Cocos Creator,那么我們不得不先八卦一下cocos2d-x,否則,我們又如何看得清觸控接下來的動向呢。
眾所周知的cocos2d-x從2.0.x版本開始,就獨占鰲頭。可以說2d手游里面,90%的團隊都在使用cocos2d-x進行開發。在短短的幾年時間內,它已經做到了和UNITY3D分庭抗禮的勢態。 如果身處金庸先生的小說中,還真有南慕容,北喬峰的感覺。當然,cocos2d-x應該是南慕容。
cocos2d-x當初在取名字的時候,就可見其野心勃勃。 那我們來看這個x表示了哪些版本吧
cocos2d-c++
cocos2d-lua
cocos2d-html5
cocos2d-js
cocos2d-xna
上面是語言的分類。按照官方的解釋,x除了是語言外,還表示它支持不同的平臺。
cocos2d-ios
cocos2d-android
cocos2d-blackberry
cocos2d-wp
cocos2d-mac
cocos2d-win
cocos2d-win8
cocos2d-web
可以說,王哲和他的cocos2d-x在cocos2d-x 2.0.x版本后,逐步擴張,達到了忘我的境界。
但是不得不說,主流的卻只有cocos2d-c++,cocos2d-lua。 而平臺方面,也只有iOS,android這兩個平臺。
cocos2d-lua(quick-x)
筆者曾經也在quick-x社區混跡一段時間。這是一個框架,在cocos2d-lua的基礎上,封裝了一些上層的接口。并且,做了一個player。使得不會C++的同學們,也可以大膽地使用cocos2dx了。當然,如果只是這個原因,quick-x不可能這么火。可以說lua框架的興起,完全是因為IOS在作孽。iOS如果支持代碼熱更新,我想許多團隊不會來搞這玩意兒。
cocos2d-x 3.0.x
大家應該都知道,cocos2d-x一開始,是翻譯的APPLE平臺上的一款cocos2d引擎。這款引擎是oc編寫的,只能用于IOS上的APP和游戲開發。 而cocos2d-x成功地實現了這個優美框架的完美跨平臺。 而為了降低設計風險,王哲一開始的路子是非常對的。一個字,抄!!!。 這也是cocos2d-x成功的原因。
不過,C++畢竟是C++,為了兼顧oc的一些語法特性。 cocos2d-x做了許多C++引擎不應該做的事情。導致了C++內核混亂不堪。這就使3.0.x應運而生。
3.0.x可以說是一個重大的變革。不僅在工作流構建上改進了(只需要安裝python就可以一鍵打包),還在代碼結構和變量命名,類名上做了重大改動。 而正是這個改動,使得cocos2d-x煥然一新,一改從前的LOWB模樣。 同時,也在其代碼結構中,出現了類似component的東西。 看來,組件化真的是一口誘人的毒藥。
cocos3d
對于做引擎的人來說,3D引擎或許更有吸引力,更具挑戰性。
但是,在cocos2d庸腫的框架下,再引入3D庫。似乎是一件很不妥的事情。
就像,UNITY3D在這么NB的情況下,也沒有把它的2D庫做起來。 大家在開發2D游戲的時候,也會先考慮一下cocos2d-x的實用性。
因此,cocos2d加入3d的特性,無疑走的是Unity3D加入2D特性的路。拋開自己的主場,然后去別人的主戰場找虐,是一件很不明智的事。
cocostudio
不得不說,cocostudio是我見過的,除了cocos code ide以外,最LOW的編輯器。我完全搞不清楚它是想讓程序用,還是想讓策劃用,還是想讓美術用。
也沒有完整的工作流,僅僅是一個資源編輯器。同時,其擴展功能更是讓人哭笑不得。 擴展一個BUTTON,還要我做一個DLL先。 然后,再把cocos2d-x用C++代碼改一下。
cocos code ide
cocos code ide可以說是cocos2d-x的歷史道路上走得最遠的一次彎路。
首先,lua真的沒有必要做一個編輯器。
其次,quick-x和cocos-lua并存的意義何在?除了讓用戶更加迷茫以外,還浪費錢。 因為總有一邊的要浪費 。要么quick-x的團隊的工作浪費了,要么cocos-lua的工作浪費了。
另外,建議在eclipse上的IDE,沒有一個是好的。 就拿筆者目前項目中用得最多的Flash Builder來說,已經是無力吐槽了。
Cocos Creator:改革開放,開創未來
正如王哲在視頻中所說的。 如果,讓我再重新設計一次cocos2dx,我一定會組件化,腳本化,然后有一個完整的工具鏈(PS:寫文章的時候,就沒有去看視頻了,原話不見得是這樣,但是內容差不多)。
本文不打算教大家Cocos Creator怎么用,因為官方的教程足夠讓大家入門了。
官方入門教程:http://www.cocos.com/docs/creator/getting-started/index.html
我們來說說Cocos Creator的特性,以及為什么這樣做吧。
一、使用javascript對開發流進行徹底的腳本化
不管是之前的cocos-lua還是quick-x,都想在腳本化上下功夫,但是腳本化如果做得不夠徹底,將永遠無法降低引擎門檻。 你總是需要一邊改著C++代碼,一邊寫著自己的腳本。 同時還要糾結,一個數據是直接寫在腳本里好呢,還是寫在配置文件時好。
而LUA本身,并沒有強大的社區支持,應用面也較弱,除了游戲領域,用LUA的可以說是少之又少了。 蘋果,微軟,GOOGLE的資料和工具中,也少有LUA的身影出現。
另外還有一點就是,cocos2d-js,cocos2d-html5一直是名不見經傳,可是王哲和他的觸控卻一直沒有放棄。原因很簡單,在native這個戰場里,cocos2dx已經贏了。 那下一個戰場呢,自己能夠取勝,完全要看自己走不走在前面。
最終你會發現,不管LUA是不是有大廠支持,JS都會成為Cocos Creator的首選。 只因為,JS是一款運行在WEB上的霸主語言。
二、組件化
用過Unity3D的人都應該知道,組件化不僅在編輯器設計,數據序列化,特性擴展等方面,都優于繼承。 同時,把一個腳本掛到一個對象上,讓這個對象產生與眾不同的能力。這天生就是一個符合人類思維習慣的方式,大大的降低了編程難度。另外,繼承本身并不是所有語言的特性,但是聚合,卻是任何語言都可以輕松實現的特性。因此,組件化不僅為工具開發者帶來了好處,也為工具使用者帶來了好處。 二者共贏的事情,不做豈不可惜!
三、可視化的一站式工作流
把資源和腳本拖放到想要的地方,填上自己需要數據,點一下啟動!
對,就是這么簡單。
目前只有UNITY3D能做到,但是現在Cocos Creator也可以了。
不管Cocos Creator是不是走的UNITY3D老路。但是,至少給大家多了一個選擇。 我一直相信,術業有專攻,UNITY3D在3D界發光發熱,但是不影響Cocos Creator成為2D界的霸主。
另外值得說明的一點。 UNITY3D雖然也有導出HTML5-WEBGL的這個功能。但是它走的是ASM.JS路線。 且由于它的上層是C#語言。 所以,UNITY3D發布到WEBGL需要經過兩次翻譯,一次是使用UNITY TEAM的技術IL2CPP,將C#轉到C++。 然后,再使用ASM.JS翻譯為JS。 且先不說中間不可控的因素很多。 光是ASM.JS的普及,就需要好幾年。
BTW:這也是UE4等世界一流引擎的路子。
而Cocos Creator將一切都變得很直接。在Native平臺上,使用JS做為腳本代碼,用Cocos的C++ Runtime驅動。 而在WEB上,則直接使用cocos2d-html5驅動。 原生,原味!!!
Cocos Play & Cocos Store
Cocos Creator多了一個Dashboard。它既可以幫用戶管理好自己的項目,同時也使自己的Cocos Play和Cocos Store擁有了直接的用戶。
Cocos Play我想是觸控最想做起來的平臺,因為從Cocos-Html5,到Cocos Creator擁抱JS腳本化。 都在暗示著Cocos團隊對Web市場的關注度。 Cocos Play則成為了流量變現的入口。或許將成為Web App和Web Game一個重要入口。 它的直接競爭對手,將會是騰訊的微信應用號。
Cocos Store則是想和Unity3D的AssetStore一樣,做一個用戶生態,這個用戶生態只能為了維持Cocos Creator的CP群。 只要有足夠的開發者,Cocos的生態系統就可以正常運轉。 Cocos Play就不會缺用戶。
總結
寫了這么多,也怪累的,不知道大家有沒有看明白。我簡單總結一下吧。
一、不要糾結JS了,用它即可。 也不要想C#和LUA啦。 想用C#的,可以直接UNITY3D。 想用LUA的,繼續使用Cocos-Lua即可。
二、Cocos Creator不管是從設計思路,還是從目前的產品化程度,都遠遠高于之前的cocos產品系。它拋開了所有負擔,從頭開始。花費了巨大的人力、財力。不是拿來給大家看的。 雖然目前的版本還有一些功能缺陷。 但是,觸控為了自己的利益,勢必會在短時間內將其完善到足以支持在線項目的程度。
三、之前的老項目,就不要指望能夠用上Cocos Creator了,完全不是一個東西。別人做兼容的時候,你們罵別人沒勇氣。一堆垃圾不倒掉。 別人現在完全不兼容了,你們還是要*****。 哎,做人難,做引擎更難。
四、選擇權在于自己,HOLD得住就上!!!!
最后,來兩張Cocos Creator的照片吧。
關于作者
麒麟子