SlideShare a Scribd company logo
1 of 70
協業アプリ開発を推進する
テクニカルコンサルタントの挑戦
〜『歌マクロス』を成功に導く技術支援〜
ゲーム・エンターテインメント事業本部
Japanリージョンゲーム事業部開発基盤部
Wataru Takahashi
自己紹介
■ 高橋 渉(Takahashi Wataru)
– 開発基盤部所属
– 経歴
• SIer
– インフラ系の大規模システム開発
– B to Cをやりたくなる
• DeNA
– 最初は広告系サービス
– ゲーム事業の盛り上がりを受けてゲーム事業部に異動
– 複数タイトルのリードエンジニアを経験
– 数年前から協業開発のテクニカルコンサルタントに携わる
– 歌マクロスなど、複数のアプリ開発をサポート
1
歌マクロスをPVでご紹介
2
https://youtu.be/EwS0sYXZ_Bk
歌マクロスについて
• 2017年8月3日リリース
• パブリッシュはDeNA
• 開発は株式会社XEENとの協業
3
今日お話すること
1. DeNAのゲーム開発体制
– 内製開発
– 協業開発
2. 過去の協業開発体制の課題
3. テックコンサルの役割
4. まとめ
4
© ’82,’84,’92,’94,’95,’97,’02,’15 BW © ’07 BW/MFP・M
© ’09,’11 BW/MFP © DeNA
DeNAの開発体制
5
内製開発体制
• DeNA社内メンバーのみ
で企画、開発、運用
• 開発規模によってはメン
バー数が多くなってしま
うので開発ライン数は限
られている
• ブラウザゲーム時代は全
てこの体制
6
内製開発体制図
7
プランナーA
プランナーB
:
2Dデザイナー
3Dデザイナー
:
エンジニアA
エンジニアB
:
協力会社C
協力会社D
5
プロデューサー
ディレクター
メインプランナー
メインデザイナー
メインエンジニア
協力会社B
協力会社A
DeNA
QA・CS
分析・マーケ
協業開発体制
8
• コンテンツがリッチ化するこ
とで開発期間が長くなり、内
製だけでさばけなくなってき
た
• コンソールゲーム開発で実績
のある会社と協業
• 企画概要の立案、パブリッ
シュは基本的にDeNA
• 詳細仕様の作成、実装、運用
は開発会社
• 開発ライン数は多くできる
© ’82,’84,’92,’94,’95,’97,’02,’15 BW © ’07 BW/MFP・M
© ’09,’11 BW/MFP © DeNA
一般的な協業開発体制図
DeNA 開発会社
プランナーA
プランナーB
:
2Dデザイナー
3Dデザイナー
:
エンジニアA
エンジニアB
:
協力会社B
協力会社C
協力会社D
5
メインプランナー
QA・CS
分析・マーケ
クリエイティブ
ディレクター
プロデューサー プロデューサー
ディレクター
メインプランナー
メインデザイナー
メインエンジニア
協力会社A
10
過去の協業開発タイトルでは
うまくいかないことがありました..
© ’82,’84,’92,’94,’95,’97,’02,’15 BW © ’07 BW/MFP・M
© ’09,’11 BW/MFP © DeNA
過去の協業開発体制の課題
11
過去のタイトルで見つかった課題
• ゲームサーバでエラーが頻発
• アプリのパフォーマンスが悪い
• リリース後の安定した運用ができない
– 障害が多い&同じ障害を繰り返す
– 開発スピードが上がらない
– 運用を続けていける体制・実装ができていない
• ガイドライン違反でアプリ申請がリジェクトされる
など
12
どうして起きたのか
13
協業体制での両者の傾向
DeNA
• ソーシャルゲームの運用ノウ
ハウがある
• 分析やマーケティング
• ソーシャルゲーム開発に必要
な技術基盤を持っている
(Sakashoや汎用ライブラリ)
• 企画メンバーが中心で技術的
視点が足りない
開発会社
• コンソールゲーム開発で培っ
た高い技術力がある
• サーバと連携するゲーム開発
の経験が少ない
• ソーシャルゲームの開発・運
用ノウハウが少ない
14
担当ごとの人数割合のイメージ
15
プランナー
マーケ・分析・QA・CS
デザイナー
ディレクター
実装
DeNA
役務分担
DeNA 開発会社
開発会社
開発会社
DeNA
DeNA 開発会社
課題を整理
DeNA
企画寄りのメンバーが中心で技術的課題やリスクに気づきにくい
開発会社
ソーシャルゲーム開発・運用における技術的課題やリスクの
ノウハウが少ない
全体
技術的な課題やリスクに責任を持って対応する担当者が不在または
不足
16
テックコンサル
17
テックコンサルが参加
18
DeNA 開発会社
プランナーA
プランナーB
:
2Dデザイナー
3Dデザイナー
:
エンジニアA
エンジニアB
:
協力会社B
協力会社C
協力会社D
メインプランナー
QA・CS
分析・マーケ
クリエイティブ
ディレクター
プロデューサー プロデューサー
ディレクター
メインプランナー
メインデザイナー
メインエンジニア
協力会社A
テックコンサル
テックコンサルの仕事
- 歌マクロスの事例 -
19
目指すゴール
• ゲーム自体が面白い
• 操作性が良い
• 魅力的なグラフィック
• 快適に遊べるパフォーマンス
• 安定した運用
– 不具合が少ない/不具合への迅速な対応
– コンテンツや新機能の適切な追加
• 各種ガイドラインや法令の遵守
など
20
テックコンサルの仕事
1. ゲームサーバの安定化
2. クライアントのパフォーマンス対応
3. アセットダウンロードの最適化
4. 運用を見据えた設計・準備
5. 障害振り返りと再発防止
6. 企画リスクの把握
7. 要望や課題のフィードバック
8. 各種ガイドラインへの対応
9. 開発会社とのチームワーク強化
10. その他
21
1. ゲームサーバの安定化
22
ゲームサーバ
一般的なゲームサーバの構成
23
クライアント
ロ
ー
ド
バ
ラ
ン
サ
ー
API
サーバ
API
サーバ
API
サーバ
DB1
DB2
Cache
独自実装した
APIで通信
過去のタイトルで起きた問題
• 負荷問題/エラー
– リリース直後に高負荷でエラー
• 負荷試験不足
• DBやキャッシュの設計が悪く簡単にスケールできない
• プレイヤーデータ作成時に大量のインサートが走っていた
– 機能改修したら高負荷/エラー
• DBやキャッシュの設計が悪い/Index張り忘れ
• 大量のクエリーが流れていた
• テーブルロックがかかっていた
• 実装ミス
• サーバコスト
– 設計が悪く、リソース効率が悪い
– 台数が多くなり高コスト
24
一般的なサポート内容
• レビュー
– アーキテクチャ
– インフラ構成
– DB・テーブル設計
– クエリー・ソースコード
• 負荷試験の実施
– 負荷想定の見積もり
– テストシナリオレビュー
– 試験方法のレビュー
• 負荷のボトルネック調査
• 負荷に合わせたサーバの増減管理
• サーバコストの管理
• 各種モニタリングツールの導入
25
Sakashoを使う
26
Sakasho?
概要
• アプリゲーム開発に必要
とされる汎用的な機能を
提供するゲームプラット
フォーム
• 標準的なゲームサーバの
代わりになる
• ボタン一つで開発環境を
いくつでも作れる
Sakashoの機能例
• ログイン機能
• ユーザデータ管理
• ガチャ
• ランキング
• お知らせ
• お問い合わせ
• 課金処理
• マスタ配信
• アセット配信など
27
歌マクロスのサーバ構成
28
クライアント
Sakasho SDK
独自の機能
• ミッション
• イベントなど
Sakashoサーバ
• ユーザデータ管理
• ガチャ
• ランキング
• お知らせ
• お問い合わせ
• 課金処理
• マスタ配信
• アセット配信など
Sakasho APIの通信
Sakashoのサポートは必要
• 使い方を間違えないようにするサポート
• 実装のベストプラクティスの提供
• 質問を受け付ける窓口
• 運用フローのサポート
• 必要な追加機能要件をまとめてSakashoチーム
へ依頼
29
2. クライアントの
パフォーマンス対策
30
なぜテックコンサルが対応?
• 開発中に企画から何度も仕様追加・変更が入る
– 当初のパフォーマンスが出なくなる
– 仕様追加・変更により開発工数が圧迫される
– パフォーマンス対策が後回しにされがちに
• 後回しにすると
– ロースペック端末で期待通りに動かなくなる
– 手戻りが大きい
• 手遅れになる前にテックコンサルがチェック
• DeNAは日本で発売されている殆ど全ての端末を揃えている
– 外部QA会社に依頼することもできる
31
注目した主なポイント
1. リズムゲームがスムーズに動く
2. 起動・画面間のロード時間が短い
3. 端末が熱くなりすぎない
この範囲内で可能な限りクオリティを高める
32
やってきたこと
1. 対象端末の選定
2. パフォーマンス目標の設定
3. パフォーマンス試験
4. ボトルネックの調査・対応
33
対象端末の選定
• 最低動作保証端末の選定
– 端末の普及状況
– タイトルで実現したいこと
• 開発中に動作確認する端末
– ロースペック
– ミドルスペック
– ハイスペック端末
• 本格的な開発が始まる前に決める
34
目標設定
• 描画
– リズムゲーム中は60FPS安定
– 瞬間的なカクつきがない
• 各画面間の遷移のロード時間
– 各画面遷移ごとに設定
– 端末を絞って設定
– 他タイトルの実績や体感を元に決定
35
パフォーマンス試験
• 開発初期から多端末でのパフォーマンス試験を
実施
• 着目点は主にFPS、ロード時間、温度
• 実装が進み、機能が増えていくとパフォーマン
スは落ちていく
• 開発進捗に合わせて繰り返し実施
36
ボトルネックの調査・対応
• 基本的には開発会社が行う
• よりパフォーマンスをあげるためにDeNAのパ
フォーマンス専門チームへも調査依頼
• 後回しにせず、随時対応
• リリース後にも継続してチューニング
37
3. アセットダウンロードの最適化
38
ストレスを最小限に
• ダウンロードされるトータル容量
– 端末ストレージの圧迫
– 通信量・通信制限
– 最悪、即アンインストール
• 一度にダウンロードする容量
– ダウンロード時間の長時間化
– 待ちきれずに中断/離脱
• ダウンロードが発生するタイミング
– 頻繁すぎるとストレス
39
歌マクロスのアセットダウンロード
• 楽曲、動画、3Dモデルなどで容量が大きくなる
• リリース時から2年後までの容量目標を設定
• 各アセットのサイズはは全体クオリティと総容量を元に定義
• アセットダウンロードタイミングは細かく制御
– 初回起動直後(少)
– チュートリアル終了後(中)
– 都度ダウンロード
• ダウンロード中に簡単なアンケートを入れる
– 体感的な待ち時間の軽減
– ユーザの属性も収集
40
4. 運用を見据えた設計・準備
41
運用中の開発状況の例
42
クライアント更新1
クライアント更新2
データ更新1
データ更新2
データ更新3
データ準備 QA 公開
データ準備 QA 公開
QA アプリ申請 公開実装
データ準備 QA 公開
実装 QA アプリ申請 公開
時間軸
他タイトルでよく起きた問題
• 修正したはずのデータが元に戻っていた
• 修正したバグが復活した
• アセットやマスタの本番反映が漏れていた
• リリース予定日より早く反映された
• QAした内容と本番に反映された内容が異なる
など
43
早くから運用を想定して準備
• 適切なブランチ管理
– マスタ・アセット
– ソースコード
– マージしやすいデータ構造
• 体制の整備
– 開発体制
– QA体制
• フローの整理
– マージ手順
– 本番反映
44
5. 障害振り返りと再発防止
45
障害振り返りと再発防止
• 障害は全て記録に残す
• 開発会社との障害振り返り会
– 定例として開催
– 両社で発生原因の認識を合わせる
– 現実的な再発防止策を決める
• 可能な限りシステム化して防止
– 「次から十分に注意します」はNG
– 難しい場合はチェックリストや体制でカバー
• 開発会社と一緒に現実的な方法を考える
– 現実的でない対策は形骸化/逆効果
46
障害事例の蓄積と共有
協業案件はタイトルごとに開発会社が異なる
• タイトル間のつながりがない
• ノウハウや事例が共有されづらい
47
タイトルA タイトルB タイトルC
事例 事例
テックコンサルが事例を集約して共有
48
• テックコンサルは複数のタイト
ルを掛け持ちしている
• タイトル横断の課題やノウハウ
を把握できる
• 社内にいるので内製の情報も把
握できる
• 蓄積した課題やノウハウを各タ
イトルへ共有
タイトルA タイトルB タイトルC
テックコンサル
事例やノウハウ
6. 要望や課題のフィードバック
49
DeNAが持つ共通ライブラリなど
• 多くは内製タイトル
の要件・要望に基づ
き作成
• 協業案件の開発会社
にも提供
• 協業案件の要望機
能・仕様も追加して
いく必要がある
50
ライブラリ
など
概要
Sakasho 汎用ゲームプラットフォーム
IRIS リアルタイム通信プラット
フォーム
DeAL サウンド再生エンジン
SecureLib セキュリティパッケージ
: など多数
マスタデータB
マスタデータC
マスタデータA
クライアント
内製で起動が長時間化した事例
51
Sakashoサーバ上の
マスタデータ(JSON)
マスタデータB
マスタデータC
アセットデータ
マスタデータAマスタデータA
マスタデータB
マスタデータC
1. アプリ起動
マスタデータB
マスタデータC
マスタデータA
クライアント
内製で起動が長時間化した事例
52
Sakashoサーバ上の
マスタデータ(JSON)
マスタデータB
マスタデータC
アセットデータ
マスタデータAマスタデータA
マスタデータB
マスタデータC
1. アプリ起動
2. マスタデータロード
3. JSONパース
マスタデータA
マスタデータB
マスタデータC
マスタデータB
マスタデータC
マスタデータA
クライアント
内製で起動が長時間化した事例
53
Sakashoサーバ上の
マスタデータ(JSON)
マスタデータB
マスタデータC
アセットデータ
マスタデータAマスタデータA
マスタデータB
マスタデータC
マスタが肥大化していると
ロードやパースに時間がかかり
結果、起動が長時間化する
1. アプリ起動
2. マスタデータロード
3. JSONパース
4. アプリ終了
・クライアントのマスタは消失
1. 一部マスタをアセット化し暗号化
2. アセットとしてクライアントにダウ
ンロード
3. 残ったマスタは従来通り起動時
にロード
暗号化した
マスタデータB/C
マスタデータB
マスタデータC
マスタデータA
クライアント
その事例の解決方法
54
Sakashoサーバ上の
マスタデータ(JSON)
マスタデータB
マスタデータC
アセットデータ
マスタデータAマスタデータA
暗号化した
マスタデータB/C
起動の高速化を実現
暗号化した
マスタデータB/C
マスタデータA
マスタをアセット化し
暗号化するツールクライアント
歌マクロスではライブラリを開発
Sakashoサーバ上の
マスタデータ(JSON)
55
アセットデータ
1. マスタをアセット化し暗号化する
ツール開発
2. クライアントでデコードするライ
ブラリ開発
デコードライブラリ
マスタデータB
マスタデータA
マスタをアセット化し
暗号化するツールクライアント
歌マクロスではライブラリを開発
Sakashoサーバ上の
マスタデータ(JSON)
56
アセットデータ
1. マスタをアセット化し暗号化する
ツール開発
2. クライアントでデコードするライ
ブラリ開発
3. ツールを使ってマスタをアセット
化・暗号化
4. アセット化したマスタをクライア
ントにダウンロード
デコードライブラリ
マスタデータB
マスタデータA
アセット化し暗号化
したマスタA/B
• ライブラリ/ツール化することで
確実な実装ができる
• 他のサービスでも利用可能
アセット化し暗号化
したマスタA/B
7. 企画リスクの把握
57
企画リスクの把握
• リスクに気づかずに企画が進んでしまう事がある
• 難易度などを含めた取捨選択ができない事がある
• 進めようとしている企画や実現方法に対する妥当性
の判断が必要
• テックコンサルが企画を把握して課題を洗い出し、
必要に応じて代替案の提案や方向修正
58
59
8. 各種ガイドラインへの対応
各種ガイドライン
• いろいろなガイドライン
– Apple/Googleのガイドライン
– CESAガイドライン
– DeNAのガイドライン
• 必要なガイドラインを取りまとめて開発会社に提供
– やってはいけないことを規制
– やらなければいけないことを明確化
– 知らない故の不安を無くす
– 迷わず進むことができる
60
ガイドライン違反?
61※実際のアプリ画面とは異なります
9. 開発会社とのチームワーク強化
62
開発会社とのチームワーク強化
• 日々のコミュニケーション
– 開発会社とは物理的な距離が離れている
– 普段は専用のSlackチャンネルでやり取り
• エンジニア定例
– 開発会社のエンジニアとテックコンサルの会議
– ディレクターやプランナーも参加
– 企画会議とは別枠で定期開催
– 課題や質問を持ち寄って議論
• 開発会社も含めて一つのチーム
63
10. その他業務
64
10. その他業務
• 各種ライセンス管理
• OSSの利用可否判断
• チート・セキュリティ
対策サポート
• 脆弱性情報の共有
• 各種規約変更のキャッ
チアップと共有
• 使用機材の選定
• 開発会社の選定
• ノウハウ共有資料作成
• 各種ライブラリの実装
サポート
• アプリサイズチェック
• テスト方法のサポート
• 障害対応サポート
• リリースサポート
など
65
テックコンサル
それぞれの強みが集結
66
開発会社の
技術力
DeNAの分析
マーケティング力
両社の
企画・運用力
マクロスの
IPの力
歌マクロスは高い評価を獲得
• Google Playレビュー評価:4.6(1/31時点累積)
• App Storeレビュー評価:4.5(1/31時点累積)
• Google Play 「ベスト オブ 2017」 20タイト
ルにノミネート
67
© ’82,’84,’92,’94,’95,’97,’02,’15 BW © ’07 BW/MFP・M
© ’09,’11 BW/MFP © DeNA
まとめ
• 協業アプリゲーム開発では様々な技術的課題、問題が起こる
• テックコンサルが技術に関連する全般に責任を持ち、マネジ
メントする
• 課題やノウハウを蓄積して他サービスに共有することも重要
68
これからも、さまざまな技術的課題への取り組みやフローの
整備を進めていくことで、開発会社・DeNA双方の力が最大
限に発揮できるようサポートし、より魅力的なゲームをお客
様に提供できるよう、全力で挑戦を続けていきます。
ご清聴ありがとうございました
69

