Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
dena_study
PPT, PDF
154,552 views
FINAL FANTASY Record Keeper の作り方
第二回DeNAゲーム開発勉強会のスライドです https://atnd.org/events/58433
Software
◦
Read more
432
Save
Share
Embed
Embed presentation
Download
Downloaded 406 times
1
/ 38
2
/ 38
3
/ 38
4
/ 38
5
/ 38
6
/ 38
7
/ 38
8
/ 38
Most read
9
/ 38
10
/ 38
11
/ 38
12
/ 38
13
/ 38
14
/ 38
15
/ 38
16
/ 38
17
/ 38
18
/ 38
19
/ 38
20
/ 38
21
/ 38
Most read
22
/ 38
23
/ 38
24
/ 38
25
/ 38
26
/ 38
27
/ 38
28
/ 38
29
/ 38
30
/ 38
31
/ 38
32
/ 38
33
/ 38
34
/ 38
35
/ 38
36
/ 38
37
/ 38
38
/ 38
More Related Content
PDF
オンラインゲームの仕組みと工夫
by
Yuta Imai
PDF
ゼロから始める転移学習
by
Yahoo!デベロッパーネットワーク
PDF
Unityでオニオンアーキテクチャ
by
torisoup
PDF
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
by
LINE Corporation
PPTX
ゲームエンジニアのためのデータベース設計
by
sairoutine
PDF
正しいものを正しく作る塾-設計コース
by
増田 亨
PDF
マスターデータの キャッシュシステムの改善の話
by
natsumi_ishizaka
PPTX
UnityでUI開発を高速化した件
by
Grenge, Inc.
オンラインゲームの仕組みと工夫
by
Yuta Imai
ゼロから始める転移学習
by
Yahoo!デベロッパーネットワーク
Unityでオニオンアーキテクチャ
by
torisoup
ベイズ推定とDeep Learningを使用したレコメンドエンジン開発
by
LINE Corporation
ゲームエンジニアのためのデータベース設計
by
sairoutine
正しいものを正しく作る塾-設計コース
by
増田 亨
マスターデータの キャッシュシステムの改善の話
by
natsumi_ishizaka
UnityでUI開発を高速化した件
by
Grenge, Inc.
What's hot
PDF
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
by
gree_tech
PDF
ゲームの仕様書を書こうまとめ
by
Sugimoto Chizuru
PDF
ソフトウェアにおける 複雑さとは何なのか?
by
Yoshitaka Kawashima
PDF
ドメイン駆動設計 失敗したことと成功したこと
by
BIGLOBE Inc.
PDF
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
by
Unity Technologies Japan K.K.
PDF
オブジェクト指向エクササイズのススメ
by
Yoji Kanno
PPTX
5分で出来る!イケてるconfluenceページ
by
CLARA, Inc.
PPTX
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
by
sairoutine
PDF
知っておきたいFirebase の色んな上限について
by
Kenichi Tatsuhama
PDF
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
by
infinite_loop
PDF
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
PDF
【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策
by
Unity Technologies Japan K.K.
PDF
ObserverパターンからはじめるUniRx
by
torisoup
PDF
ソフトウェア開発のやり方の改善
by
増田 亨
PDF
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
by
Drecom Co., Ltd.
PPTX
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
by
SEGADevTech
PDF
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
PDF
論文紹介: An empirical evaluation of in-memory multi-version concurrency control
by
Sho Nakazono
PDF
第11回 全日本コンピュータビジョン勉強会(前編)_TableFormer_carnavi.pdf
by
RyoKawanami
PPT
メタプログラミングって何だろう
by
Kota Mizushima
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
by
gree_tech
ゲームの仕様書を書こうまとめ
by
Sugimoto Chizuru
ソフトウェアにおける 複雑さとは何なのか?
by
Yoshitaka Kawashima
ドメイン駆動設計 失敗したことと成功したこと
by
BIGLOBE Inc.
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
by
Unity Technologies Japan K.K.
オブジェクト指向エクササイズのススメ
by
Yoji Kanno
5分で出来る!イケてるconfluenceページ
by
CLARA, Inc.
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
by
sairoutine
知っておきたいFirebase の色んな上限について
by
Kenichi Tatsuhama
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
by
infinite_loop
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
【Unity道場スペシャル 2017京都】スマホゲーム開発者なら知っておくべきチートのリスク&対策
by
Unity Technologies Japan K.K.
ObserverパターンからはじめるUniRx
by
torisoup
ソフトウェア開発のやり方の改善
by
増田 亨
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
by
Drecom Co., Ltd.
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
by
SEGADevTech
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
論文紹介: An empirical evaluation of in-memory multi-version concurrency control
by
Sho Nakazono
第11回 全日本コンピュータビジョン勉強会(前編)_TableFormer_carnavi.pdf
by
RyoKawanami
メタプログラミングって何だろう
by
Kota Mizushima
Viewers also liked
PDF
DeNA流cocos2d xとの付き合い方
by
dena_study
PDF
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
by
Takahiro Kubo
PDF
170614 iclr reading-public
by
Katsuhiko Ishiguro
PDF
ICLR読み会 奥村純 20170617
by
Jun Okumura
PDF
[ICLR2017読み会 @ DeNA] ICLR2017紹介
by
Takeru Miyato
PDF
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
by
Takanori Nakai
PDF
Html5/JSモバイルアプリ最前線
by
アシアル株式会社
PPTX
モバイル用Webフレームワーク最前線
by
アシアル株式会社
PDF
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
by
Eiji Sekiya
PPTX
医療データ解析界隈から見たICLR2017
by
RIKEN, Medical Sciences Innovation Hub Program (MIH)
PDF
Q prop
by
Reiji Hatsugai
DeNA流cocos2d xとの付き合い方
by
dena_study
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
by
Takahiro Kubo
170614 iclr reading-public
by
Katsuhiko Ishiguro
ICLR読み会 奥村純 20170617
by
Jun Okumura
[ICLR2017読み会 @ DeNA] ICLR2017紹介
by
Takeru Miyato
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
by
Takanori Nakai
Html5/JSモバイルアプリ最前線
by
アシアル株式会社
モバイル用Webフレームワーク最前線
by
アシアル株式会社
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
by
Eiji Sekiya
医療データ解析界隈から見たICLR2017
by
RIKEN, Medical Sciences Innovation Hub Program (MIH)
Q prop
by
Reiji Hatsugai
Similar to FINAL FANTASY Record Keeper の作り方
PDF
『アナザーエデン 時空を超える猫』スマートフォンでのRPG体験の実現のためにしてきたこと
by
gree_tech
PDF
スマホにおけるWebGL入門
by
Yohta Kanke
PDF
ruby-ffiについてざっくり解説
by
ota42y
PDF
FFRKを支えるWebアプリケーションフレームワークの技術
by
dena_study
PDF
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
by
dena_study
PPTX
革新的ブラウザゲームを支えるプラットフォーム技術
by
Toru Yamaguchi
PDF
DeNAのゲーム開発を支える技術 (クライアントサイド編)
by
denatech2016
PDF
FINAL FANTASY Record Keeper 演出データについて
by
dena_study
PDF
0621 ndk game
by
cat kaotaro
PDF
FFRK cocos2d xレイヤーの最適化
by
dena_study
PDF
Firefox mobile for android internals
by
Makoto Kato
PDF
Firefox Mobile
by
Makoto Kato
PDF
FINAL FANTASY Record Keeper アニメーション制作の濃ゆい話
by
Toshiharu Shirai
PDF
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
by
Keisuke Utsumi
PDF
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
by
Nobutaka Takushima
PDF
とあるCocos2dx入門編
by
kumin1030
『アナザーエデン 時空を超える猫』スマートフォンでのRPG体験の実現のためにしてきたこと
by
gree_tech
スマホにおけるWebGL入門
by
Yohta Kanke
ruby-ffiについてざっくり解説
by
ota42y
FFRKを支えるWebアプリケーションフレームワークの技術
by
dena_study
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
by
dena_study
革新的ブラウザゲームを支えるプラットフォーム技術
by
Toru Yamaguchi
DeNAのゲーム開発を支える技術 (クライアントサイド編)
by
denatech2016
FINAL FANTASY Record Keeper 演出データについて
by
dena_study
0621 ndk game
by
cat kaotaro
FFRK cocos2d xレイヤーの最適化
by
dena_study
Firefox mobile for android internals
by
Makoto Kato
Firefox Mobile
by
Makoto Kato
FINAL FANTASY Record Keeper アニメーション制作の濃ゆい話
by
Toshiharu Shirai
CrystalFantasiaを支えきった技術と技術だけではどうにもならなかった話
by
Keisuke Utsumi
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
by
Nobutaka Takushima
とあるCocos2dx入門編
by
kumin1030
More from dena_study
PPTX
FINAL FANTASY Record Keeperのマスターデータを支える技術
by
dena_study
PPTX
Unityで本格戦国シュミレーションRPG 開発
by
dena_study
PDF
Game BaaS Implemented in Ruby
by
dena_study
PPT
制作を支えたツール達 (パズル戦隊デナレンジャー)
by
dena_study
PDF
Effective web performance tuning for smartphone
by
dena_study
PDF
ガールアックス:リアルタイム通信処理の効率的な実装
by
dena_study
PDF
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
by
dena_study
PDF
スマホネイティブゲーム 開発効率改善
by
dena_study
FINAL FANTASY Record Keeperのマスターデータを支える技術
by
dena_study
Unityで本格戦国シュミレーションRPG 開発
by
dena_study
Game BaaS Implemented in Ruby
by
dena_study
制作を支えたツール達 (パズル戦隊デナレンジャー)
by
dena_study
Effective web performance tuning for smartphone
by
dena_study
ガールアックス:リアルタイム通信処理の効率的な実装
by
dena_study
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
by
dena_study
スマホネイティブゲーム 開発効率改善
by
dena_study
FINAL FANTASY Record Keeper の作り方
1.
FINAL FANTASY Record
Keeper の作り方 株式会社ディー・エヌ・エー Japan リージョン ゲーム事業本部 新井 英資 eisuke.arai@dena.com ©2014 SQUARE ENIX CO.,LTD / DeNA Co.,Ltd. All Rights Reserved.
2.
自己紹介 • 新井
英資 • FINAL FANTASY Record Keeper (FFRK) リードエンジニア • 2011年入社 4年目 • 以前はアルバイトでiOSアプリを作ったり • インフラやミドルウェアとチームを繋ぐ人 • 出来ないことを出来るようにします
3.
今日お話すること • FFRKというゲームを作ってみた話
• FFRKのアーキテクチャの話 • FFRKの運用周りの小話
4.
FFRK というゲームを作ってみた話
5.
FFRKについて • iOS/Android™向けにリリース(2014/09/25)
• 株式会社スクウェア・エニックスとの共同開発タイトル • 全FFシリーズのバトルをドット絵で再現 • 懐かしくて新しいFINAL FANTASY • システム開発はDeNA • おかげ様でとても好評
6.
デモ • 実際の本番アプリの動画を再生します
7.
開発当初の要件 • アプリで作りたい
– リッチなアニメーションを再生 • コンテンツ更新をコントロールしたい – アプリ更新無しでのイベントリリース • これまでの既存リソースを使いたい – Kickmotor(D.O.T.、三国志ロワイヤル) – ブラウザゲー用の内製フレームワーク
8.
ハイブリッドアプリ • WebViewレイヤとOpenGLレイヤの2層構造
– リッチな表現はOpenGLで描画 • WebViewBridge – WebView上のJSからネイティブの関数を実行 WWeebbVViieeww OOppeennGGLL
9.
ここはWebView
10.
ここはOpenGL
11.
WebView上のJS実装 • MVCフレームワークの導入
– フロントもきちんと構造化して実装 • Backbone.js + RequireJS – 利用実績を考慮 • Underscore template – JSTにコンパイルして使う
12.
バトルの実装 • FFのATBを再現するには…
– 待機、詠唱、攻撃、などの状態制御 • JSでステートマシンを実装 – ネイティブアニメ描画とバトルロジックを分離 • アニメーションはDeferredチェーン – ネイティブからの描画コールバックを待って次へ • ボス毎にステートマップを作成 – 多彩なボスの行動制御
13.
FFRKを作ったぞ! よしリリースだ!
14.
リリース1ヶ月前の出来事 • CBTの結果
–重い –熱い • 10fpsを切るもっさりバトル • スクロール出来ないアイテムリスト • 充電しながらプレイしても電池が減る
15.
orz
16.
パフォチュー祭り WebView編 •
Chromeでのプロファイリング –無駄な処理を徹底的に洗い出す –レイアウト構造からの見直し • ネイティブと同等のレベルへ
17.
これが
18.
こう
19.
これが
20.
こう
21.
パフォチュー祭り ネイティブ編 •
各OpenGL描画APIのコールスタックを精査 • 無駄な描画APIコールを減らす – 頂点数0での描画 – 無駄に広い描画領域 • 同じテクスチャを参照する描画をまとめる • Android2.X系でも30fps出るように – ドローコールは4分の1まで削減
22.
これが
23.
こう
24.
ハイブリッドで作るメリット • イベントドリブンなゲーム運用が出来る
– クライアント申請期間に左右されない – 究極的にはJSを変えれば全く別のゲームを作れる • ChromeやSafariでデバッグ出来る – ビルドをし直す必要が無くて便利
25.
とはいえ • アクション性の高い要素は難しい
– WebViewBridgeでのレイテンシ • 所詮はWebView – HTMLテンプレート読み込み途中で止まったり – ひっそりと再読み込みボタンを置く悲しみ • OSバージョンによる挙動の違い – 主にAndroid™ – 主にAndroid™
26.
FFRK のアーキテクチャの話
27.
ざっくり概要
28.
クライアント構成
29.
ネイティブアニメーション • アニメーションプレイヤー
– 内製ツールで作成したアニメデータを Cocos2d-xで再生する • 細かなアニメ制御 – データでの制御 – マスタでの制御 – JSでの制御
30.
ネイティブキャッシュ(図解) キキャャッッシシュュ機機構構 デディィレレククトトリリ
hhttttppdd ダダウウンンロローーダダ WebView 持っていないアセットのみ をサーバからとってくる
31.
ネイティブキャッシュ • WebViewからもネイティブからも透過的にアクセス
– Mongoose を使いアプリ内部でプロキシサーバを立てる – http://127.0.0.1:12345/hoge?url=file&ver=abcde – キャッシュが無ければサーバから取得(cURL) • キャッシュさせるもの – 大体何でも • cssについては少し工夫 – 保存時に画像URLを置換してキャッシュサーバを向ける • ビルドに抱き込むアセットも同様にアクセス可能
32.
FFRKの運用周りの小話
33.
高負荷対策 • リリース後わりとすぐにTVCM開始
– 急増するユーザ(現在:登録者数300万人超) – 荒ぶるWebサーバ • 迅速な負荷対応 – シャードDBを追加投入 – Webサーバを順次投入 – 参照をslaveに逃がせる所は逃がす • サービス停止すること無く乗り切りました
34.
マスタ管理 • Google
Spreadsheet で一括管理 • Google Apps Script – マスタ間での値のマッピング – csvでの吐き出し • マスタ作成フロー – 開発環境でロード – マスタのテスト – Jenkins経由でgithub:EにPull-Request
35.
ChatOps • IRC
+ Jenkins + Hubot – Jenkinsが失敗していると全員怒られる • Hubotが管理するもの – Jenkinsでのビルド状況 – 検証環境の状態 – その他余計な機能多数
36.
まとめ • FFRKはハイブリッドアプリ
– WebViewとネイティブの両レイヤで最適化 • FFRKの特徴的機構 – アニメーションプレイヤー – ネイティブキャッシュ • FFRKの運用は終わりなき改善の旅 – 高負荷対応 – マスタ管理 – ChatOps
37.
突然の謝辞 • たくさんのエンジニアにご協力頂きました
– インフラチームの皆さん – ミドルウェアチームの皆さん – パフォーマンスチューナーの皆さん – 開発チームの皆さん • ありがとうございました!!
38.
ご静聴ありがとうございました
Editor's Notes
#21
----- 会議メモ (2014/11/07 19:01) ----- CPUの処理時間も入れる
#31
----- 会議メモ (2014/11/07 19:01) ----- mongoose
Download