cocos2dx 還有未來么?

感覺隨著市場發展,cocos的未來越來越不明朗。


未來指的是什麼?盈利嗎?如果是指盈利的話,我認為沒有。但如果說cocos的用戶,我認為cocos還是有很大一批用戶。

2D方面cocos目前的地位還是無法替代的,3D已經失敗了。

曾經,作為一名cocos主程,我也是看衰cocos2dx的。現在自己出來做產品,其實首要關心的並不是用什麼引擎,而是我的團隊適合什麼樣的引擎,選用不同的引擎成本各是多少。cocos在快速與廉價方面是無法替代的,現在很多團隊都在招cocos主程,還招不到!

再多說幾句,不是每一個團隊和公司都有能力去用U3D或者UE4的,能維護一個引擎的團隊更是少的可憐。以前作為一個純技術人員,覺得UE4高大上,cocos就是一個渣。

現在看來UE4在中國無法取得成功是必然的,巨額的團隊成本,再加上高達5%的收入分成,讓絕大多數團隊望而卻步。單純的程序員可能認為5%不是很多,但是很多團隊從渠道,發行分成下來之後也就20%左右,5%就是天文數字。

當年說AS3沒前景轉行的程序有多少?現在沒看見頁遊行業年薪50W招不到人。

廢話太多,沒有垃圾的技術,只有垃圾程序員

--------------------------------------------2017/2/22---------------------------------------------------------

對了,cocos2d-js我還是很看好的。手機頁游以後絕對能有自己的市場,一旦爆發,cocos2d-js還會火爆一波。用過egret,這玩意兒就是原來AS3那幫人的小弟做的,很是不好用(14年的時候,現在不曉得改進沒有)。

如果有技術前瞻性的程序員,現在可以試著弄弄cocos2d-js,後端用nodejs,網易pomelo框架。在手機頁游火爆的時候,絕對可以賺到第一波錢。哦,不對,現在已經有人賺到第一波錢了。就算賺不到熱錢,去個中小公司當個技術總監,妥妥的


我覺得現在還在用 cocos 的團隊都很尷尬,

知道 cocos 有新版本了,但是不敢升級,因為自己已經改了一大通了,新版本解決bug的同時一定會引入新的bug,還不一定兼容舊的寫法。

知道 cocos 不行了,但又不敢換,因為現在的項目還在賺錢,還得維護,還要快速換皮。

creater 是很棒,秒殺之前的cocos。但是既然都要重新來,為什麼不選 unity,反正之前幹了5,6年也沒有積累下來啥,倒是練就一身耐操的能力,學起來肯定快。

接著跟著cocos混,花了好多時間學習新理念,新流程,開新項目。萬一哪天突然宣布出一個 cocos fucker,之前的都不維護了,為了不讓你們繼續走「錯」路,之前的也不開源,直接銷毀,這時候項目做到一半,找誰哭?

若要分析cocos為啥會沒落,我想提出一條大家之前沒有注意的一點,就是官方對中文的支持太晚。

1,最開始沒有中文文檔

2,github 不讓提中文issue

3,中文論壇一坨屎,官方回復不積極,老外們一問題一大堆回復(雖然老外們提問題確實很有水準,但是我覺得可以引導大家,quick的中文郵件列表就做的特別棒)

我承認,我可能比較垃圾,也沒有為cocos的發展做出什麼貢獻,不太有資格吐槽cocos,但還是我就是按耐不住自己激動的心情呀。

我覺得cocos最近的一次機會就是quick–cocos2d–x ,各種好用,還給收購掉干殘了。 天啊,能給我們這些垃圾們留一點活路嗎?

對不起,我只會吐槽,不怎麼會修改cocos的bug。


衰落是肯定的。

原因沒別的,就是他們團隊能力不夠,尤其王哲遠離技術和研發之後(從他在各種社交網站論壇的發言可知)。

看看unity5相對於3、4的升級幅度有多大,而cocos日復一日的折騰工程配置,api名字,各種語法糖。用戶的手機硬體在提高,大家也過了摸著石頭過河的階段,但是cocos(或者說cocos團隊)的提升已經落後於時代了。


沒有,去看 cocos2d-js

我覺得一切不把開發效率放在第一位的遊戲技術解決方案都是耍流氓