More Related Content

What's hot

Management 3.0 デレゲーションと エンパワーメント
Management 3.0 デレゲーションと エンパワーメントManagement 3.0 デレゲーションと エンパワーメント
Management 3.0 デレゲーションと エンパワーメントStefan Nüsperling
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質 SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質 Hironori Washizaki
 
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム SakashoについてDeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム SakashoについてMakoto Haruyama
 
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方Daisaku Mochizuki
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容sairoutine
 
OpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみたOpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみたHide Koba
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていることonozaty
 
ユーザーストーリーの分割
ユーザーストーリーの分割ユーザーストーリーの分割
ユーザーストーリーの分割Arata Fujimura
 
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンメトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンHiroyuki Ito
 
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdf
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdfCogbot_AzureOpenAIServices_AzureAI_20230302.pdf
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdfAyako Omori
 
診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)shingo inafuku
 
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事Manabu Koga
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService PrincipalToru Makabe
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化DeNA
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]DeNA
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例Naoya Kishimoto
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
【Unite Tokyo 2019】AWS for Unity Developers
【Unite Tokyo 2019】AWS for Unity Developers【Unite Tokyo 2019】AWS for Unity Developers
【Unite Tokyo 2019】AWS for Unity DevelopersUnityTechnologiesJapan002
 

