Cocos2D-X引擎 王哲:加入資料化處理

Game2遊戲:


4月13日消息,CocoaChina2013(春季)開發者大會在北京國家會議中心舉行。本次大會以「//It’s A Circle」為主題,旨在通過提供權威指導,聯合開發者、內容提供者、運營商、管道發行商、運營商,打造良性生態發展環境。

Cocos2D-X聯合創始人王哲

Cocos2D-X聯合創始人王哲先生在會上與大家分享Cocos2D-X在2013年發佈的主要新功能包括Plugin-X和CocosHub,據其介紹在最新發佈的更新版本中加入資料化處理和資源管理功能。同時在支付方面重點使用支付寶,目前Cocoa社區是每一周發佈一個版本,包括CocoStudio、CocoaHTML5等等幾個功能。

據王哲介紹「Cocos Hub是類似資源的集散地,在這上面現在已經有了50幾個產品,如果做一個編輯器、Game、或者Plugin協力廠商,可以把研發產品加到這裡面,使用者要找資源的時候,很容易查找。目前在ARPU上面,像編輯器等等,一般都是UI為主。接下來是Plugin,Cocos Hub實際上是類似的東西,就是資源集散地,容易分享和找到別人分享的代碼。」

王哲表示「2013年Cocos社區基本上是以C++和Lua和JAVAscript為主,HTML5為輔。在C++上面把邏輯更新和繪圖放到一個執行緒裡面提高效率,重新設計了UI框架,Plugin-X和CocosHub功能已經可以使用。同時在社區上面有150多篇的Wiki,未來將繼續增加並保持更新,目前已經推出相關技術指導教材,包括中文、韓文、日文和英文版本。

以下為Cocos2D-X聯合創始人王哲演講速記:

王哲:大家好!今天很高興跟大家分享Cocos2D-X在2013年要發佈的新功能。首先國外著名的媒體Pocket Gamer發佈了手機遊戲的前50強。很幸運的是,在這50強裡面有12家使用Cocos2D-X引擎發佈他們的產品,也就是大家看到的這些大牌公司,都是很熟悉的。值得一提的是,有兩家中國公司上榜,成都的數位巔峰和北京的觸控,這兩家都是Cocos2D-X的使用者,這是在國際上的情況。

在國內的情況,這上面(PPT)的十個遊戲是蘋果官方公佈的2012年最掙錢的遊戲,下面是我在上週五搜索的中國區前十名。以前我們說有多少Cocos2D-X遊戲在榜單上的時候有一個框給它們框出來,但是今年框不了了,因為實在太多樂,我只能抱歉的把不是Cocos2D-X的遊戲遮蓋起來。無論是去年全年的收入還是上周的收入,中國區最賺錢的有7個是Cocos2D-X開發的。在iOS上面的榜單,大家很熟悉的遊戲這些都是用Cocos2D-X做的。我不太清楚Cocos2D-X在所有開發者當中比例是怎麼樣的。但是在最賺錢的遊戲公司裡面,我們全球佔有量差不多是26%,中國是70%。

我還是想講一下技術。Cocos2D-X更多的時候給人的印象,左邊三個框架,首先有一個渲染層,接下來是動畫,接著還有一些場景管理,但是實際上在早期的版本就已經有了物理庫和音訊庫。在2.0版本開始,我們使用了Maths。在最後這個版本,3月21日最近這次發佈的時候,我們加入了資料化處理,接下來是資源管理功能,這個資源管理器怎麼樣?可以對比載入資源的時候設定不同的目錄優先型,比如我這個遊戲設置的是先載入目錄二,再載入遊戲資源,所有都放到目錄一裡面,第一次運行的時候先按一下目錄二,再到目錄一裡面把我的圖片載入出來。在運行遊戲的時候發現伺服器上面有更新,就把這些更新的圖片放到目錄一裡面,這時候我運行發現,目錄二裡面有資源,我就把目錄二的資源裝進來就行了,這就是我們所要的線上更新功能。可以繞開應用商店的週期,如果你發現有Bug,要一個一個去修復,要把所有的iOS和Android的版本裡面都覆蓋到,這個是在最後一個版本裡面我比較喜歡的資源管理的功能。後面發展重點的是一個腳本化變成還有編輯器。

目前我們看到比較好的遊戲Cocos2D-X是用C++做出來的,像忘仙等等,是用C++做出來的。而Lua目前是比較流行的,像我叫MT、大掌門、開心水族箱還有找你妹,都是用Lua開發的。所以如果說C++最靠譜的話,那麼Lua應該算是最流行,而JAVAscript是最有前景。我們去年花了很多時間做推廣,至少今年3月之前,有兩家國外的公司做完遊戲,有的發到Android,也有直接跑HTML5在網頁上。但是三個月之後,有一個重量級的開發者加入,是Matching Friends,已經在Facebook上線,如果你現在到Facebook去搜,是通過HTML5的,而且現在把這個遊戲直接移植到iOS和Android上面。

