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
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
Ruby Parser progress report 2025
yui_knk
1
460
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
560
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
120
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
710
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
870
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
7
2.6k
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
rage against annotate_predecessor
junk0612
0
170
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
240
1から理解するWeb Push
dora1998
7
1.9k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.8k
Being A Developer After 40
akosma
90
590k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
820
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Thoughts on Productivity
jonyablonski
70
4.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Building an army of robots
kneath
306
46k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Producing Creativity
orderedlist
PRO
347
40k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
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を策定中=>チームで追う文化へ