Cocos2d-xで ステージビルダー機能開発 技術・UIで工夫したところ
株式会社トランスリミット 川端 和樹
自己紹介川端 和樹
2015 新卒入社@Kawabata_Lemon
1400万ダウンロード 1000万ダウンロード以上
Nonverbal・非言語
Global・グローバル
開発環境
Cocos2d-x 3.5
Chipmunk
ステージを つくる
ステージをあそぶステージを あそぶ
ステージビルダー機能
1日に1万ステージが作られている 10秒に1つのステージが作られている
アジェンダ
ステージを つくる
ステージをあそぶ
通常の図形
->スケールと回転のみで対応
伸びるオブジェクトcocos2d::ui::Scale9Spriteで処理
->動的に剛体もサイズに応じて作り直している
伸びるオブジェクトSprite生成し続ける ->エディター画面で重くなる
->一つのSpriteにシェーダで描かせる
頂点シェーダ
フラグメントシェーダ
ステージの保持
{ }オブジェクトのタイプ ポジション スケール 角度
コンテントサイズ
->データサイズに気をつける
オブジェクトの回転剛体を持つオブジェクトに
setRotationを行っても反映されない
中間ノードを挟んでそれにsetRotationすることで解決
タップの判定BoundingBoxでタッチ判定をしていた
->重なった時に編集できない
図形内の座標に変換して 頂点間とのベクトルと外積を計算 ->すべて正かどうかで判断
アジェンダ
ステージをあそぶ
ステージをつくる
ステージのクリア率
->Amazon SNSにメッセージ送信
プレイ回数を毎回計測するAPIを作ると サーバーの負荷がかかる
->Amazon SQSで集計
Deeplink
iOS9だとTwitterの内部ブラウザがDeepLink非対応
まとめ・Cocosで物理エンジンを扱うのは大変
・バイナリのサイズを抑えられる・海外からは容量の大きいアプリは嫌がられる
・直接コードをいじれる
・情報リソースの少なさ、仕様・バグの放置
世界で戦うプロダクトを作ってみませんか
メンバー募集中!