unreal4 在誕生的時候,tim 就在很多場合說過這個問題:計算機性能是摩爾定律的,但團隊的程序猿產能不是。所以最大化開發效率而把效能放到次位才是出路

cocos 自己也在改革,cocos creator 的誕生就是最好的證明。Mozilla 的 spider monkey javascript 虛擬機承載遊戲邏輯,驅動可置換的底層實現,webgl 或 native

這個思路現在看起來奇怪。10年看unity的時候不也有人覺得奇怪么。要不是有AS3的頁游打臉,C++ 一元論不知道還要走多遠

私貨:我也不覺得白鷺和laya的思路有什麼特別的優勢,除了銜接 flash 的方案套現快……


如果cocos2d-x能專註做2d, 降低開發難度(改進編輯器,完善工作流), 穩定版本(修復已知bug, 做好版本兼容), 以及解決其他抱怨最多的核心問題, 穩吃大部分2d開發者還是妥妥的吧?

升級成cocos3d-x真的那麼重要麼, 我覺得反而破壞了自身定位...

大多數選cocos的開發者,要的就是一個穩定齊全的2d引擎,而不是看引擎團隊炫技..


現在遊戲市場發展到2017年,其實獨立遊戲團隊和個人開發者基本上絕跡了。這當然是拜廣電龜腚所致了。所以cocos能不能發展下去,就看遊戲公司用不用cocos了。

至少我上家公司還是主要用cocos的。而且公司主力項目月流水都是千萬級別的。我問過公司前輩為什麼不轉u3d,回答是cocos夠用了(公司主推2d遊戲),cocos成本比較低。

遊戲公司經過幾輪洗牌,基本上就剩下巨頭和中型公司能活著了,今年創業的小團隊我估計也不會很多。

上億流水的爆款基本都在騰訊和網易這邊。這兩大佬好像確實都不推cocos了。

那麼cocos也許真的只在中型公司有團隊在用了吧。其實cocos團隊可以派人跟蹤一下這些中型公司,解決他們的痛點,把這些團隊爭取住就好了。

我反正是不整遊戲了,干三年換了四五個引擎/框架,也是夠折騰的。


cocos2d-x 的發展壯大客觀的講跟手游的紅利期是有很大的關係。

那個時候能達到[可以用]這個標準的手游引擎確實不多,所以在這個關鍵時期獲得了重要的「人口紅利」,至少有相當大一批活躍的開發者可以給新手用戶提供指導。所以在很長一段時間裡,幾乎是 2d 手游引擎的唯一選擇。

然而,在巨大優勢局面下,並沒有把握住機會建立有效的壁壘,這也是非常遺憾的事情。

其實觸控在那個時期一直很努力的在做編輯器,然而,直到手游紅利期的末期才推出可以讓開發者比較滿意的 creater 。此時此刻,先前巨大的市場優勢已經……

實際上從一開始用這個引擎,就覺得很彆扭,應該所有非 OC 程序員都會有這樣的感覺。引擎的 API 明顯是為了兼容 cocos2d ,這其實也是一直以來最尷尬的問題。對於純 C++ 程序員,這無疑就是從一開始就想破口大罵的設計,有時候不得不自己再做一次封裝;而原 OC 程序員雖然乍看起來很容易上手,但是會逐漸陷入到 C++ 的天坑中無法自拔。

我曾經遇到過一個非常明顯看出是 OC 程序員並不會 C++ 的時候寫的代碼:

char* func()
{
string str;
. . . . . .
return str.c_str();
}

當時為了解決這個導致個別 Android 機,非必現的崩潰問題,各種瘋狂爆肝。

直到很晚的時候,應該是觸控挖來了 Ricardo 才主導了對 API 風格的調整。如果我沒記錯,那時候 Unity 已經有了 2D 模式。

如今 cocos2d-x 早已經把主陣地轉移到了 html5 ……

未來,判斷遊戲引擎的好壞,我認為,就看能不能把程序員的工作取代掉。這裡邊最重要的無疑就是可視化編輯器。不論是 Unity 還是 Unreal 甚至 GameMaker 等等 實際上做的都是這件事。程序員成本高,又愛鬧情緒,燒死程序員將是未來一段時間的主流理念。——僅僅個人觀點,個人觀點,個人觀點!!!

對於 cocos2d-x 的未來,還是祝好運吧。

