cocos2dx 是款很優秀的輕量級引擎,受遊戲行業7成同行的擁護。而且完全開源,我是其中的受益者,我感恩
簡單聊聊 cocos2dx 的幾個版本,最開始的c++版本,之後的腳本版本 lua js html5 ,版本很多,是以引擎維護成本高,難度大,進而造吐槽的 就像家常便飯。但是,大陸的手遊行業沒它還不行。
cocos studio(ccs) 主要是打算将之前幾種合成一種引擎,但是似乎項目擱淺了
這裡簡單說說cocos creat(cc)
為什麼有這個設計,主要是處于觸控的商業計劃,去年(2015)中旬,cocos play 釋出,今年的CC ,展現出了觸控要向手機頁遊進軍,而且是不遺餘力,對于占有70%的份額的遊戲市場,自然也會被帶向手機頁遊。2016是手機頁遊的興起年,2017是手機頁遊的鼎盛之年,你準備好了嗎,這是謝男君的預測,就算測不準,同學們也不要打臉。
大家都可以去看看這個視訊,http://v.qq.com/page/c/6/6/c0181szoh66.html
王哲,我很崇拜他,拍馬屁就此打住。
CC 出現解決了觸控關于cocos2dx 包括studio所有棘手的問題,使用者作為改變的隻是從c++ 、lua 轉向js
我有時候擔心js的性能,但是在網頁上,才是js的天下。
用過unity3d,都覺得元件化用起來bili bili的,進而吐槽cocos的涉及就是渣渣,現在CC也元件化了,相信使用者份額會有所提高
其餘的我就不累贅了 ,大家可以看看這個文章
http://ol.tgbus.com/news/cyxw/201601/13772206.shtml
以下是其内容,主要是友善比較懶的同學看的
1月19日,由Cocos創始人王哲親手撰寫的一篇Cocos Creator新品釋出稿件在朋友圈被行業人士瘋狂轉載,短短數小時閱讀量突破五位數。Cocos Creator被譽為“注定将揭開Cocos開發世界中全新的一頁”,究竟它有什麼魅力?下面讓我們來細細閱讀這篇文章。
Cocos Creator下載下傳位址:cocos.com/creator/
以下為全文:
上周我在廈門的「哎喲,2016」酒會上,宣布了今年會釋出一款新的編輯器。是的,今天我來了:

