SlideShare a Scribd company logo
1 of 33
Download to read offline
Android向けUnity製ゲーム最適化のための

CI/CDと連携した

自動プロファイリングシステム

KLab株式会社

発表者

塙 与志夫
上席執行役員
KLab株式会社
於保 俊
エンジニアリングマネージャー
KLab株式会社
細田 翔
Unityエンジニア
KLab株式会社
実機のプロファイリング
面倒じゃないですか?
課題:モバイルでの実機プロファイリングは大変
● 端末ごとに性能も特徴もさまざま
● SoCごとに異なるプロファイラー
● 専門知識が必要
充分な量のプロファイリングができずに
パフォーマンスの問題を見逃してしまう
解決策:継続的な自動プロファイリング
● CI/CDと連携した全自動の実機プロファイリング
● 非エンジニアでもダッシュボードから結果を見れる
パフォーマンスの劣化を見逃さない!
すぐにチューニングに着手できる!
本日のアジェンダ
1. 自動プロファイリングのための

Unityアプリケーション側の実装



2. プロファイリングのAndroid実機での

自動実行システム



3. ダッシュボードシステム

8
自動プロファイリングのための

Unityアプリケーション側の実装

通常のプロファイリング方法
● Unity標準のUnity Profilerを利用

● CPUの詳細な分析が可能(フレーム単位でのタイムライン表示など)

Unity Profiler ウィンドウ
スクリプト経由でのプロファイリング開始と終了
● Unity Profilerの通常の利用方法

○ PCと端末をUSBケーブルで接続して、プロファイラからアタッチ

○ 手間がかかる & UI操作の自動化が難しい

● Unity ProfilerのAPIを利用

○ スクリプト経由でバイナリログを端末内に保存できる

○ スタンドアローンで動作するので、PCとの接続も不要

Profiler.logFile = "mylog";// 保存ファイル名の指定
Profiler.SetAreaEnabled(ProfilerArea.Rendering, true);// プロファイリング項目の指定
Profiler.enableBinaryLog = true;// 詳細なバイナリログ形式で保存
Profiler.enabled = true;// プロファイリングを開始
プロファイリングデータの集計
●Profiler Reader

○ バイナリログをCSVに変換・集計するツール

○ Unity Technologies Japanと開発

○ https://github.com/unity3d-jp/ProfilerReader
○ 明日 9/5 (木) 13:30〜14:30『Unity2018/2019における最適化事情』
Profiler Reader
バイナリログ CSV
Profiler Readerの活用方法
● メインスレッドのメソッド単位の集計情報
○ 処理時間 ( avg / sum / min / max )
○ 呼び出し回数
○ コールスタック
●フレーム単位の情報
○ Unityのメインスレッド全体 ms
○ Unityのレンダースレッド全体 ms
○ Unityの各Jobスレッド全体 ms
○ ドローコール数
○ メモリ使用量
● CPU負荷の高い
メソッドの特定
● 重たいフレームの特定
● 原因のだいたいの把握
自動プレイ機能の実装
● アプリを起動したら完全放置でゲームが進行

○ プロファイリング対象のシーンに順番に遷移



● プロファイリングシステムへの成功・失敗の通知

○ 成功:すべての計測シナリオが正常終了

○ 失敗:例外が発生してアプリが進行不能

○ 通知用のファイルを生成

14
プロファイリングの

Android 実機での自動実行システム

● メインは Python スクリプトで構成
● 普通の Windows PC に端末を接続
● Android 開発ツールなどを活用
○ aapt (Android Asset Packaging Tool)
■ Bundle ID の apk パッケージからの抽出
■ メインアクティビティ名の抽出
○ adb (Android Debug Bridge)
■ apk の実端末へのインストール
■ ゲームアプリケーションの実行
■ ファイル転送やクリーンアップ
○ Unity (Profiler Reader実行用)
プロファイル自動実行システムの構成
プロファイル自動実行の流れ
apk ダウンロード
パッケージ名
などの抽出
実機インストール
アプリ実行 終了ファイル
ある?
結果抽出
変換
アップロード
デバイス
クリーンアップ
Yes
No
実機では頻繁に「エラー」が起きる
基本的には adb のエラー終了として起こる
● 「少し待ってリトライ」が一番有効
○ エラー終了したらn回リトライして、それでだめならその回は失敗
● 要所で adb サーバーを再起動
○ 特に apk インストール失敗時に再起動すると「経験上」うまくいく率が高い
○ 逆に再起動しすぎても、うまくいかないこともある
● 機種・OS間の差異が大きく、厄介
○ 進行ログもエラーメッセージも違う
○ 頑張ろうとせずに適当に
あきらめが肝心
実機利用での難しさ(1) エラー処理
プロファイルをなるべく同じ環境でやりたい
● バックグラウンドプロセスなど
○ adb shell am kill : プロセスの停止
○ adb shell am kill-all : 全てのアプリケーションプロセスの停止
● ストレージの管理
○ adb shell pm clear : 特定パッケージのデータ削除
● 冷却のために待ち時間をいれる
○ いれないと何もしてないのにどんどん結果が悪化する
○ さらにダメ押しでスマホクーラーを投入!
端末自体の再起動もやっていたが、 USB接続設定がリセットされたりするので、逆に不安定になる
実機利用での難しさ(2) 端末をクリーンに保つ
● 開発者モード
● スリープしない
○ USB接続中はスリープしない設定がある
● ファイル転送モード
○ 結果ファイルを転送できるように
● 音量
○ すべてミュート
○ 夜中に謎の音が鳴り続けないように
● 画面輝度
○ 最低に
○ 電力使わないように
○ 焼き付き防止?
実機利用での難しさ(3) 端末設定
21
ダッシュボードシステム