遊戲引擎絕對是一個成本超高又沒有明顯盈利模式的東西,技術好也不能保證能活下來,從 crytek 欠薪大半年就能看出來,做引擎是個苦差事。而免費開源的模式在國內這個環境更是沒什麼辦法,羅永浩打算捐款的 OpenResty 用了整整一年的時間才通過香港的審批成為中國第一家獲得合法資質的軟體基金會。

這個槽吐下去就沒邊了,再重複一下個人觀點

未來遊戲引擎選擇的重點是好用的可視化編輯器,程序員的作用將最大程度的弱化。如果還需要通過寫代碼才能做出遊戲,將會被淘汰出主流市場。

============================================

補充一點:

今年 GGJ 北京站,大概50個團隊,使用 cocos2d-x 開發的項目大概有 3 ~ 4 個。應該可以說明,這個引擎還是有開發者認可的。使用 Unreal 和 GameMaker 的項目數量也差不多。絕大多數團隊使用的是 Unity。。。

============================================

其實我還想表達 做引擎和工具不容易 需要很多錢來養,所以作為使用引擎的開發者,在自己獲得利益的同時與引擎的開發者分享一部分,才能讓整個行業更健康的發展。


沒有,我們公司寫cocos的都一致認為這東西吃棗藥丸。說真的我是直接在工作中學的cocos,不然我不會入這個坑。

當然,不影響接下來很長一段時間,小團隊甚至中型團隊還會用這個引擎開發遊戲。

cocos的優點在於2d,包體積小,適配相對來說比unity更適合國內各種安卓雜牌機一堆,配合lua或者js,上手速度快,尤其是寫過as3的人。本來這引擎就是在蹩腳的模仿as3。開發成本低,目前盈利的unity遊戲,光美術成本都足以使很多小團隊望而卻步。使用lua的話熱更也極其方便,目前市面上盈利的cocos遊戲還是以lua為多。

缺點就是cocos的團隊素質不夠,bug多,版本升級兼容性奇差,輔助的creator和cocos studio也是更新就沒法向下兼容。導致對於引擎方面的bug大部分團隊都自己改,更新很容易引入新的bug。基礎庫內容太少,做ai和尋路都得從頭寫起。目前的情況是觸控看到3d的發展前景就不顧一切的撲上去,不肯在2d方面繼續打磨,順便為了推js把quick給滅了。

自動化打包這一點cocos也不算啥好鳥,不過沒用過其它引擎就不評價這個了。