What's hot (20)

Management 3.0 デレゲーションと エンパワーメント
Management 3.0 デレゲーションと エンパワーメントManagement 3.0 デレゲーションと エンパワーメント
Management 3.0 デレゲーションと エンパワーメント
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころPhotonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
 
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質 SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
 
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム SakashoについてDeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
 
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
 
DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容DeNAの最新のマスタデータ管理システム Oyakata の全容
DeNAの最新のマスタデータ管理システム Oyakata の全容
 
OpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみたOpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみた
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 
ユーザーストーリーの分割
ユーザーストーリーの分割ユーザーストーリーの分割
ユーザーストーリーの分割
 
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンメトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
 
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdf
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdfCogbot_AzureOpenAIServices_AzureAI_20230302.pdf
Cogbot_AzureOpenAIServices_AzureAI_20230302.pdf
 
診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)
 
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
【Unite Tokyo 2019】AWS for Unity Developers
【Unite Tokyo 2019】AWS for Unity Developers【Unite Tokyo 2019】AWS for Unity Developers
【Unite Tokyo 2019】AWS for Unity Developers
 

Similar to 協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜

楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...Rakuten Group, Inc.
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1MinGeun Park
 
クリエイター魂を刺激する!シンラが提案する「ゲームの超進化」ロードマップ
クリエイター魂を刺激する!シンラが提案する「ゲームの超進化」ロードマップクリエイター魂を刺激する!シンラが提案する「ゲームの超進化」ロードマップ
クリエイター魂を刺激する!シンラが提案する「ゲームの超進化」ロードマップShinra_Technologies
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発Developers Summit
 
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しようVisual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しようShinya Nakajima
 
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクルあるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクルKentaro Iizuka
 
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテストJenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテストHiroyuki Tanaka
 
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来Yoshihito Kuranuki
 
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用Preferred Networks
 
グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編Mitsuhiro Tanda
 
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)Takeshi HASEGAWA
 
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのかschoowebcampus
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Toshiyuki Hirata
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Shinya Nakajima
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02Hiro Yoshioka
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2Yushi_Takagi
 
IkaLog Presentation for BMD users
IkaLog Presentation for BMD usersIkaLog Presentation for BMD users
IkaLog Presentation for BMD usersTakeshi HASEGAWA
 

Similar to 協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜 (20)

楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
クリエイター魂を刺激する!シンラが提案する「ゲームの超進化」ロードマップ
クリエイター魂を刺激する!シンラが提案する「ゲームの超進化」ロードマップクリエイター魂を刺激する!シンラが提案する「ゲームの超進化」ロードマップ
クリエイター魂を刺激する!シンラが提案する「ゲームの超進化」ロードマップ
 
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏  UNREAL FEST EXTREME 2021 SUMMERバレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏  UNREAL FEST EXTREME 2021 SUMMER
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
 
Msセミナー20170830 slideshare
Msセミナー20170830 slideshareMsセミナー20170830 slideshare
Msセミナー20170830 slideshare
 
デスクトップ向けUIコンポーネントの対応状況と今後の予定
デスクトップ向けUIコンポーネントの対応状況と今後の予定デスクトップ向けUIコンポーネントの対応状況と今後の予定
デスクトップ向けUIコンポーネントの対応状況と今後の予定
 
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しようVisual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
 
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクルあるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクル
 
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテストJenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
 
「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来「納品のない受託開発」にみるソフトウェア受託開発の未来
「納品のない受託開発」にみるソフトウェア受託開発の未来
 
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
 
グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編
 
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
 
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか
【schoo WEB-campus】どうすれば小さなチームでも大きな成果を出せるのか
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
 
Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)Visual Studio App Centerで始めるCI/CD(Android)
Visual Studio App Centerで始めるCI/CD(Android)
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2
 
IkaLog Presentation for BMD users
IkaLog Presentation for BMD usersIkaLog Presentation for BMD users
IkaLog Presentation for BMD users
 

More from DeNA

DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DeNA
 
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用DeNA
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...DeNA
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】DeNA
 
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】DeNA
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeNA
 
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】DeNA
 
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA
 
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】DeNA
 
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】DeNA
 
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】DeNA
 
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA
 
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]DeNA
 
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれオートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれDeNA
 
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]DeNA
 
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]DeNA
 
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]DeNA
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてDeNA
 
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]DeNA
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA
 

More from DeNA (20)

DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
 
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
 
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
 
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
 
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
 
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
 
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
 
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
 
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介
 
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
 
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれオートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
 
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
 
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
 
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについて
 
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
 

Recently uploaded

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (12)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜

