Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
大規模UnityゲームタイトルでのObservabilityへの取り組み事例
Search
WonderPlanet Inc.
June 13, 2023
Programming
0
360
大規模UnityゲームタイトルでのObservabilityへの取り組み事例
WonderPlanet Inc.
June 13, 2023
Tweet
Share
More Decks by WonderPlanet Inc.
See All by WonderPlanet Inc.
CEDEC2022_グローバルモバイルゲームのためのパフォーマンス最適化にチームで向き合う方法/cedec-2022-performance-optimization
wonderplanet
0
230
プロダクションコードの設計とテスト駆動開発入門
wonderplanet
0
1.4k
Other Decks in Programming
See All in Programming
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
Swift Updates - Learn Languages 2025
koher
2
470
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
270
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
AWS発のAIエディタKiroを使ってみた
iriikeita
1
180
1から理解するWeb Push
dora1998
7
1.9k
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
320
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
210
RDoc meets YARD
okuramasafumi
4
170
AI時代のUIはどこへ行く?
yusukebe
18
8.8k
AIでLINEスタンプを作ってみた
eycjur
1
230
私の後悔をAWS DMSで解決した話
hiramax
4
210
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Making Projects Easy
brettharned
117
6.4k
A Modern Web Designer's Workflow
chriscoyier
696
190k
How GitHub (no longer) Works
holman
315
140k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Side Projects
sachag
455
43k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
大規模Unityゲームタイトルでの Observabilityへの取り組み事例 NRUG メディア&エンターテイメント支部Vol.1LT#1 ワンダープラネット株式会社 CTO 吉谷幹人
© WonderPlanet Inc. 2 自己紹介 吉谷幹人(ヨシヤミキト) ワンダープラネット株式会社 CTO @mikito0521 テックリードとして複数プロジェクトのシステムアーキテクチャや、
技術課題マネジメント、組織運営を主導。その後、全社横断組織 EDMO(エドモ)のエンジニアリング担当かつCTOとして、社内の技 術課題管理や基盤整備、社内標準化などに従事。 主な著書 • Unity2021 3D/2Dゲーム開発実践入門 • Unityゲーム プログラミング・バイブル(共著)
© WonderPlanet Inc. 私たちの使命は、世界中の一人でも多くの人々の日常に、家族や友達と「楽しい ね!」と笑いあえるひとときを届けることです。 国・言語・文化・年齢・性別などあらゆる壁を越えて誰もが楽しめるプロダクト・ サービスを創り、コミュニケーションを通じた「笑顔」を世界の隅々まで広げてい きます。 ワンダープラネットのミッション 3
© WonderPlanet Inc. 4 主要タイトル 企画・開発・運営、海外展開まで、一気通貫で手がける 2022年7月リリース 長期運営タイトル
5 モバイルゲーム開発事情とツラミ
© WonderPlanet Inc. 6 半端ないリクエスト数 • 数千〜万単位の秒間リクエスト数 • リリース、イベントピーク •
どこまで来るか予測しにくい サービス ローンチ
© WonderPlanet Inc. 7 面白さの追求 • 合理性からはみ出るロジック • 特定のコラボイベントだけの処理、機構 •
エモい表現 • 仕様通りの実装完了は完了じゃない • +楽しいが必要、答えがない • 運用での機能追加〜長期運営 • 1〜2週間おきのアップデート • 計画外の追加コンテンツの急遽配信 • データの蓄積・肥大化
© WonderPlanet Inc. 8 世界中のモバイル端末で動作させる • ゲームは実行負荷がべらぼうに高い... • 60FSPアクション性高いバトル画面 •
もりもりの演出、画面エフェクトのレンダリング • 数百MB〜数GBのアセット • さまざまな端末での動作保証 • Android端末数5000+ • 世界中のネットワーク環境
© WonderPlanet Inc. 9 昨今のゲーム開発 とにかく読めない、見えない、 不確実なこと が多い、多すぎる... それでも、ビジネス要求には答えていく必要がある •
パフォーマンスの最適化・コスト最適化 • 障害・エラーの抑制、機敏な対応・復旧
© WonderPlanet Inc. 10 インフラからモバイルアプリまで観測可能に インフラ・ネットワーク 監視 サーバーアプリ 監視 モバイルアプリ
監視 顧客体験 監視 オブザーバビリティ データをリアルタイムに 取得し続け、常にシステム全容 把握と問題の予防・ 改善ができる状態
11 ワンプラでの活用と取りくみ
© WonderPlanet Inc. 12 APM (Application Performance Monitoring)の活用 • 負荷試験中のチューニング/ボトルネックのドリルダウン
• 非効率クエリ • アプリロジックの重い処理(繰り返し処理とか) • キャッシュ利用方法 • 運用中の問題への対応 • Transaction重い順
© WonderPlanet Inc. 13 ダッシュボード&アラート • 目的に応じてダッシュボードを作成 • 機能を超えて、時間範囲が連動するのも◯ •
アラートを設定し、Slackに通知
© WonderPlanet Inc. 自社開発 14 モバイルモニタリング向けUnityラッパーを開発 • Android、iOSのSDK • 端末・OS情報、通信時間、クラッシュなど基本情報が取れる
• Unity自作ラッパーを開発 • Unityプロジェクトコードと連携して独自メトリクスも観測できるように New Relic Android SDK New Relic iOS SDK Unityラッパー 標準メトリクスの取得 独自メトリクスの取得
© WonderPlanet Inc. 15 New Relic Mobile SDK Unityラッパー/Observability Kit
© WonderPlanet Inc. 16 モバイルクライアントサイドの計測指標の設計
© WonderPlanet Inc. 17 モバイルモニタリングダッシュボード(一部)
© WonderPlanet Inc. 18 モバイルモニタリングの効果や所感 • Unityライブラリの開発はそこまで難しくはなかった • NativeのSDK導入だけでも結構計測ができる •
指標やダッシュボードを作るのが結構むずい • 以下のようなところは検知できた • 急に増えたクラッシュ=>対応 • 異常にレスポンスが悪いAPI=>対応 • 本格的な活用はこれからというところ
© WonderPlanet Inc. 19 開発→運用 • 開発中盤からモバイルモニタリングSDKの導入を行う • 問題を生み出さない開発 •
問題に気づく運用 • 問題への機敏な対応 • ユーザー体験を測るSLI/SLOを選定中 • チームで追っていくフロー・文化を確立したい
© WonderPlanet Inc. 20 まとめ • ゲーム開発は不確実性の塊、Observability向上がカギと見る • 予測が難しい中での最適化 •
複雑なドメインコード、膨大な端末、通信環境 • 機敏なビジネス的動きへの対応 • サービスを統合して観測 • APMでのボトルネックのドリルダウン&アクション • Unityのプラグインを作ってモバイルも計測 • SLI/SLOを策定中=>チームで追う文化へ