Cocos Creator在經曆了一年多的低調研發之後,今天終于釋出了第一個正式對外的公測版,大家可以從 cocos.com/creator 下載下傳。
那麼相比Cocos家族之前的編輯器産品,Creator有哪些不同呢?咱們先看一段視訊,引擎開發團隊全體出鏡哦:
http://v.qq.com/page/c/6/6/c0181szoh66.html
産品定位
如果今天讓我重新設計一次遊戲引擎,隻考慮使用者體驗和開發效率,那麼我希望這個引擎能:
· 腳本化,我希望GC自動回收和手動回收都要有,這樣易用性、性能保證兩手抓兩手都要硬。我再也不想看到惡心的retain / release了。C++是門好語言,但是考慮到開發效率,我更傾向于純腳本;
· 元件化,而不是面向對象繼承的擴充方式。各位讀者誰曾經直接在Node,甚至Object裡面增加函數的請舉手?不敢舉手是吧,一定怕被你們CTO拍死?這就對了。以後請嚴格用元件化思路來擴充引擎,習慣後你就會覺得渾身每個毛孔都很爽,因為告别了惡心的hack代碼;
· 高效工作流,策劃和美術能夠通過引擎編輯器獨立生産和調試,讓程式員減輕資源管理更新上的負擔,專注于功能開發,而不是參與「無盡」的調數值、調UI;
· 高度可擴充,引擎架構和編輯器都需要靈活擴充,并且希望能通過統一的編輯環境整合各種自定義工作流和擴充工具。其實元件化和資料驅動都是為高度可擴充服務的;
· 純粹,專注,我希望僅用一門程式設計語言就可以完成所有工作。我說的「所有工作」包括遊戲邏輯編碼、引擎擴充、編輯器擴充。我讨厭的現狀是:需要用C++擴充引擎架構、用Lua編寫遊戲邏輯、用C#擴充編輯器,很多端遊時代過來的公司都是這麼幹的,但是成本太高了。我們需要僅一門程式設計語言就可以完成所有工作!
· 廣義多平台,不僅僅是原生的多平台。我希望可以一次開發後,将遊戲一鍵釋出到iOS, Android, Windows, HTML5以及Cocos Play平台,也就是相容Native, HTML5, Runtime三種技術形态,哪裡有使用者,我就可以把遊戲釋出到哪裡,最大化流量擷取。
Cocos Creator就是這樣的一個産品,實作了我的所有希望與抱負。在Cocos Creator裡,我們結合了以資料驅動群組件化為核心的遊戲開發方式,并在此基礎上無縫融合了Cocos引擎成熟的JavaScript API體系,一方面能夠适應Cocos系列引擎開發者使用者習慣,另一方面也為美術和策劃人員提供前所未有的内容創作生産和即時預覽測試環境。
如果讓我用一句話描述:
Cocos Creator是以内容創作為核心的遊戲開發工具,在Cocos2d-x的基礎上實作了徹底腳本化、元件化和資料驅動等特點。
嗯,上面這句話你在未來的幾個月會聽到耳朵長繭,因為這就是我和引擎團隊對Cocos Creator産品的定位描述。
來張靓照吧:
是以,如果您正在考慮這些問題:
· 希望能用更低成本、更高效率地開發出來一個基于cocos2d-x的遊戲。特别是有cocos2d-js的使用經驗;
· 希望一次開發,可以把遊戲同時釋出到iOS和Android,以及新興HTML5手機頁遊平台;
· 希望程式和策劃、美術的工作進行解耦,讓策劃和美術可以獨立生産和調試;
· 希望自己很容易對引擎的架構和編輯器進行定制、擴充;
那麼Cocos Creator是一個非常合适的選擇。
核心理念
高效工作流
引擎和編輯器的結合,帶來的是資料驅動群組件化的功能開發方式,以及設計和程式兩類人員的完美分工合作:
· 設計師在場景編輯器中搭建場景的圖像表現
· 程式員開發可以挂載到場景任意物體上的功能元件
· 設計師負責為需要展現特定行為的物體挂載元件,并通過調試改善各項參數
· 程式員開發遊戲所需要的資料結構和資源
· 設計師通過圖形化的界面配置好各項資料和資源
就這樣從簡單到複雜,各種你能想像到的工作流程都可以實作。
以工作流為核心的開發理念,讓策劃、美術、程式都能在工具裡快速找到最大化自己戰鬥力的切入點,并能夠默契流暢地和團隊其他成員配合。
是以,神馬調UI調數值,策劃美術可以自己妥妥搞定,老子準時下班泡妞去了。(各位程式員朋友,此處應有掌聲)
資料驅動
這其中最實用的功能是,腳本中可以輕松聲明可以在編輯器中随時調整的資料屬性,對參數的調整可以由設計人員獨立完成。也就是說你代碼按照指定的格式聲明變量,然後這個變量就可以在Cocos Creator編輯器裡面暴露出來,讓策劃人員直接在編輯器裡調整數值,直接看運作效果了。
一體化,包含代碼編輯器
Cocos Creator包含遊戲引擎、資源管理、場景編輯、遊戲預覽和釋出等遊戲開發所需的全套功能,并且将所有的功能和工具鍊都整合在了一個統一的應用程式裡。它以資料驅動群組件化作為核心的遊戲開發方式,并且在此基礎上無縫融合了Cocos引擎成熟的JavaScript API 體系,能夠一方面适應Cocos系列引擎開發者使用者習慣,另一方面為美術和策劃人員提供前所未有的内容創作生産和即時預覽測試環境。 編輯器在提供強大完整工具鍊的同時,提供了開放式的插件架構,開發者能夠用HTML + JavaScript等前端通用技術輕松擴充編輯器功能,定制個性化的工作流程。
對于無數使用者反複追問的Cocos IDE到哪裡去了?我第一次開誠布公地說,很抱歉,不用等了,Code IDE項目已經終結了,不會再有更新。因為不論是Eclipse方案,還是IntelliJ IDEA方案,都無法徹底和Studio或Creator融合。但是作為一個未竟的夙願,我和引擎團隊在Cocos Creator補償了這一點:Cocos Creator帶有一個JavaScript的代碼編輯器,編輯器不僅帶有大家迫切需要的函數提示、自動補完等功能,而且和Cocos Creator的場景編輯器無縫銜接——這點是Code IDE做不到的。最後是依托于Chrome浏覽器強大的JavaScript調試功能,我們可以在啟動調試之後,很友善又流暢地調試腳本代碼啦!
要調試JavaScript腳本?從Cocos Creator裡面一鍵啟動Chrome立刻開始調試:
附帶一個好消息是,微軟的VS Code開源項目,和Cocos Creator用的是同樣的底層架構Electron,是以我們正在評估考慮如何複用VS Code這個大輪子,以快速提升Creator裡的編碼體驗哦!
大幅改進的UI 系統
各位可能在上面的視訊裡面看到了新UI系統如何動态适配不同分辨率的情況。是的,我們改進了整個UI系統,也許改到你已經不太認識了,但事情的關鍵是:我們解決了多年以來積累的許多問題和需求。Creator裡面的UI系統,支援智能畫布适配和免程式設計元素對齊的UI,使之可以完美适配任意分辨率的裝置螢幕。這點對于HTML5遊戲特别重要,而原生遊戲也能從中收益頗多。
在Cocos Creator裡面,UI編輯、動畫編輯都整合在這樣一個界面裡:
廣義的多平台釋出
目前Cocos Creator支援釋出遊戲到傳統的iOS, Android平台,以及新興的HTML5手機頁遊平台上,特别是支援Cocos Play的runtime加速器。是以這裡的多平台已經比之前cocos2d-x的多平台更廣義了:橫跨Native和HTML5。當然我們也不需要再和各平台的工程檔案、晦澀的makefile打交道了,在純腳本的世界裡一切都變得簡單,配置開發環境的要求已經被完全移除,在運作之後就可以立刻開始遊戲内容創作或功能開發,是不是很簡單?這就是我下很大決心做「徹底腳本化」的明顯收益之一。
完善的配套文檔和社群支援
文檔,首先當然是文檔。你可以從cocos.com/docs/creator擷取産品的使用者手冊,而更簡單的方式是直接從Creator的菜單裡面點「文檔」打開使用者手冊的離線版,離線版,離線版哦!
在示例遊戲方面,我們這次版本釋出就帶了4個遊戲示例。其中一個21點撲克牌遊戲還是和騰訊遊戲合作開發的,美術資源全部由騰訊遊戲授權。反正引擎團隊這幫技術宅是畫不出這種品質的遊戲美術。再次特别感謝騰訊遊戲對Cocos Creator的幫助與加持!
除了文檔和示例遊戲之外,我們還錄制了Cocos Creator的教學視訊,你可以在離線文檔裡很容易找到。我們會陸續更新更多的教學視訊放到文檔裡面。
回答Cocos2d-x老使用者關心的問題
Cocos Creator和Cocos Studio的定位差別?
我這人很誠懇,既然說到「産品定位」,那麼我一定不會隻說Cocos Creator的好處,這裡我也要說說Creator不合适以下情況:
· C++和Lua的死忠粉,希望學一門語言吃一輩子的程式員 —— 不适合。為了Cocos Creator的純粹,我選擇了JavaScript作為引擎、編輯器、遊戲邏輯的核心語言。雖然從技術角度講Creator也可以支援Lua和C++遊戲,但是今天我仍然希望保持這個産品的「純粹、專一」。是以不論你們怎麼噴,在程式設計語言方面,我今天不打算妥協。别TMD和我吵,難道您不知道“PHP是全世界最好的語言”麼?嘿嘿。至于為什麼在Cocos Creator裡面選擇JavaScript,下文我會詳細解釋原因,請耐心往下看;
· 對包體積「極端」敏感人群。以Android版的引擎runtime.so檔案為例,v3.x版本的引擎上,Lua空包體積3.6M,JavaScript空包體積5.2M,是以JavaScript會比Lua大出1.6M,主要是因為JavaScript VM的體積要大一些。我們正在做各種包體壓縮的工作,未來空包體積會進一步降低,但Lua始終會有1M左右的優勢;
· 希望用Cocos 3D的編輯器功能。目前Creator的研發進度還無法支撐3D編輯需求,支援3D和VR的時間點待定,不會很快,有這方面需求請選擇Studio。
是以,對于有上述需求的使用者,可以繼續使用Cocos Studio編輯器。Studio和Creator是兩條平行的産品線,我打算平行地維持很長一段時間。
為什麼不Cocos Studio上實作這些功能?
多種程式設計語言門檻使得Cocos Studio難以擴充。雖然我們在Studio裡推出了自定義控件的擴充功能,但實際上由于引擎修改用C++,遊戲邏輯編碼用C++ / Lua / JavaScript三選一,編輯器擴充用C#或Lua,一般團隊需要掌握三門程式設計語言才能完成Studio的擴充插件。是以實際使用中極少團隊可以能夠輕松 Studio做擴充插件。
在Cocos Creator裡面,「僅需要」一門JavaScript語言,就可以覆寫遊戲邏輯編寫、引擎架構擴充、編輯器擴充三個工作量最大的區域。如果配合node.js做服務端架構,那麼隻要掌握JavaScript就可以全盤通吃了。如果再從npm上撈一點友善使用的package,這日子可就滋潤多了。
為什麼抛棄C++做徹底腳本化
架構層面:我們嘗試過在C++上實作元件式結構,結果引擎組的高手寫出來的C++代碼像極了STL庫的風格,我覺得至少有1/3的Coocs引擎團隊人員無法一眼看懂這些C++代碼,更不用說各位使用者了。如果我們硬要走C++這條路,最後會導緻引擎架構代碼難以了解和進行調試。如果我們非要發展現代遊戲引擎的元件式結構,那麼隻能選擇腳本化了。另外,腳本化的附帶好處就是不需要處理各平台的工程檔案和makefile。
在編輯器層面,如果C++一條路走到黑的話,必然要選擇用Qt來開發編輯器。但是C++在編輯器的缺點很明顯,就是一定要通過編譯才能夠使用。這導緻了兩個結果:
(1) 編輯器插件的分享者提供全部源碼,讓策劃和美術人員自己編譯去用;
(2) 編輯器插件的分享者提供windows 32bit, windwos 64bit, mac 64bit, linux 32bit, linux 64bit, ios 64bit, android 32bit, android 64bit給策劃和美術人員自行選擇下載下傳;
上述兩種情況,都不是策劃和美術人員可以承受的。換成腳本就簡單了:上傳腳本(可開源、可混淆加密) -> 下載下傳腳本 -> 解釋運作。直接跳開了編譯過程。
但是腳本化并不是意味着整個引擎都用腳本來寫。Cocos Creator的架構核心仍然是大家熟悉的整個Cocos 2d-x C++引擎,引擎的主循環和絕大多數計算工作都在C++層面完成。隻是利用JavaScript bindings綁定出Cocos Creator的JavaScript API。是以大家無需擔心性能問題。
為什麼在腳本裡面選擇JavaScript而不是Lua
哈哈,這是個好問題,good question,pretty good!我知道一定會被國内無數的Lua程式員的口水淹死。首先聲明,Cocos Creator的架構,完全可以支援在上面用Lua把所有工作全部重新實作一遍。僅僅是翻譯和資源投入的問題。
但是,我不打算這麼做。
我更希望「純粹、專注」地先做好JavaScript,不承諾對Lua和C++的支援時間點。未來也許有1%的機率會改主意,但是今天我很堅決。有幾個主要原因:
1. 無數的大公司,包括Microsoft, Google, Apple, Facebook, Intel等都在大力投入JavaScript的研發上面,但Lua則沒有這個生态。JavaScript領域,有node.js,有npm,這些Lua都沒有;有Intel的nw.js(node-webkit),有Facebook的React,有Apple和Google鼎力支援的HTML5和WebGL,有Mozilla的asm.js,在桌面跨平台領域有Github的Electron和Atom,有Adobe的Brackets,而我們沒有見到上述哪家大公司投入資源大把資源在Lua上,這-是-事-實。請各位老闆深思為什麼巨頭們都做出這樣的選擇,或者你們覺得自己比這些大公司的決策者更聰明也無妨。
2. JavaScript可以讓遊戲跨Native, Runtime, 純HTML5三種模式,也就是我上文所說的「廣義跨平台」,而Lua隻能釋出前兩種。今天騰訊QQ浏覽器、QQ空間、QQ遊戲大廳已經都開放手機頁遊接入了,騰訊工作室的《歡樂鬥地主》已經釋出了基于Cocos Play加速器的手機頁遊版本。如果哪一天微信或手機QQ開放了 HTML5遊戲領域,那時候再來Lua轉JavaScript就已經來不及了,各位老闆隻能面壁哭去了。
3. Cocos Creator底層選擇了Github公司開發的開源項目Electron。而Eletron是Github官方的代碼編輯器Atom,以及微軟開源項目VS Code所用的底層基礎。其實我們很有幸和國際巨頭公司做出了同樣的架構選擇。如我前文所說,當然也不排除未來和VS Code合作、快速提高Creator開發體驗的各種可能。
引用我一個好友對Cocos Creator的評論:「有了這玩意兒我還管什麼Lua啊,遊戲公司要的就是降低開發成本,管它是什麼程式設計語言」。恩,此人是Lua死忠粉,并且出過cocos2d-lua教程書籍。
已有的cocos2d-html5, cocos2d-js項目可以平滑更新到Cocos Creator嗎?
抱歉不能。畢竟繼承式群組件式是完全不同的兩種設計思路,差別類似于蒸汽動力和電力時代一樣巨大。Cocos Creator裡面的架構API,和cocos2d-js API大概有80%是一緻的,但是改動了其中的20%。如果您熟悉cocos2d-js api,那麼您隻需要幾天的重新學習和适應,然後會發現開發速度越來越快。是以,無法「無縫」移植,您需要一些移植工作量。
Cocos Creator開源嗎?
鑒于遊戲引擎領域已經有諸多競争對手,恕我無法将整個團隊一年多心血的Cocos Creator100%開源。但是我始終不忘cocos2d-x開源社群的初衷,是以在Cocos Creator裡面,得益于高度可擴充的架構設計,對于不涉及核心技術門檻的編輯器元件,我們全部開源奉獻給行業。完全開源的部分包括:
· 代碼編輯器
· Spine導入插件
· Tilemap插件
· 引擎架構部分,就是加入了entity-component結構的定制版cocos2d-x
以上部分100%開源,這個清單後續還會持續增加。今天釋出的是Cocos Creator v0.7,我們計劃在春節後的2月份之内釋出v1.0,然後在v1.0之後新開發的插件,都講按照Cocos Creator标準插件擴充的開發方式進行,并開源。大家可以參照這些開源的編輯器擴充的标準和範例,開發出自己的擴充插件出來用。
來自精英團隊的有力支援
如Cocos Creator設計師、項目負責人王楠在視訊中所說,Cocos Creator團隊實際上是由兩批精英遊戲和工具開發者彙合而成,一方面保持了跨平台原生開發領域的多年研發經驗積累,另一方面又加入了熟悉遊戲開發各個流程和圖形界面工具開發技術的新鮮血液,算得上是目前國内遊戲工具研發領域的全明星團隊。Oh yeah,我最喜歡這樣B格滿滿的全明星團隊了。我長期的夢想就是彙聚國内的技術精英,打造出一款對世界産生影響的軟體産品來。Cocos2d-x已經實作了第一步,今天我希望用Cocos Creator更近一步。
同時,我們幸運地獲得了騰訊遊戲的認可與加持:
在Cocos Creator釋出之際,我們和騰訊遊戲一起,為開發者們準備了一個小驚喜:《21點遊戲》全部源碼與資源,100%開源供大家學習。《21點遊戲》是Cocos Creator的示例項目之一,由騰訊遊戲和Cocos引擎團隊聯合開發。開發者們可以借此快速學習使用Cocos Creator開發遊戲界面和玩法等。
《21點遊戲》示例包括:
· 完整的菜單、排行榜和遊戲循環
· 大量需要通過資料動态讀取修改的圖檔和字型資源
· 高品質的幀動畫特效
· 多分辨率自适應的 UI 布局
· 外部導入的狀态機代碼庫
· 使用曲線動畫和腳本混合呈現的動效細節
《21點遊戲》示例體驗位址:
http://www.cocos.com/creator/blackjack/
《21點遊戲》示例源碼下載下傳:
https://github.com/cocos-creator/tutorial-blackjack
特别感謝騰訊遊戲的授權與支援!
這款工具能夠真正改善Cocos遊戲開發的工作流,全面提高遊戲的開發效率,進一步降低遊戲開發門檻,手遊市場還在飛速增長,競争、挑戰、需求也越來越多樣化,Cocos團隊正在以更高效率為目的為越來越龐大的開發者大軍提供更直接有力的幫助和支援,讓更多的開發者能從容應對瞬息萬變的市場。
Cocos Creator下載下傳位址:cocos.com/creator/
我是王哲,歡迎您試用Cocos Creator之後給我們引擎團隊開噴或者點贊。我決定這幾天親自回複這篇文章下面的所有留言,是以不論你對Cocos系列産品是愛是恨,是捧是噴,盡管留言,所有意見都是歡迎的!