ダッシュボード画面
● マネージドサービスで構成すること
○ 管理者を立てるほどの規模ではないため
● お値段そこそこであること
○ お財布の心配は少ない方がいい
→GCPサービスと無料のBIツールの組み合わせで実現
ダッシュボードの要件
● Cloud Storage + Cloud Functions
○ ストレージ+サーバレスサービス
○ CSVをPythonスクリプトで処理、BigQueryに追記
● BigQuery
○ 分析用途に向いたデータベース、非常に安価
○ データを蓄積、ダッシュボード向けに整形
● Googleデータポータル
○ 無料のBIツール(Googleさん太っ腹)
○ プロファイリング結果の可視化・情報共有
ダッシュボードの構成要素
● 直近のプロファイリン
グ結果を表示
● ドリルダウンリンクで
詳細ページに遷移
ダッシュボード画面
● カテゴリ別表示
○ 実行時間上位
○ 予算超過率
● メソッド別表示
○ 実行時間上位
etc...
詳細画面
● 高負荷になるタイミングを可視化
○ 性能改善の材料として
時系列グラフ
可視化の例
● カテゴリ分類をGoogleスプレッドシートで定義
○ チームメンバーが自由に編集できる
○ ダッシュボードにすぐ反映される
● スプレッドシートはBigQueryテーブルとして扱える
○ 裏側の仕組みを知らなくても集計結果をカスタマイズできる
BigQuery採用の意外なメリット
● 意図せずゲームが重くなることがあり、有用だった
○ Unityのマイナーバージョンアップ時
○ 性能と無関係なつもりの変更が実際は重かった場合
● プロファイリング結果をメンバー内で共有できて便利
○ 特に非エンジニアにデータを共有しやすい
運用してみてのエピソード
● Android実機による自動プロファイリングシステムを開発
○ 実機プロファイリングのハードルを大幅に下げられた
○ チームメンバーと結果を共有しやすくなった
● 成果も得られた
○ ゲーム中のボトルネックの発見に役立った
○ 性能改善のイテレーションが速まった
結論
33
Thank you


More Related Content

What's hot

What's hot (20)

[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
 
[CEDEC2018] UE4アニメーションシステム総おさらい
[CEDEC2018] UE4アニメーションシステム総おさらい[CEDEC2018] UE4アニメーションシステム総おさらい
[CEDEC2018] UE4アニメーションシステム総おさらい
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
 
UE4とBlenderでランニングコストを抑えるモダンなワークフロー
UE4とBlenderでランニングコストを抑えるモダンなワークフローUE4とBlenderでランニングコストを抑えるモダンなワークフロー
UE4とBlenderでランニングコストを抑えるモダンなワークフロー
 
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料
 
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
 
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編
 
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
 
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
 
UE4におけるレベル制作事例
UE4におけるレベル制作事例  UE4におけるレベル制作事例
UE4におけるレベル制作事例
 
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
 
猫でも分かる Control Rig UE4.25 版
猫でも分かる Control Rig UE4.25 版猫でも分かる Control Rig UE4.25 版
猫でも分かる Control Rig UE4.25 版
 
UE4とUnrealC++について
UE4とUnrealC++についてUE4とUnrealC++について
UE4とUnrealC++について
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
 
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
 

Similar to Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム

福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
 
ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】
Junya "Jun" Shimoda
 
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
モノビット エンジン
 
楽天市場で使われている技術、エンジニアに必要なコアスキルとは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.
 

Similar to Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム (20)

福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
"Profle-Driven Development in core parts of a game engine" CEDEC 2020
"Profle-Driven Development in core parts of a game engine" CEDEC 2020"Profle-Driven Development in core parts of a game engine" CEDEC 2020
"Profle-Driven Development in core parts of a game engine" CEDEC 2020
 
AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019AbemaTV の課題と Demuxed 2019
AbemaTV の課題と Demuxed 2019
 
チーム開発の要は ViewModelにある
チーム開発の要はViewModelにあるチーム開発の要はViewModelにある
チーム開発の要は ViewModelにある
 
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
 
CEDEC2014 セッション資料「ヘキサドライブ流 OPTPiX SpriteStudio 最適化術!」
CEDEC2014 セッション資料「ヘキサドライブ流 OPTPiX SpriteStudio 最適化術!」CEDEC2014 セッション資料「ヘキサドライブ流 OPTPiX SpriteStudio 最適化術!」
CEDEC2014 セッション資料「ヘキサドライブ流 OPTPiX SpriteStudio 最適化術!」
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方
 
ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】
 
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
【GCC2019】モノビットエンジンがついにクラウド化!しかし、インフラでまさかのAzureを利用!?本当に大丈夫なの?
 
Surface で 謎開発
Surface で 謎開発Surface で 謎開発
Surface で 謎開発
 
初心者向けデバイスドライバ講座 (2)
初心者向けデバイスドライバ講座 (2) 初心者向けデバイスドライバ講座 (2)
初心者向けデバイスドライバ講座 (2)
 
楽天市場で使われている技術、エンジニアに必要なコアスキルとは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...
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
 
ケートリック製品ポートフォリオを一挙にご紹介
ケートリック製品ポートフォリオを一挙にご紹介ケートリック製品ポートフォリオを一挙にご紹介
ケートリック製品ポートフォリオを一挙にご紹介
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術
 
LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2
 
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
 

More from KLab Inc. / Tech

大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
KLab Inc. / Tech
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
 

More from KLab Inc. / Tech (20)

大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
 
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
 
生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方
 
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
 
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
 
他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話
 
KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境
 
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
 
「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
 
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
 
KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷
 
Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話
 
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
 
属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話
 
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション
 
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
 
ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話
 

Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム