cocos2d-html5エンジンが凄い件

cocos2dっていうiPhoneでは有名なゲームエンジンがあるんだけど、それのHTML5版でcocos2d-html5ってのがある。
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Cocos2d-html5
これ、ちょっとまともに調べてみたけどかなり凄い。
凄いんだけどいまいちZyngaの日本での頑張りが足らないのか記事が少ないので、ちょっと紹介する。

ダウンロードとか

とりあえず自分で触ってみるわって人は、上のリンクからCocos2d-html5-v何がしの最新版リンクをクリックしてダウンロードすればいい。
この記事時点ではCocos2d-html5-v2.1.4が最新。


サンプルゲームはpixi.js辺りに比べるといまいちだけど、個別の機能を確認するのはcocos2d-html5のテストプログラムが使える。
http://www.cocos2d-x.org/html5-samples/samples/tests/index.html
これが、すごい。
今回はこのテストプログラムから、すごいと思うものをざっと紹介する。

マップ関連

まずはメニューから「TimeMap Test」ってのを選ぶ。

ロードに時間がかかるけど、間違っても2回以上押さないように。バグる。
出てきた画面右下にある右矢印をクリック。

しばらくするとヘックスマップが出てくる。

さらにタクティクスオウガちっくなクォータービューまで。

この二つは既存のフレームワークでサポート済みのものを知らない。
見た瞬間俺もちょっとびびった。
ちなみに本当に使えるレベルかは検証してないので、この凄いはとりあえずデモレベルでは凄いですねという程度の話。

パーティクル

次にMain Menuに戻って、「Particle Test」。
これは画像だと伝わりにくいけど、一応。
Spiral。ここで右下の数字は多分パーティクルの数。

これで500個。これを動かしているPCは、glshooterでも20fps切るレベルの低速PCだけど、余裕の60fps。
まあパーティクルはWebGLCanvasで埋めようが無い差があるからね。
次はparticle-fireの例。

この画像で出力されている炎のグラフィックだけど、実はたった一枚の32x32の画像を基に作ってる。
しかもソースコードはこんなのでいける。

var test = cc.ParticleFire.create();
test.setTexture(cc.TextureCache.getInstance().addImage(s_fire));
this.addChild(test);	//thisはLayerとかね


その他色々。詳しくは触ってみるべし。

スプライト

またMain Menuに戻って、「Sprite Test」。
これとか、Spriteにアンカー位置を指定して回転させてるみたい。これも珍しい気がする。

あとは色変え。jgame.jsでもaint filterでやってみたけど、これピクセルデータいじると結構遅いはずなんだけど、cocos2d-html5は結構速い印象。後でソース覗いてみる。

アンチエイリアス切れますよ的なデモもあったり。

Spriteを回転させるんじゃなくて、傾けてみたりとか。これはcanvasでもtransform使えばいけた気がするけど。

その他お勧め

その他、Effects Test、Effects Advanced Test、ProgressActions Test、Actions Test、Transition Testでアニメーションが見れる。Effects Testお勧め。
Transition Testは普通に吉里吉里のユニバーサルトランジションと同じ機能も実装されてるのが確認出来る。Transition自体はそこそこ滑らかだけど、そこまで爆速ではない。


あとは見て面白いのは「Extension Test」のCocosBuilder Test、TableViewTest、EditBoxTest。いずれもあまり他のフレームワークでは見ないものがチラホラ。
特にEditBoxTestは実装してるところの少ないテキスト入力可能部品なので、一見の価値あるかな。日本語入力やクリップボード利用もいける。「Text Input Test」ってのでも見れるけど、こっちはキャレットが見えないのでExtension TestのEditBoxTestのが完成度が高い。


俺みたいに自作ライブラリ作ったことのある人なら、Menu TestやNode Testとかも楽しめる。

蛇足

多分cocos2d-html5、今年から来年にかけてかなりあついんじゃないかなと思う。
cocos2dだしデバイスでのテストはちゃんとやってるだろうしな。


サムスンとアップルがあおりあいしてデバイス開発競争が進めば進むほど、TizenやFireFox OSが出たりしてOSが乱立すれするほど、HTML5が有利な状況にどんどんなっていく。
そろそろだと思うぞ。ジョブスの神業で唐突に現れたネイティブアプリ全盛時代の終焉。


色々見てきたけど、今のところhtml5ゲームフレームワークの決定版になりえる唯一のフレームワークがcocos2d-html5
ゲームデベロッパーは抑えておいた方がいいんじゃないすかね。