こんにちわ。DeNAイベント担当兼ブログ担当の佐藤と申します。
11/11(火)に、渋谷ヒカリエのDeNA本社にて、
「DeNAゲーム開発勉強会」を行いました!
その題材は、いま、弊社のイチオシアプリの
『ファイナルファンタジー レコードキーパー』!
9月末にリリースされ、約1ヶ月で300万DLを突破したタイトルです!

今回の勉強会では、デザイン周りの話とエンジニアリング周りの話の二本立てで、
それぞれの領域で、ヒットを生み出す秘訣を存分に語りました。
165名の定員があっという間に埋まった熱い勉強会の模様をレポートさせていただきます!


●セッション1:『FINAL FANTASY Record Keeper』演出データについて

ffrk_kaijo


講演者は、開発基盤グループのJun。
大手ゲームメーカー出身で、CGクリエイターとして多くの作品を手がけてきた者です。
このセッションでは、演出面の「クオリティ向上」と「効率化」の両立を実現した
取り組みを紹介しました。

ffrk_kobayashi


1)データの基本
マスターはGoogleスプレッドシートで管理し、
量産データは、自社開発の『Animation Builder』で制作。
エンジニアの手を介さず、実機で確認できる仕組みを構築しています。

2)ツール紹介
ゲーム自体は、ネイティブとWebのハイブリッドで構成。
演出部分は、クオリティを重視し、ネイティブで作成しています。
ここで、『Kickmotor』という自社フレームワークを使用。
OpenGL APIにアニメーションやエフェクト機能が搭載されており、
アニメーションの制御はJavaScriptで行っています。

各素材の作成にあたっては、画像書き出しツールの『ImagePacker』、
スプライトアニメーションを制作する『Sprite Animation Builder』、
エフェクトデータを作成用の『Particle Builder』、
各要素の構造をつくる『Animation Builder』の4つを駆使しています。
これにより、開発が非常に効率的に。

3)データの中身
「通常アビリティ」「必殺技」「召喚獣」の3つを
同じ再生ロジックで表示することに成功。
データに、次の受け渡しタイミングを仕込むことにより、
共通化が図られました。これで量産が非常に楽に。

※詳細はこちらのスライドにて!



●セッション2:『FINAL FANTASY Record Keeper』の作り方

ffrk_kaijo2


講演者は、新卒4年目のリードエンジニア、Eisuke。
このセッションでは、主としてパフォーマンスの向上について
語られました。

ffrk_arai


1)アプリの構造
WebViewレイヤとOpen GLレイヤのハイブリッド構成。
WebView上のJavaScriptからネイティブ関数を実行している。
アニメーションには、Defferedチェーン用いています。

2)パフォーマンスチューニングと運用
ユーザーテストの結果、「重い」「熱い(スマホが)」という結果に。。。
ここから、徹底的なチューニングを施しました。
WebViewでは、Chromeでのプロファイリングにより、
レイアウト構造を一から改善。
ネイティブの部分では、描画APIを精査し、パフォーマンスを圧倒的に向上しました。

運用時には、高負荷対策によりサービス停止にはなっていません。
また、マスタ管理を徹底し、効率的な作業を実現しました!

※詳細はこちらのスライドにて!



その後、懇親会が開催され、多くの方にご参加いただき、
盛り上がりの中、イベントは幕を閉じました。

今後も、ゲーム業界を盛り上げるべく、
イベントは引き続き開催していきますので、
引き続き、よろしくお願いいたします!