Editor's Notes

  1. はい、こんにちは。 「協業アプリ開発を推進するテクニカルコンサルタントの挑戦」というタイトルで発表さしていただきます。 それでは、簡単に自己紹介をさしてください
  2. 開発基盤部所属のたかはし、わたる、と言います。 今ではゲーム開発に関わってますが 前職ではSierとしてインフラ系のシステム開発なんかをやっていました。 そのうちB to Cに興味が出るようになりましてDeNAに入社しました。 最初広告系のサービスをやっていたんですが、ゲーム事業のほうが盛り上がってきたってこともありまして、そこで初めてゲーム開発をやるようになりました。 当時全くゲームを作ったことがない状況で、そして最初に担当したのが可愛いペット系のタイトルだったので、なかなかのギャップに苦しんだ行な記憶があります。 そのゲーム事業部で5本ほどのタイトルのリードエンジニアを経験しまして、 数年前から現在のテクニカルコンサルタント、略してテックコンサルなんて呼ばれてますが、協業開発における技術サポートをやっています。 最近では歌マクロスなど、複数のアプリ開発に携わっています。 今日は、歌マクロスに関連したお話をしますので 歌マクロスについても簡単に紹介したいと思います。
  3. というゲームになっています。 こちらは去年の8月にリリースしまして、大変好評をいただいています。 パブリッシュはDeNA、開発については「株式会社XEEN」さんとの協業となっています。 ところで、この中ですでに歌マクロスをプレイされた方っていらっしゃるでしょうか?
  4. さて、今日お話しすることですが まず、DeNAの、内製や、協業といった、ゲーム開発体制について、簡単に紹介をしていきます。 そして、過去の協業体制で、さまざまな課題が見つかりましたので、そういった課題について説明をしていき それらの課題を受けて、いま、わたしが担当している、テックコンサルというものが、どのような役割を果たしているのか、 ということを、歌マクロスの事例なども交えながら紹介していきたいと思っています。
  5. それでは、「DeNA」の開発体制について
  6. まずは内製開発体制ですが 怪盗ロワイヤルや、せんたま、ファイナルファンタジーレコードキーパーなどが 内製でのタイトルとなっています。 基本的には企画、実装、運用まで、全てをDeNAのメンバーのみで行う、という体制になっています。 アプリ開発ではメンバー数がかなり多くなってしまうということもあって、開発ラインはかなり限られてしまっていますが、 ブラウザゲーム時代は規模が小さかったということもあって全てこの内製体制で開発を行ってきました。
  7. 体制図としてはだいたいこのような感じになっています お伝えしたとおりDeNAのメンバーが中心となって開発・運用を行う、という体制になっています
  8. 次に業業体制ですが、 先ほど紹介した歌マクロスや、逆転オセロニアなどが協業でのタイトルになります。 アプリゲームはどんどんコンテンツがリッチ化しているということもあり 内製の開発ラインだけでは、どうしてもさばけないという、状況になってきました。 そこで、コンソールゲームなどで実績のある会社さんと協力して、一緒にアプリゲームを作っていきましょう、ということになりまして、 それがここで言う協業開発体制というものになります。 外部の会社の協力が得られるため、内製に比べると開発ライン数は多くできる、という特徴があります。
  9. 一般的な協業開発体制はこのようになっています。 DeNAが事業の主体となり、まずプロデューサーが全体的な方向性の決定をして、 プロデューサー配下、ディレクターやプランナーが、企画概要の策定や、最終的な意思決定などを担当しています。 そして、開発会社のディレクターさんや、プランナーさんと、協力しながら、詳細な仕様を詰めていき 実装については、「全て」開発会社ほうで行う、というような体制になっています。 さて、このような体制で、今までに、たくさんのアプリを開発してきたわけですが
  10. 過去の協業タイトルではなかなかうまく行かず、さまさまな課題が見つかりました。
  11. ここからは、過去の協業体制で見つかった、さまざまな課題について紹介をしていきます。
  12. まず、ゲームサーバでの、「問題」というものが「非常に」多く起きていました。 リリース当日にサーバが「負荷に耐えられずに」エラーになってしまったり、 新機能を実装した際などに、設計や、実装が悪く、エラーが起きたり、サーバが重くなってしまう、といったものになります。 それから、アプリのパフォーマンスについて 当然、最新の端末ではしっかり動いているケースが多いですが 少し、古い端末になると、動作が重くなってしまったり、 場合によっては、「クラッシュしてしまう」ということもありました。 それから、チートされてしまったりだとか 障害が「非常に」多く、さらに、同じ障害を「何度も繰り返してしまう」ということもありました。 また、距離の離れた協力会社さんと一つのものを作るということもあって コミュニケーションコストの問題などで、どうしても開発のスピード感が上がらなかったり、 ガイドライン違反などで、アプリ申請がリジェクトされてしまうということも起きたりといった、 様々な課題がみつかりました。
  13. さて、なぜ、このようなことが起きたのか?ということについて考えてみたいと思います。
  14. まず、両者の傾向というものをまとめてみました。 まず「DeNA」についてですが ソーシャルゲームの運用ノウハウや、分析やマーケティング、といったものに、強みがあると考えています。 また、後ほど説明するSakashoや、汎用ライブラリといった、技術基盤を持っていることも強みとして考えられます。 一方で、企画メンバーが中心となってなっていて、技術的な視点が足りていない、ということが弱みとして挙げられます。 対する開発会社ですが やはりコンソールゲームで「培った」非常に高い技術力があるというのが強みとしてあげられます。 一方で、これは会社さんによってまちまちですが サーバと連携するゲームの、開発経験が少なかったりだとか ソーシャルゲームの、開発や運用のノウハウが少ない、という傾向がありました
  15. 次に、担当ごとの人数割合というものをまとめてみました。 内製体制では企画から実装・運用までを全てDeNAで行いますが、 協業体制では、ディレクターが両社に一人づつ、 プランナーやデザイナーは両社で協力しながら進めます。 一方、実装については全て開発会社が行うという体制になっています。 この図からも、DeNA側は企画寄りのメンバーが中心である、ということが分かるかと思います。
  16. これらを踏まえて課題を整理すると DeNAは、企画よりのメンバーが中心で技術的視点が足りない 開発会社は、ソーシャルゲームで起こる、様々な「課題」や「リスク」に対する知見が少ない 全体としては、そういった課題やリスクを把握して、マネジメントする担当者がいない、または足りていなかったということが考えられます。
  17. そこで、重要になってくるのが「テックコンサル」という役割になります
  18. こちらは先ほどまでお話していた体制ですが このように、両者の間に入り、ディレクターやプランナー、そして何と言っても 開発会社のエンジニアさんと協力しながら、様々な技術的な課題やリスクに取り組んでいきます。 これが「テックコンサル」という役割になります。
  19. それでは ここからは、歌マクロスの事例を交えながら テックコンサルの仕事について紹介していきたいと思います
  20. まず、どのような状態を目指すのか?というのをまとめてみました。 極論すると、このゴールさえ満たせていれば、どのような方法であっても問題ないですし、場合によってはあまりサポートは必要ないケースもあるかもしれません。 ちなみにですが、歌マクロスの開発を担当してくださっているXEENさんは、非常に優秀な方ばかりで、テックコンサルとしては、たいへん助かっています。 さて、目指すゴールについてですが。まず、これは当たり前ですがw、ゲーム自体が面白い、ということは当然重要になってきます。 それから操作性が良いとか、魅力的なグラフィック。必ずしもリッチなグラフィックが求められるということではないですが、お客様に選んでいただける重要な要素ではあると思います。 また、いくら魅力的なグラフィックであっても、動作が重かったり、カクカクしているようでは台無しになっていまいますので、パフォーマンスについても重要になってきます。 それから安定した運用として、不具合が少ないこと。本当はゼロにしたいところですが もしも不具合があった場合にはいかに早く対応できるかも重要になってきます。 また、ネットワーク配信型のゲームになりますので、イベントなどのコンテンツ追加や、お客様の要望に応じた新しい機能の追加、といったものをスピード感を持ってやっていくということも重要になってきます。 また、当然ですが各種法令やガイドラインといったものに従っている、ということも重要になります。 他にもいろいろな要素があると思いますが 最低限これらは守る必要があると考えます。
  21. さて、その上でテックコンサルの仕事ですが 主なこととして、このようなことをやってきました これらについて順を追ってを説明をていきたいとおもいます
  22. それでは まずはゲームサーバの安定化について
  23. 一般的なゲームサーバはこのようになっているかと思います まずロードバランサーがあって その先にアプリケーションサーバが複数並んでいて、バックエンドとして 複数系統のDBやキャッシュサーバが並んでいます。 そして、アプリケーションサーバはにタイトルの要件ごとのさまざまな機能が実装されていてAPIを通してクライアントと通信している、という構成になっています。
  24. こういったゲームサーバで過去に起きた問題をまとめてみました。 先ほどお伝えしたことと同様ですが、やはり設計や実装ミスによる、エラーや、負荷の問題が「非常に」多く起きていました。 また、負荷の問題とも関連しますが リソース効率が悪く、サーバのコストが高くなり、収益を圧迫してしまうということもありました。
  25. そういった事例があったということもあって、ゲームサーバに関してはこのようなサポートをよく行っています。 まず、アーキテクチャやインフラ構成、テーブル設計などレビュー。 それから、場合によってはクエリーやソースコードのレビューなども行います。 また、リリース前には当然ゲームサーバの負荷試験を実施するのですが、実際の状況を再現した試験でないと意味が無いですので、 どれくらいのリクエスト数になるのかの見積もりや、テストシナリオ、試験方法のレビューなどを行ってしっかり負荷試験を実施します。 さて、いまお話したのは一般的なタイトルにおける話なのですが 実は、歌マクロスにおいては、これらの問題が起きにくい、という選択をしました。
  26. Sakashoを使う、という選択になります
  27. Sakashoについては去年のTechConでも紹介されていますが ご存じない方もいらっしゃるかと思うので、簡単に紹介したいと思います。 詳しくは「Sakasho」というキーワードでgoogle検索すると最初に出てきますのでよろしければ検索していただければと思います。 簡単に言いますと、アプリゲーム開発に必要とされるゲームサーバ機能を提供するプラットフォームとなっています。 ここに挙げているように、一般的なゲーム開発に必要な機能が一通り揃っていいまして、多少大げさに言ってしまうと、先ほど紹介したようなゲームサーバの役割と置き換え可能なものになっています。 また、Sakashoで実装されている機能はDeNAでしっかり設計されてテストされていますし、 サーバについては負荷に合わせた増減やメンテナンスも全てDeNAがやっていますので、非常に安定しています。
  28. そういったわけで、歌マクロスはこのような構成になっています。 Sakashoサーバというものを使ってはいますがサービス側はSakashoゲームサーバの実装をが意識する基本的に必要はなく、 極論、提供されているAPIの仕様さえ把握していれば問題ありません。 これによって、ゲームサーバの開発から開放され、クライアントの開発に専念できるようになっています。 このように、Sakashoを導入したことで、歌マクロスでは、先ほど紹介したような ゲームサーバに起因するような問題はほとんど起きていない、という結果になっています。
  29. このように便利なSakashoですがSakashoのサポートは必要になってきます。 サンプルコードやドキュメントはあるのですが、必ずしも全ての状況を網羅しているわけではないので、使い方を間違えないようにするサポートは必要になります。 また、Sakasho側で発生した問題や疑問などの相談窓口や、Sakashoを使った運用フローのサポートなども行っています。 また、Sakashoは汎用的な機能を提供しているサービスとなっていますので、どうしても現状の機能ではサービス要件を満たせない、というようなケースがあります。 そうした場合には、サービス側の要件を取りまとめて、Sakashoチームの方に実装依頼するようにしています。
  30. 次にクライアントのパフォーマンス対策について説明していきます
  31. まず、なぜテックコンサルが関わるのかということについて。 パブリッシャーとしての当然の責任というのもあるのですが、それ以外の理由として 長いあいだ開発をしていると、より派手な演出を入れたいといった、企画要件が後から追加されることがあります。 そうすると当初想定していたパフォーマンスが出ないということが起こるわけですが、 工数が逼迫していたり、リリーススケジュールに追われていると どうしても低スペック端末を含めたパフォーマンスに十分な注意が向けられないことがあります。 ただ、そういった問題を後回しにして実装や量産をすすめてしまうと、大きな手戻りが発生してしまうケースがありますので、テックコンサルがしっかりチェックするようにしています
  32. 歌マクロスではこで上げた「3点」に着目をしました そして、これを満たす範囲内で可能な限りクオリティを高める、というのがここでいうパフォーマンス対策になります。
  33. 具体的にはこのようなことをやっています
  34. まず、最低動作保証端末を決めます。 これは、端末の普及状況や、タイトルで実現したい体感などを含めて総合的に判断して決定します。 iOSはについては比較的簡単なのですが、Androidは様々なCPUがあって、最近発売された端末でもパフォーマンスの悪いものがありますので選定にはなかなか苦労しました。 次に、開発中に日常的に動作確認する端末をいくつか選定しました。 これを決めておくことで、普段の開発中にもパフォーマンスについて常に意識できる、とう形にしています。
  35. 次にパフォーマンスの目標設定について。 描画については、リズムゲームの宿命ということもあって フレームレートは60FPSで安定することを目標に設定しています。 正直なところAndroidの低スペック端末や、発熱の大きい端末では難しいケースが有るのですが そういったケースでも可能な限り守れるようにしてきました。 また、起動などのロード時間が長いと、ゲーム体験を大きく損なってしまいますので、起動や各画面ごとの遷移時間について目標を設定しています。
  36. そしてパフォーマンス試験ですが 開発が始まってかなり早い段階から30端末以上を使ったような定期的なパフォーマンス試験を行ってきました。 着目点としては、フレームレート、各画面間のロード時間に加えて、端末の温度になります。 高い温度が一定時間続くと低温やけどの危険が高まりますし、熱によるパフォーマンスの低下も起きやすくなります。 先ほども説明したことにも近いですが、実装が進んで、機能が増えていくに従って、パフォーマンスは悪くなっていく傾向にありますので、開発進捗に合わせて何度もテストを行っています。
  37. 次にボトルネックの調査と対応について これは、基本的には開発会社さんに調査や対応していただくのですが、より高いパフォーマンスを出す余地が無いかなどの調査をDeNAで平行して行っています。 繰り返しになってしまいますが、こういったボトルネックの問題を放置して実装や量産を進めてしまうと、非常に大きな手戻りになってしまうことがあるため、可能な限り早く対応するようにしています。 なお、歌マクロスについては、まだ改善の余地が残っていると思っていますので現在も継続的にチューニングを実施しています。
  38. 次にアセットダウンロードの最適化について
  39. これの、主な目的としては、アセットダウンロードにおけるお客様のストレスを、最小限にすることになります。 最近のアプリゲームはどんどんコンテンツリッチになってきていることもありアセットの容量も大きくなる傾向にあります。 一方、通信速度や、ストレージ容量はここ数年でそれほどは進歩していないですし、コンテンツがリッチだからといってお客様が、ストレスを許容してくれる、というわけでないですので、可能な限りストレスを感じないような工夫や、設計が大事になってくると考えています。 歌マクロスではここで上げたポイントに着目して対応を行ってきました。
  40. アセットの種類として、楽曲、動画、3Dモデル、モーションデータなどがあり ある程度容量が大きくなることは避けられないと考えていました。 ただ、だからといって無限に大きくしてしまってはお客様のストレスになってしまいますので リリース時点、それから二年後までのアセット容量の目標というものを立てました。 実際の各アセットのサイズは、その目標と、全体のクオリティと相談しながら決定しています。 また、アセットのダウンロードタイミングはこのように細かく制御しています。 また、小さなことですが、大きなアセットダウンロード中にはアンケート機能を入れることで、体感的な待ち時間を軽減する、というようなこともやっています。
  41. つぎに、運用を見据えた設計について
  42. アプリをリリースして運用を始めると、このように複数の開発が同時に進行する、っていうことが起こります。 この例で言うと まず一度目のクライアントの更新開発が始まり、QAをして、アプリ申請、それからストア公開へと進むわけですが この一回目の開発が終わらないうちに次のクライアント更新の開発が始まっています。 更に、それらと並行して、ガチャやイベント更新などのデータ更新準備が複数進行しています。 運営方針によっても様々だとは思いますが、このような状況は普通に起こり得ることだと思います。
  43. ただ、過去のタイトルにおいては、運用中にこのような開発体制になるということが明確に想定できていなかった、 などの理由で、運用が始まると、バタバタしてしまって、いろいろ問題が起きてしまうケースがありました。 これは、リリースしたら基本的に開発が終了となるコンソールゲーム開発と、リリース後にも運営を続けていく、ソーシャルゲームの「違い」に関係した問題でもあると考えています。 その結果、ここに上げているような問題が起きてしまっていました。 多くのケースでは、バージョン管理やマージの手順、リリース手順に不備があったことが原因として挙げられます。
  44. そのため、運用中の状況を想定して早めに準備しておくことが重要になります。 まず、当たり前ではあるのですが、マスタや、アセット、ソースコードなどのしっかりしたバージョン管理、ブランチ管理が必要となります。 また、複数の開発が同時進行していると、ブランチ間のマージが頻繁に発生しますので、マージをしやすいデータ構造となっていることも重要です。 また、開発体制やQA体制の整備と言ったものも必要になってきますが、これは一日二日で準備できるものではないですので、早めに運用中の状況を想定して準備をしておくことが重要になってきます。 また、当然ながらマージや本番反映のフローの整備も重要になってきます。 歌マクロスではリリース前にこれらが整うように、しっかり準備をしてきました。
  45. 次に障害振り返りと再発防止について
  46. これも当たりなことですが 起きた障害については全て記録に残して、開発会社さんやQA、運営チームと一緒に障害の振り返りを行います。 主な目的としては 起きてしまった障害について、何が起きて、何が原因であったのか、ということについて、 開発会社さんも含めたチーム全体で認識を合わせること。 そして、再発防止策を決めて、同じ障害を繰り返さないようにする、ということになります。 再発防止策については、人力のオペレーションによる問題を減らせるよう、可能な限りシステム化するようにしています。
  47. また、障害振り返りとは別に 障害事例の蓄積や共有ということもやっています。 内製開発であれば、他のチームが近くにいますし、障害事例の報告が流れる仕組みがあるので、他のタイトルの障害事例を知ることができるのですが 協業案件では、基本的にタイトルごとに会社が異なりますので、タイトル間で事例の共有が難しい形になっています。 そのため、タイトルAで起きた問題が、タイトルBやタイトルCでも起きてしまう可能性があります。
  48. そこで、テックコンサルが情報を集約して各タイトルに共有するようにしています。 テックコンサルは複数のタイトルを掛け持ちしているので、横断的な事例を把握することが出来ますし 内製タイトルの情報も把握することが出来ます。 そうして蓄積した情報や課題といったものを各タイトルに共有することで、タイトル間で同じ問題を繰り返さないようにする、ということをやっています。
  49. 次に要望や課題のフィードバックについて
  50. 先ほど紹介したSakashoを始め、さまざまなライブラリなどを開発して内製や協業で利用しているわけですが これらのライブラリは、当然それを必要とするタイトルの、要件があって作られています。 そこには、協業アプリの要件も取り込んでいく必要があります。 そこで、テックコンサルが協業アプリの要件を収集して共通ライブラリに反映されるようにしています。
  51. 一例ですが Sakashoを使っている、ある内製タイトルで、運用を続けていくうちに、徐々に起動が遅くなっていくという事例がありました。 これはSakashoのマスタの仕組みにも関連した話でもあるので、仕組みについても簡単に説明しますと まず、(1)Sakashoを使ったアプリを起動すると(2)マスタデータをSakashoサーバからロードします。 (3)マスタデータはJSON形式で保存されていますので、JSONのパース処理というものが必要になります。 (4)そして、クライアントにロードされたマスタデータはメモリ上で管理されているため、アプリが終了すると消える、という形になっています。 (5)このような仕組みとなっているため、マスタデータが肥大化していくとマスタデータのロードや、JSONのパースに時間がかかり、結果として起動時間が長くなってしまうという問題が起きていました。
  52. 一例ですが Sakashoを使っている、ある内製タイトルで、運用を続けていくうちに、徐々に起動が遅くなっていくという事例がありました。 これはSakashoのマスタの仕組みにも関連した話でもあるので、仕組みについても簡単に説明しますと まず、(1)Sakashoを使ったアプリを起動すると(2)マスタデータをSakashoサーバからロードします。 (3)マスタデータはJSON形式で保存されていますので、JSONのパース処理というものが必要になります。 (4)そして、クライアントにロードされたマスタデータはメモリ上で管理されているため、アプリが終了すると消える、という形になっています。 (5)このような仕組みとなっているため、マスタデータが肥大化していくとマスタデータのロードや、JSONのパースに時間がかかり、結果として起動時間が長くなってしまうという問題が起きていました。
  53. 一例ですが Sakashoを使っている、ある内製タイトルで、運用を続けていくうちに、徐々に起動が遅くなっていくという事例がありました。 これはSakashoのマスタの仕組みにも関連した話でもあるので、仕組みについても簡単に説明しますと まず、(1)Sakashoを使ったアプリを起動すると(2)マスタデータをSakashoサーバからロードします。 (3)マスタデータはJSON形式で保存されていますので、JSONのパース処理というものが必要になります。 (4)そして、クライアントにロードされたマスタデータはメモリ上で管理されているため、アプリが終了すると消える、という形になっています。 (5)このような仕組みとなっているため、マスタデータが肥大化していくとマスタデータのロードや、JSONのパースに時間がかかり、結果として起動時間が長くなってしまうという問題が起きていました。
  54. そのタイトルでの解決法ですが (1)一部マスタについて、暗号化してアセット化する方針としました。 (2)そして、アセット化したマスタは通常のアセットと同じようにクライアントにダウンロードする という方針を取ることになりました (3)残ったマスタは従来通りクライアントにロード これによって起動時のマスタデータのロードや、JSONのパースが軽減され、 起動時間を短縮することができた、という事例になります。
  55. 歌マクロスも長く運用していくと同じような問題が起きる心配があったので 同様の仕組みを導入したいと思ったのですが 暗号化などの設計や実装に問題があると大きなリスクとなりますので 安全に要件を満たせるようにするために、共通ライブラリチームと相談して 外部提供可能なライブラリ、ツールとして開発をすることにしました。 (1)まず、JSON形式のマスタデータをアセット化して暗号化するツールを開発しました。 (2)これを使って、それまで使っていたマスタデータをアセット化して暗号化します。 (3)そのデータは通常のアセットと同じようにクライアントにダウンロードされます。 (4)そして、アセット化されたマスタデーをデコードしてマスタデータして利用できるようにするライブラリと言った物を一緒に開発しました。 (5)このようにツール・ライブラリを用意することで安全に実装ができますし、 他のタイトルでも利用できるようにしています。 一例としてあげましたが、このような取り組みも、行っています。
  56. 歌マクロスも長く運用していくと同じような問題が起きる心配があったので 同様の仕組みを導入したいと思ったのですが 暗号化などの設計や実装に問題があると大きなリスクとなりますので 安全に要件を満たせるようにするために、共通ライブラリチームと相談して 外部提供可能なライブラリ、ツールとして開発をすることにしました。 (1)まず、JSON形式のマスタデータをアセット化して暗号化するツールを開発しました。 (2)これを使って、それまで使っていたマスタデータをアセット化して暗号化します。 (3)そのデータは通常のアセットと同じようにクライアントにダウンロードされます。 (4)そして、アセット化されたマスタデーをデコードしてマスタデータして利用できるようにするライブラリと言った物を一緒に開発しました。 (5)このようにツール・ライブラリを用意することで安全に実装ができますし、 他のタイトルでも利用できるようにしています。 一例としてあげましたが、このような取り組みも、行っています。
  57. 次に企画のリスクの把握ついて
  58. 内製でも起こり得ることですが、 企画メンバーが中心になって企画を進めていくと、 技術的なリスクに気づかずに、企画が進んでしまう、ということが頻繁に起きたりします。 また、企画要件と、それを実現するための難易度の費用対効果が、十分に議論されないようなケースもあります。 内製開発であれば企画とエンジニアどうしで好きなように戦えば良いのですが、協業体制ではなかなかそうも行かないケースもがります。 そこで、協業案件では テックコンサルが企画内容について把握して、実現方法の妥当性判断や リスクの洗い出しを行い、必要に応じて代替案の提案を行うようにしています。
  59. 次に各種ガイドラインへの対応について
  60. アプリゲームを作っていく上では、ここで挙げているような、様々なガイドラインに対応する必要があります。 AppleさんやGoogleさんのガイドラインがありますし 当然ながら各種法令に従う必要もあります。 DeNAではそういったガイドラインを取りまとめて、開発会社さんに提供する、ということをやっています。 そうすることで ガイドラインをしっかり守っていけるということに加えて、 企画や実装段階で迷うことを軽減し、開発スピードの向上にもつながっています。
  61. 突然ですが、この中にガイドライン違反のものが一つあります。どれでしょうか。 (1)はい、これですね。 (2)画面に帯が入ってしまうのはガイドライン違反となってアプリ申請時のリジェクト対象になってしまいます。 これを防ぐためには、画面レイアウトを自動調整する実装が必要になってくるわけですが。 これを後からやろうとすると莫大な工数がかかってしまうことになります。 ただ、機能実装に遅れが出ている場合などは、ゲーム実装を優先したくなってしまう、こいうとがあり、 どうしてもガイドラインへの対応が後回しにされてしまうということが見受けられます。 そのため、実装スケジュールに盛り込むことはもちろん、実際に組み込みが進んでいるか、どうかを早い段階からチェックするようにしています。
  62. 次に開発会社とのチームワークについて
  63. 協業開発ではslackやメールでのコミュニケーションが主体となっています。 ただ、文字だけではなかなか細かいニュアンス伝わらなかったり、込み入った話が難しいといういう場合もありますので、エンジニア定例というものを開催するようにしています。 両社で課題や質問を持ち寄って集中的に議論して解決するようにしています。 そして、開発会社さんも含めて全員が一つのチームであるということを意識するようにしています。 形としてはDeNAが事業の主体ではあるのですが DeNAには出来ないことを開発会社さんにお願いしているわけですので 開発会社さんの能力が最大限に発揮され、最良の結果に結びつくようなな、そういったコミュニケーションを心がけてます
  64. 以上が主な業務ですが、ほかにも いろいろな業務をやっています
  65. ざっと上げてみただけで、他にもこれぐらいのことをやっています。 OSSの利用に問題がないかのチェックや、チート対策、リリースに向けたサポートや、障害のサポートなど、 ここに上げた以外でも、円滑なサービス運営に必要だと思ったことは何でもやるようにしています。
  66. さて、本日はテックコンサルの役割について説明してきましたが、もちろん テックコンサル一人の力で良いアプリが作れるわけではありません。 歌マクロスでは マクロスのIPの力 それから両社の企画、運用力 そして開発会社の高い技術力 分析やマーケティングも大きな役割を果たしています (5)ここに、テックコンサルが加わることで、より良いサービスを作っていくことができます。
  67. そういった、たくさんの方の力が合わさったこともありまして、 歌マクロスはこのように高い評価をいただくことが出来ました。 ストアのレビューでこのように高い評価をいただいたりだとか Google Playのベスト・オブ2017にノミネートしていただくことも出来ました。
  68. さて、それではまとめですが。 協業アプリゲーム開発では、様々な技術的課題、問題が起こります。 そこで、テックコンサルが技術に関連する全般に責任を持ち、マネジメントをしていきます。 課題やノウハウを蓄積して他のサービスに共有することも重要です。 (1)テックコンサルは、これからも、さまざまな技術的課題への取り組みや、 フローの整備を進めていくことで、 開発会社・DeNA双方の力が、最大限に発揮できるようサポートし、 より、魅力的なゲームをお客様に提供できるよう、全力で、挑戦を続けていきます。