Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

制作を支えたツール達 (パズル戦隊デナレンジャー)

5,808 views

Published on

第5回 DeNA ゲーム開発勉強会

Published in: Software

制作を支えたツール達 (パズル戦隊デナレンジャー)

  1. 1. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 第 5 回 DeNA ゲーム開発勉強会 xAiming パズル戦隊デナレンジャー : 制作を支えたツー ル達 Apr. 28, 2015 渡辺 亮 Japan リージョンゲーム事業本部 技術・編成部 開発第三グループ DeNA Co., Ltd.
  2. 2. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 自己紹介  渡辺 亮 ( わたなべ りょう )  DeNA でゲームを作り始めて 5 年目 ⁃ ブラウザソーシャルゲームの開発・運用を いくつか担当 ⁃ 海外向けのアプリソーシャルゲーム Blood Brothers のリードエンジニアを経て ⁃ パズル戦隊デナレンジャーの クライアントエンジニアに  サーバエンジニアですが、クライアントも 始めました、というパターン  割となんでもやってます 2
  3. 3. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. アジェンダ 「パズル戦隊デナレンジャー」の開発・制作で 利用したツール ( の一部 ) と知見をご紹介します クラッシュレポートとシューティング : Crittercism & LiftEngine ステージデータの制作 : Tiled Map Editor アニメーション・エフェクトの制作 : SpriteStudio その他、今回は触れませんが : CocosBuilder(UI), TexturePacker( スプライトシート作成 ), Jenkins( ビルドサーバ , 一部ツールの非エンジニア向けインタフェース ) など 3
  4. 4. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. デナレンジャーチームのミッション ヒットさせるのは言うまでもなく、道を作る ゲームクライアント開発力向上 ⁃ サーバエンジニア出身のメンバー多い ⁃ 開発ノウハウ溜める 新しい自社フレームワーク・ライブラリの安定化 ⁃ LiftEngine (2D ゲームフレームワーク ) ⁃ DeAL ( サウンドライブラリ ) ツール選定 ⁃ 後続タイトルの開発も考慮に入れて 4
  5. 5. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. クラッシュレポートとシューティング : Crittercism & LiftEngine 5
  6. 6. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Crittercism  mAPM(Mobile Application Performance Management) のサービス ⁃ クラッシュレポーティングに限らない • アプリケーションの利用分析 • API アクセスなどのパフォーマンス分析 ⁃ 現時点ではクラッシュレポータとしてのみ利用  特に役に立ったもの : ⁃ スタックトレースの自動 Symbolicate ⁃ ゲームのユーザ ID との紐付け ⁃ クラッシュ数推移の集計 6
  7. 7. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Crittercism 7
  8. 8. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. LiftEngine によるデバッグ支援  独自のメモリアロケータ ⁃ 解放するメモリ領域を特定パターンで塗りつぶす → 解放済みメモリへのアクセスを識別できる  遅延解放 ⁃ delete されたら、塗りつぶしだけしておき 実際のメモリ解放は少し待ってから行う ⁃ 解放するとき、内容が書き換わっていないか チェック → 予期せぬメモリ破壊を検出できる 8
  9. 9. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. クラッシュ対応 その他の取り組み  PC に接続したスマートフォンを使用して QA ⁃ Xcode でデバッガ起動した状態で QA ⁃ クラッシュしてブレークしたらそのまま開発者のも とへ  QA メンバに端末ログ採取を徹底  長時間の耐久プレイテスト  ベータテストでのクラッシュ調査 9
  10. 10. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ステージデータの制作 : Tiled Map Editor 10
  11. 11. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Tiled Map Editor 11
  12. 12. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Tiled Map Editor  座標ごとにタイルを置いてマップデータを作る  レイヤーを複数持てる ⁃ デナレンジャーの場合は • ギミックレイヤー • 悪のオーラレイヤー • ブロックレイヤー • セルレイヤー  といった具合。ゲーム上の概念と合わせやすい  プロパティ (key-value) だけ持つレイヤーも ⁃ 必要スコアなどの設定値を保持するために利用  Cocos2d-x 用のローダーがある 12
  13. 13. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. パズルのレイヤー構造 13 ギミック 悪のオーラ ブロック セル
  14. 14. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. イマイチだったところも  座標ごとに持てるデータはタイルの ID のみ ⁃ 座標ごとに構造体を持ちたいケースには不適 ⁃ 細かい設定を必要とするギミックがあるとつらい  マップデータと描画情報が密結合している ⁃ 本当は 2 次元配列のマップデータだけでよかった ⁃ Tiled Map におけるレイヤーは、バッチ描画の単位。 ゲーム内の概念とは無関係 ⁃ Cocos2d-x 用のローダーが、画像のロードまで 行っている  編集時にバリデーションが効かない 開発期間の折り合いがつけば、専用に作ってもよかった。 14
  15. 15. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. アニメーション・エフェクトの制作 : SpriteStudio 15
  16. 16. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. アニメーション作成ツールの選定  データの量産に向いているか ⁃ 制作を担当するデザイナーの視点で  導入実績が豊富か ⁃ ツールの普及度が高いほど、制作を外注しやすい  再生用ライブラリの品質 ⁃ オープンソースであれば手を入れることも可能 16
  17. 17. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 色々検討した  AnimationBuilder ( 自社ツール ), Spine ▲ データ量産しづらい ( )※ • 既存データを組み合わせての新しいアニメーション作成 • タイムライン上でのキーフレーム編集の使い勝手 など  DragonBones ◯ Flash の拡張機能 → Flash のスキルを活用できる ▲ 再生用ライブラリがいまいち ▲ c++ での導入実績少ない ※ 対象とするアニメーションの複雑度による。   比較的シンプルなアニメーションを大量生産するなら SpriteStudio 17
  18. 18. Copyright (C) DeNA Co.,Ltd. All Rights Reserved.  コンシューマでの採用実績もあり、パフォーマンスにも期待 ⁃ プロトタイプの時点では結構よく動いていた Optpix SpriteStudio を採用 18
  19. 19. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. …ところが  Cocos2d-x 用の標準プレイヤーが遅すぎる ⁃ 高速化した • DeNA 流 cocos2d-x との付き合い方 http://www.slideshare.net/dena_study/denacocos2d-x  出力されるデータの中身に無駄が多い ( プロジェクトファイル内の全画像の参照が 全アニメーションに含まれる ) → 無駄なロードが大量に発生 ⁃ 使ってない画像の参照情報をツールで一括削除 ⁃ 後続のプロジェクトではプロジェクトファイルの 分割単位を工夫 19
  20. 20. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. …ところが  エンジニアが頑張ることが多かった ⁃ SpriteStudio のデータに、ゲーム中の Sprite や 他のアニメーションを attach したい場合など ⁃ AnimationBuilder が得意な部分 20
  21. 21. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. …ところが  パーティクル使えない ⁃ デナレンジャーでは簡易パーティクルを実装 ⁃ ランダム性が必須でなければそれっぽく手付け ( デザイナーが頑張る ) ⁃ SpriteStudio の最新バージョンではサポート済 21
  22. 22. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. デナレンジャーの反省を活かして  後続のタイトルでは AnimationBuilder と SpriteStudio を併用 ⁃ AnimationBuilder のアニメーションノードとして SpriteStudio アニメーションを利用可能 …例えば • 個別キャラクターのスプライトアニメーション : SpriteStudio で制作 • キャラクターの移動曲線 : AnimationBuilder で制作 → プログラムでキャラクターを差し替えて汎用的に使える  AnimationBuilder での制作については : ⁃ FINAL FANTASY Record Keeper 演出データについて http://www.slideshare.net/dena_study/20141111-dena-study21 22
  23. 23. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ご静聴ありがとうございました 23

×