所以對於這三個技術方案,我後來還是心裡有點糾結,我就到了Cocos2D-X的社區裡面,看看他們喜歡哪個腳本。結果最後發現C++仍然是占絕對的優勢,大家還是比較喜歡這種傳統的開發方式。在Lua和JAVAscript上面一直是差不多的,還有人在其他的方面。在這種情況下,雖然JAVAscript前景非常好,但是喜歡Lua的人,因為中國人從端游轉過來,所以我們今年還會繼續在Lua方面綁定。今年的計畫,在中期差不多半年內的計畫,應該是首先以C++為核心,我們打算重構客戶資料上面的UI方向,會不知道一個UI的系統裡面去,再就是進行更新,達到動畫的效應。但是現在已經足夠快了,比其他的引擎快5到10倍左右,這個是有測試資料的。C++的這些功能最後都會綁到Lua和JAVAscript上面,但是兩者又有各自的發展目標。在Lua上面,現在單元測試引擎已經覆蓋了90%,剩下的10%是在擴展庫裡面的,比如說網路、資料庫存儲這些還沒有綁,但是在未來一到兩個月裡面都會綁成。這是Lua的官方庫,腳本效率會提高3到5倍,接下來Lua還有自己的網路庫,我們也打算去嘗試。在JAVAscript上面,我們最近做了一些事情,把所有的都綁到上面,放到上面的時候就直接跑,因為所有的都會綁到JAVAscript上面。對於網路訪問,目前我們打算先把HTML5這個大家最熟悉的介面實現,這樣運行的時候就會有區別,是一個比較方便的碼數。在最後這個版本裡面,我自己寫了一個,就是跨平臺的工程,我們去做編輯、打包、部署、運行、調試,集成協力廠商庫,這些事情其實都可以用腳本實現。JAVAscript後面很重要的一個功能就是實現這種比較簡單的操作。

對於我們的遠期目標,最終我們希望Cocos2D-X是這樣的,我們會把C++的功能全部到JAVAscript上面,在瀏覽器裡面可以使用HTML5直接跑在瀏覽器裡面,這個架構實際上目前就是Matching Friends正在使用的架構。可以一次寫完遊戲,既享受到HTML5的好處,又享受到JAVAscript的好處。

講完技術之後再講一下我們的社區,我們的社區光有技術是不夠的。在社區方面,我們在2013年1月1日之後,我們開始有一個專門專職的為Cocos2D-X寫文檔的,三個月過去之後,我們有累計超過100篇的文檔,而且都是保持更新的。左邊這張圖目錄太長了,右邊大家可以找到自己的關鍵字去看這些文檔,這些文檔的保持都是社區一貫的風格,全部都是英文的。任何在Cocos2D-X網站上註冊的使用者他都可以修改Wiki,而且存檔之後就就立刻可見的,跟百度的Wiki需要審核的是不一樣的。你發現文檔不太滿意的話可以及時修改,如果你懶得改,我們收到檔通知之後就會過來更新。在這些Wiki上,我們前面所說都是英文的,但是如果你想看中文的話,目前我知道是有網站正在組織資源,翻譯成中文的。如果是其他開發者社區,自己翻譯,如果你想用這些寫一本書的話我們也可以介紹出版社。

談到書,今年中文的Cocos2D-X教程出版了,包括Cocos2D-X權威指南、Cocos2D-X、iOS遊戲程式設計之從零開始、Cocos2D-X手機遊戲開發、Cocos2D-X高級開發教程、Cocos2D-X遊戲開發技術精解。如果你不看英文,不看中文,今年還有兩本韓文的書,有兩本日文的,還有兩本英文的會在全世界發佈。社區裡面除了教程這個書以外,需要增加編輯器的支援,這是一個編輯器,是一家德國公司直接拷過來的,3500美金,實際上HTML5和iPhone都是支援的。這是一個解析器,大家可以到HTML5的軟體網站上去購買這個編輯器。這是我在今年看到最酷的一款,非常專業。另外一個比較好的工具是立體效果編輯器,比第一代最大的改進就是可以編輯負荷的音質效果,如果從手機上到電腦上,這是很極限的情況。這個Particle Designer2我們會讓他們翻譯出來中文的工具,這是目前看到獨立的編輯器裡面最酷的。

講編輯器就離不開我們官方的CocosPlayer,就像一個殼一樣的東西,可以載入資源,你把它在手機上,可以跟Cocos Builder連接,在這當中做的動畫、資源和腳本,你只要發佈一下,這些資源就直接被上傳到這個APP裡面,在APP裡面就可以直接運行了。目前只要把這個資源和腳本上傳到這個CocosPlayer裡面就可以跑,今天下午我們可以看到很酷的效果。

