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
370
大規模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
CSC305 Lecture 06
javiergs
PRO
0
220
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
240
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.3k
dynamic!
moro
10
7.6k
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
9
1.7k
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
1
100
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
290
オープンソースソフトウェアへの解像度🔬
utam0k
15
2.8k
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
31k
CSC305 Lecture 03
javiergs
PRO
0
240
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
4k
Featured
See All Featured
Visualization
eitanlees
149
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Optimizing for Happiness
mojombo
379
70k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
The Pragmatic Product Professional
lauravandoore
36
6.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Writing Fast Ruby
sferik
629
62k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
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を策定中=>チームで追う文化へ