隨著手機的性能的提升,以後估計還是3d的天下。但目前來說,開發2d速度快成本低,容易賺錢,還是會有很長的時間會有公司使用這個引擎繼續做產品。(因為也沒啥好選的不是╮(╯_╰)╭

說句題外話,國內做手游真的是累,沒有Google商店,各種渠道的包都要出,安卓十幾個越獄好幾個,每次打包都要打個十多個。。。。。還要抽出心思解決一些莫名其妙的機型的適配問題,如果不是端游開發時間長頁游佔比越來越小的話真是不想做手游……


市場本身也會有一定影響吧,就好像10年前,端游開始3D化,只有一小撮老牌子2D能扛到現在,其他的基本都沒影兒了...移動上的產品應該進化的更快一些。目前暢銷前10,沒幾個cocos了吧


其實cocos+lua挺好的,積累了兩年,工具和代碼都穩定了,不再follow官方版本,做做小遊戲,做做棋牌,輕鬆愜意。這也許就是cocos的問題所在,上岸的人早已能自己暢快游泳,新入門的只能苦苦掙扎不得解脫。


個人看法:

cocos的優點。

1.對於低端手機和雜牌手機的適配性較好(適合做垃圾吸費遊戲)。

2.代碼相對unity更加抽象,易於程序員抽象,建立完整的架構。

3,c++的語言靈活性較好(雖然易用性不如c#)

4包體較小。

缺點:

版本迭代太快,官網的文檔太爛,bug較多,開發速度不如unity。

unity:

除了包體過大和對雜牌手機的兼容性不如cocos之外,其它方面都比cocos好。

而且不是好一點點。

感覺cocos相對unity的優勢,隨著4g網路普及,以及渠道市場的規範(打垃圾吸費遊戲的打壓整治),優勢幾乎蕩然無存。

但是目前的情況是unity開發遊戲,小公司弄不起,成本太高。u3d能盈利的項目,大頭都花在美術上面,小公司耗不起。小公司用cocos開發的話,積累了很多經驗,代碼庫,可是一旦cocos進行版本升級,以前老的代碼基本作廢,嚴重影響開發效率,就是因為這個原因,國內很多中小公司的cocos版本還停留在2.x。

隨著市場轉型,市場更趨向遊戲本身的品質,而不是遊戲的包體是否小,遊戲是否能讓低配雜牌手機跑得起來,留給cocos的空間會越來越小,感覺未來不太看好,

個人看法,僅供參考。。。

.


兩個問題:不一致、不完備,導致許多瑣碎而重要的問題積累起來,從而使關注點從game內容分離開,轉移到了開發工具上,本末倒置。

cocos2d-x有很多坑,代碼版本升級不兼容,工具鏈不兼容,腳本系統先lua後js等。這些都可以想辦法處理,可以忍。

不能忍的是缺太多基礎設施。比如沒有AI引擎,簡單的AI都不能做,只好自己去porting;雖然cocos2d-x的3d有recast的尋路,但是只能給3d用,沒有2d的自動尋路,需要自己去做Delauny剖分計算mesh然後A*;調試尋路的時候還發現2D庫中缺很多計算幾何的基礎演算法,比如連取交集並集都不完善,只好自己手寫。我的筆記本屏幕支持多點觸摸,但cocos2d-x不支持,想要更好的調試體驗就去翻source看看能不能patch,發現用了其他(本身就不支持)開源庫,只好死心。另外舉個例子,3d版簡直嬸可忍叔不可忍。是否可以把2d完善,再把注意力轉向3d。

在cocos2dx上投入了很多時間、精力和希望,最後做出來了遊戲,發現用unity3d幾下子就能搞出來,那種感覺就是被降維攻擊的絕望。


cocos是到了一個頗為艱難的時候,特別是在3D和VR大潮衝擊下,cocos引擎團隊雖然很努力,但在3D方面缺乏有能力的團隊。3D引擎主要還是端游時代高成本砸出來的一批人做的比較成熟,這批人如果利用好還是有希望的。


作為一款引擎,它能給你讓你做遊戲簡單即可。

配合SDKBOX來開發感覺做小遊戲挺快的。


連addChild都要循環遍歷所有child改一遍透明度,連這種莫名其妙消耗性能都有的引擎能有什麼未來。


王哲開始關注這個問題,說明他對cocos2dx的未來表示擔憂


很多公司一開始用Cocos是因為和flash時代的開發模式很像,而且還支持熱更。

現在Unity上熱更方案已經足夠成熟,而且Cocos的各種坑都要程序員自己維護,再之Unity工資又比Cocos高,誰還做Cocos就是傻子...當然老闆不這麼看,因為Cocos程序員耐操,便宜,而且還自以為自己水平高,解決各種引擎底層問題!


在正確的時間,一幫水平不夠的人,做了一件正確的事。

時間過了,水平就顯得人格外重要。


現在已經不是2010年了。

cocos2dx這幾年一直在浪費時間走彎路。

1、工具鏈不完善。可能一直就這個鬼樣子了。

2、底層代碼不穩定, 經常變來變去。

3、不管是叫特性也好,bug也好,總之折騰人的地方太多。鼓弄引擎佔據了太多開發時間。

4、老子lua玩得好好的, 你說扔就扔。 滾蛋吧。

與unity一比,就是游擊隊和正規軍嘛。


其實可以轉換下思路,cocos2dx(2D) + Ogre(3D) + mono(Script) + unity3d(editor),一樣用C#快速做各種2D和3D遊戲,各種插件模塊還能自定義,比如box2d,bullet,recastnavigation,ParticleUniverse...,可惜願意靜下心來研究的人沒有幾個,也許以後出現一個引擎直接大喊一聲"給我做ARPG遊戲"就自動生成做好的ARPG成品就是做遊戲的終點吧


推薦閱讀:

Kizuna Ai (キズナアイ) 到底是不是 AI?
unity中動態批處理限制的頂點數是根據什麼來計算的?
unity的c#腳本和標準的c#語言有什麼區別和聯繫?unity是僅僅使用了c#的語法嗎?
學習Unity3D有什麼比較好的資料嘛?
unity在ios平台下內存的優化?

TAG:遊戲開發 | Unity遊戲引擎 | Cocos2d-x | 遊戲程序員 | cocos |