接下來到了我們發佈新功能的環節,這是我最開心的,希望大家能喜歡。這次在技術方面和社區方面我們都發佈了新功能,技術方面新的產品叫Plugin-X,現在是一個範本。我們在做捕魚達人的時候發現有大量的廣告和各種社交分享,這時候我們就分了一個介面自己用。對於特別是支付,不同的支付有不同的介面,我們希望是同一個介面。比如說我不知道玩家這個手機是哪一個運營商的,甚至他沒有運營商,他沒有插卡,這沒有關系,比如說一個單純的Pad。這時候在Plugin-X裡面他應該是自己去獲取,如果是中國移動的是移動的支付,如果是聯通的就是聯通的支付,或者是電信的就調用電信愛遊戲的。我們就設計了這麼一套東西,也就是說,雖然所有協力廠商的SDK全世界有上千個,但是商業模式是非常有限的,所有SDK的商業模式就是支付、廣告、分享,我們根據這幾種商業模式設計出來了範本。所有的SDK總能夠找到他對應的一個或者是兩個協定,遊戲只要把這個Plugin載入進來,調用這個協定,就可以實現對於SDK的調用,不用關注更多的複雜性。

以支付為例,首先就是載入Plugin,我們比如叫IAP China Mobile,註冊的時候用,底下的有各種各樣的,比如IAP China Telecom、IAP China Unicom、IAPALI等等。調用的時候代碼就需要關注差異性,如果是這邊是一個外掛程式,實際上大家基本上都有一些超時的判斷,這個上面我第一此看到這個API的時候覺得很奇怪,所以其實大家能夠提供的功能在這個統計上面其實都是類似的,有一個統計的話對於開發者比較方便。

整體的結構設計是這樣的,如果是iOS和Android兩個版本的SDK沒關係,不用去關心中間怎麼樣換,你只要把Android版本的SDK接到我們JAVA的API。接下來在這個之上做轉換,所以遊戲就直接調C++介面就可以了。也就是說,首先是跟形式無關的,照樣可以使用Plugin-X的。實際上提供了C++、JAVA等等,不管是哪一種,都可以調用這個通用的介面,這是目前我覺得比較好的設計。假如說我這個SDK,比如資料統計不賺錢,是燒錢的,還需要有一個SDK。這時候怎麼辦呢?比如說我有一種很創新的業務,這是目前商業模式裡面沒有的,沒有這個怎麼做呢?那沒有關系,我們可以使用反測,最後JAVA等等都有反測的機制的,我們反測到這個SDK上面。如果說你這個創新型的業務最後很多人很不喜歡沒有關系,我們再加上其他的。這是我們用了將近兩年的東西,所以這次開放給大家用。

目前我們已經做好的重點是支付,有支付寶,有國內國外的。後面馬上出來的就是社交分享,國外的一些公司基本上都解決好了。在3月21日的版本裡面還可以有,但是已經集成到Cocos2D-X的倉庫裡面了,所以在4月底新的版本就會有。目前Cocoa社區是每一周發佈一個版本,包括CocoaStudio、CocoaHTML5等等幾個功能。

Cocos Hub是類似資源的集散地,在這上面現在已經有了50幾個產品,就是如果你做一個編輯器,做一個Game,或者有一個Plugin協力廠商的做法,怎麼能夠讓開發者調用和知道呢?我們把這個東西稱之為APP,你可以把自己的產品加到這裡面,使用者要找資源的時候,可以到Android上面的一個平臺,去點Plugin還有Android,很容易就會找到。目前在ARPU上面,像編輯器等等這些,還有就是Widgets這些,上面一般都是UI為主。接下來是Plugin,剛才我講了Plugin-X。還有就是Extensions,還有一些其他的,主要的就是這些,如果後面有需要的話我們再繼續增加。對於Cocos Hub我自己的設計就是說,很多的軟體都有自己的外掛程式,Cocos Hub實際上也是類似的東西,就是資源集散地,容易分享和找到別人分享的代碼。

整體在Cocos社區2013年,我們基本上是以C++和Lua和JAVAscript為主,還有HTML5。在C++上面,我們是把邏輯更新和繪圖放到一個執行緒裡面提高效率,還有重新設計了UI框架,這兩個新的功能,Plugin-X和CocosHub是當前立刻就能應用的。在社區上面我們有150多篇的Wiki,還會繼續再增加,會跟最新的版本保持同步。如果你想買書看的話,中文有7本,韓語2本、日語2本、英文2本。

下面是CocoaStudio,這個工具大家看一看,它是一個幾層的編輯器。我就講到這裡,謝謝大家!

本文轉載gamelook,編輯僅做翻譯。詳細請查看原網站文章。

Comments are closed.