Submit Search
Upload
あるゲームアプリケーションの構成とアップデートサイクル
•
30 likes
•
18,055 views
Kentaro Iizuka
Follow
DroidKaigi 2015 の発表資料です. とある Android ゲームアプリの全体像と,アップデートに関する Tips 集の発表です.
Read less
Read more
Technology
Report
Share
Report
Share
1 of 33
Download now
Download to read offline
Recommended
DroidKaigi - Welcome talk
DroidKaigi - Welcome talk
Masahiro Hidaka
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Yu Nobuoka
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
Hiroyuki Ohnaka
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
Yu Nobuoka
Android Dev Tools Knowledge
Android Dev Tools Knowledge
Shinobu Okano
remote Docker over SSHが熱い
remote Docker over SSHが熱い
Hiroyuki Ohnaka
Recommended
DroidKaigi - Welcome talk
DroidKaigi - Welcome talk
Masahiro Hidaka
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Yu Nobuoka
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
Hiroyuki Ohnaka
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
Yu Nobuoka
Android Dev Tools Knowledge
Android Dev Tools Knowledge
Shinobu Okano
remote Docker over SSHが熱い
remote Docker over SSHが熱い
Hiroyuki Ohnaka
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Kengo Suzuki
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
Masataka Kono
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
Kohei Saito
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
日本マイクロソフト株式会社
Ciじゃない方のJenkins
Ciじゃない方のJenkins
Katsuhiro Miura
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化
Kenichi Kambara
Redmine4時代のプラグイン開発 redmine.tokyo #13
Redmine4時代のプラグイン開発 redmine.tokyo #13
Sho Douhashi
VS Code新機能紹介2020-2021
VS Code新機能紹介2020-2021
Yuki Ueda
Jenkins導入ライブ
Jenkins導入ライブ
Hiasyoshi Suehiro
GBDC 勉強会 #2 Android Studio 実践レポート
GBDC 勉強会 #2 Android Studio 実践レポート
Yutaka Kato
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
Shinobu Okano
AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~
Yabata Tomomitsu
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Kenichi Kambara
Net なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみた
Oda Shinsuke
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
Android Studioの魅力
Android Studioの魅力
Keiji Ariyama
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
【BS2】.NET 6 最新アップデート
【BS2】.NET 6 最新アップデート
日本マイクロソフト株式会社
.NET Core時代のCI/CD
.NET Core時代のCI/CD
Yuta Matsumura
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
Fumihiko Shiroyama
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Yuki Anzai
More Related Content
What's hot
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Kengo Suzuki
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
Masataka Kono
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
Kohei Saito
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
日本マイクロソフト株式会社
Ciじゃない方のJenkins
Ciじゃない方のJenkins
Katsuhiro Miura
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化
Kenichi Kambara
Redmine4時代のプラグイン開発 redmine.tokyo #13
Redmine4時代のプラグイン開発 redmine.tokyo #13
Sho Douhashi
VS Code新機能紹介2020-2021
VS Code新機能紹介2020-2021
Yuki Ueda
Jenkins導入ライブ
Jenkins導入ライブ
Hiasyoshi Suehiro
GBDC 勉強会 #2 Android Studio 実践レポート
GBDC 勉強会 #2 Android Studio 実践レポート
Yutaka Kato
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
Shinobu Okano
AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~
Yabata Tomomitsu
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Kenichi Kambara
Net なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみた
Oda Shinsuke
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
Android Studioの魅力
Android Studioの魅力
Keiji Ariyama
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
【BS2】.NET 6 最新アップデート
【BS2】.NET 6 最新アップデート
日本マイクロソフト株式会社
.NET Core時代のCI/CD
.NET Core時代のCI/CD
Yuta Matsumura
What's hot
(20)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
minneにおけるテスト〜リリース〜リリース後にやっている事の紹介
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
Ciじゃない方のJenkins
Ciじゃない方のJenkins
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化
Redmine4時代のプラグイン開発 redmine.tokyo #13
Redmine4時代のプラグイン開発 redmine.tokyo #13
VS Code新機能紹介2020-2021
VS Code新機能紹介2020-2021
Jenkins導入ライブ
Jenkins導入ライブ
GBDC 勉強会 #2 Android Studio 実践レポート
GBDC 勉強会 #2 Android Studio 実践レポート
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
AndroidStudioはじめました ~Gradle編~
AndroidStudioはじめました ~Gradle編~
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Net なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみた
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Android Studioの魅力
Android Studioの魅力
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
【BS2】.NET 6 最新アップデート
【BS2】.NET 6 最新アップデート
.NET Core時代のCI/CD
.NET Core時代のCI/CD
Viewers also liked
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
Fumihiko Shiroyama
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Yuki Anzai
開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程
Takao Sumitomo
CardboardのUXをカメラで向上する (droidkaigi 2015/04)
CardboardのUXをカメラで向上する (droidkaigi 2015/04)
Kenichi Takahashi
進化するArt
進化するArt
Takuya Matsunaga
マテリアルデザインを用いたデザインリニューアル [フリル編]
マテリアルデザインを用いたデザインリニューアル [フリル編]
YUKI YAMAGUCHI
僕らのデータ同期プラクティス
僕らのデータ同期プラクティス
Yukiya Nakagawa
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
Makoto Yamazaki
AndroidとSELinux
AndroidとSELinux
android sola
Droid kaigiプレゼン
Droid kaigiプレゼン
Suguru Oho
明日から使えるRxjava頻出パターン (Droid kaigi 2016)
明日から使えるRxjava頻出パターン (Droid kaigi 2016)
Kazuki Yoshida
Android lint-srp-practice
Android lint-srp-practice
cch-robo
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
Yukiya Nakagawa
DroidKaigi2016 windows環境での効率的なアプリ開発手法
DroidKaigi2016 windows環境での効率的なアプリ開発手法
tkawashita
Master of Canvas
Master of Canvas
Mima Yuki
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
Takao Sumitomo
パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応
ak_shio_555
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
Hiroyuki Kusu
怖くないGradle設定とBazel
怖くないGradle設定とBazel
shimada tatsuya
最速でリリースするためのAndroidアプリデザイン
最速でリリースするためのAndroidアプリデザイン
Naoki Aoyama
Viewers also liked
(20)
絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
Activity, Fragment, CustomView の使い分け - マッチョなActivityにさよならする方法 -
開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程
CardboardのUXをカメラで向上する (droidkaigi 2015/04)
CardboardのUXをカメラで向上する (droidkaigi 2015/04)
進化するArt
進化するArt
マテリアルデザインを用いたデザインリニューアル [フリル編]
マテリアルデザインを用いたデザインリニューアル [フリル編]
僕らのデータ同期プラクティス
僕らのデータ同期プラクティス
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
20150425 DroidKaigi つかえるGradleプロジェクトの作り方
AndroidとSELinux
AndroidとSELinux
Droid kaigiプレゼン
Droid kaigiプレゼン
明日から使えるRxjava頻出パターン (Droid kaigi 2016)
明日から使えるRxjava頻出パターン (Droid kaigi 2016)
Android lint-srp-practice
Android lint-srp-practice
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
DroidKaigi2016 windows環境での効率的なアプリ開発手法
DroidKaigi2016 windows環境での効率的なアプリ開発手法
Master of Canvas
Master of Canvas
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
【DroidKaigi2015】初学者に嬉しいAndroid開発環境(あとMVCとか)
怖くないGradle設定とBazel
怖くないGradle設定とBazel
最速でリリースするためのAndroidアプリデザイン
最速でリリースするためのAndroidアプリデザイン
Similar to あるゲームアプリケーションの構成とアップデートサイクル
Dev camp2012jpn day2special
Dev camp2012jpn day2special
Katsuhito Katoh
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developer Camp 2012 Japan Fall
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
Yasuhiko Yamamoto
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
Yasuhiko Yamamoto
Windows 11 がやってくる - IT管理者の準備と対策
Windows 11 がやってくる - IT管理者の準備と対策
彰 村地
速報!!Windows 11
速報!!Windows 11
Tomokazu Kizawa
協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜
協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜
DeNA
KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境
KLab Inc. / Tech
Klocworkのご紹介
Klocworkのご紹介
Masaru Horioka
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
Windows 10 Creators Update
Windows 10 Creators Update
Tomokazu Kizawa
Tips and Tricks for developing Windows APO drivers
Tips and Tricks for developing Windows APO drivers
Atomu Hidaka
ゲーム開発環境、もっと楽にできるよ♬ マインクラフトでも実践している DevOpsでゲーム開発を効率化しよう!
ゲーム開発環境、もっと楽にできるよ♬ マインクラフトでも実践している DevOpsでゲーム開発を効率化しよう!
Hiroko Umetsu
ビルドで情報を埋め込んでみた
ビルドで情報を埋め込んでみた
Kazuhide Maruyama
Windows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka
10分で(だいたい)わかるMicrosoft MVP アワードプログラム
10分で(だいたい)わかるMicrosoft MVP アワードプログラム
Rie Moriguchi
20190525 event slide
20190525 event slide
Hiroko Umetsu
静的解析Klocwork とJenkins CIの連携
静的解析Klocwork とJenkins CIの連携
Masaru Horioka
ニコニコ超開発
ニコニコ超開発
Akihiko Koizuka
ストアアプリ→universal Windows Apps=WP8.1アプリ
ストアアプリ→universal Windows Apps=WP8.1アプリ
Akira Hatsune
Similar to あるゲームアプリケーションの構成とアップデートサイクル
(20)
Dev camp2012jpn day2special
Dev camp2012jpn day2special
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
Windows 11 がやってくる - IT管理者の準備と対策
Windows 11 がやってくる - IT管理者の準備と対策
速報!!Windows 11
速報!!Windows 11
協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜
協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜
KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境
Klocworkのご紹介
Klocworkのご紹介
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Windows 10 Creators Update
Windows 10 Creators Update
Tips and Tricks for developing Windows APO drivers
Tips and Tricks for developing Windows APO drivers
ゲーム開発環境、もっと楽にできるよ♬ マインクラフトでも実践している DevOpsでゲーム開発を効率化しよう!
ゲーム開発環境、もっと楽にできるよ♬ マインクラフトでも実践している DevOpsでゲーム開発を効率化しよう!
ビルドで情報を埋め込んでみた
ビルドで情報を埋め込んでみた
Windows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
10分で(だいたい)わかるMicrosoft MVP アワードプログラム
10分で(だいたい)わかるMicrosoft MVP アワードプログラム
20190525 event slide
20190525 event slide
静的解析Klocwork とJenkins CIの連携
静的解析Klocwork とJenkins CIの連携
ニコニコ超開発
ニコニコ超開発
ストアアプリ→universal Windows Apps=WP8.1アプリ
ストアアプリ→universal Windows Apps=WP8.1アプリ
Recently uploaded
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Recently uploaded
(9)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
あるゲームアプリケーションの構成とアップデートサイクル
1.
あるゲームアプリケーションの 構成とアップデートサイクル 飯塚健太郎 DroidKaigi, 2015/04/25
2.
今回お話しすること • あるゲームアプリの構成 • どのようなゲームを,いかにして作っているか •
アップデートサイクル • アップデートをいかにして回していくか • 雑多な Tips 集
3.
あるゲームアプリ開発者のデスク (自己紹介) • 飯塚健太郎.KLab Inc Android
4.4 Android 2.3 Android 5.1 Jenkins 用 Mac mini 開発用 MacBook HHKB いろいろ用 Windows 24インチモニタ 5.1A USB電源ハブ HHKB Lite 2
4.
どんなゲームを作っているの? • Android 2.3
以降対応の音ゲーム • 自社製ゲームエンジン • 自社製サーバサイドフレームワーク • 既に2年くらい運用中 • 2∼3ヶ月に1度アップデートを実施 今回は,こんなゲームの運用経験を元にノウハウを共有します
5.
あるゲームアプリの構成
6.
- あるパイプラインエンジニア曰く ゲームはソースコードのみにて在るに非ず
7.
ソース コード マスターデータ 音声 データ 画像 データ リソースの海 素敵ゲームアプリ の力? ゲームエンジン ムービー いかにして多種多様なリソースからゲームを生成するのか? API
8.
• 様々なリソースから の力で素敵なゲームアプリができる わけではない •
音声ファイル,画像ファイル,ソースコード,マスターデー タ等のリソースをまとめあげてアプリとして具現化するビ ルドシステムが存在する • 私達は,主に Jenkins と Github を用いたシステムを構 築している(次ページ) ゲームはソースコードのみにて在るに非ず
9.
様々なリソースを束ねる Jenkins を使ったビルドシステム APIサーバゲームアプリ(apk) Jenkins fetch ゲーム エンジン NDK, Gradle フロントエンド UI サーバサイド PHP Jenkins fetch 追加DL用 音声,画像等 API通信 Amazon
S3 Jenkins fetch deploy upload マスターデータ 音声,画像等 fetchfetch DL
10.
• 私達はこのビルドシステムを,「パイプライン」と呼んで いる.そして,パイプラインの整備を専門にする「パイプ ラインエンジニア」のチームが存在する • マスターデータのバリデーションやアセットの整合性 チェックなども,Jenkins
の中で動かしている • Github や Jenkins マシンが死ぬとプロジェクトが止まる リスクがあったりする 様々なリソースを束ねる Jenkins を使ったビルドシステム
11.
参考書籍 • ゲーム・映像制作パイプラ イン構築マニュアル • 2014年 •
税込み約6500円
12.
ゲームエンジン在らざればゲーム在らず - あるパイプラインエンジニア曰く
13.
• 昨今のゲーム開発はゲームエンジンの上でゲームを作るこ とが非常に多い,と思う • 私達は
Playground というゲームエンジンを使ってい る.これはOSS でも公開されている • https://github.com/KLab/PlaygroundOSS/ • 社内にゲームエンジンチームがあって,Playground ゲー ムエンジンの開発を専門に行っている • ゲームの UI は,ゲームエンジンに付属する IDE で作れる ようになっている どんなゲームエンジンを使っているのか
14.
エンジン自作の嬉しさと悲しさ • 音ゲーを作っているので,オーディオ周りなどでハードウェ ア寄りの細かい制御をできるのはゲームエンジンを作って いる強みになっている • ググっても情報がない.しかし開発者に直に質問可能 •
例えば,新しいバージョンの OS(Lollipop) への対応がス ムーズにできたりとか,比較的小回りが効く
15.
ゲームフロントエンド(UI, ゲームロジック) Open GLOS機能
(ファイルIO,スレッド…) タスクシステム アセット管理 知財暗号化 OSごとのポーティング層 (Java, Obj-C) 描画ラッパー データベース その他 ゲームエンジン (Playground) (Lua, XML) (C, C++ 等) ゲームエンジン Playground の おおざっぱな構成
16.
アップデートサイクル
17.
たった 50MB ぽっち! -
あるパイプラインエンジニア曰く
18.
たった 50MB ぽっち! •
Google Play から Wi-Fi を使わない環境でダウンロード できる apk の最大サイズ • 多いように感じるかもしれないけど,ゲーム開発をしてい ると全然足りなくなることもしばしばしばしば • はみ出したリソースは,追加ダウンロードの仕組みを作っ て使って対応する(expansion packを使っているゲームも 最近は多いですが,ここでは使っていません)
19.
追加ダウンロードのしくみ 全アセット空間 (数百MB∼数GB) アセットリスト (API サーバ) Amazon S3 アセット アップロード アセットリスト 作成 画像 ムービー 音声 UI
情報 その他 apk (50MB) ダウンロード リスト取得 アセット ダウンロード リソース 抽出 • API サーバにアセットのリストを作っておいて,アセット自体は Amazon S3 からダウンロードする仕組みになっている
20.
追加ダウンロードのしくみ を使ってアップデート アセットリスト (API サーバ) Amazon S3 差分アセット アップロード アセット差分 リスト作成 apk
ver 1.0 -> 1.1 差分 リスト取得 差分アセット ダウンロード リソース 抽出 • 追加DLの仕組みを応用してアセットのアップデートもできる ver 1.0 アセット集合 ver 1.1 アセット集合 差分アセット集合
21.
アップデートはゲームアプリの呼吸なり - あるパイプラインエンジニア曰く
22.
アップデートはゲームアプリの呼吸だ • ゲームを面白く新鮮に保つためには,アップデートが必要 • 新機能追加,新キャラ追加,UI改修,性能チューニ ング •
スムーズにアップデートを回していくためにどうしたら良 いのだろうか?ということを話す • 前置き:アップデートには 2 種類ある
23.
2 種類のアップデート アップデート方法 期間
更新内容 関連エンジニア Google Play 数ヶ月単位 (コードの改修) ・ゲームロジック改修 ・ゲームエンジン改修 ・フロントエンド ・ゲームエンジン ・サーバサイド 追加 ダウンロード 数週間単位 (リソースの追加) ・アイテム追加 ・キャラクター追加 ・サーバサイド ・運用エンジニア •今回話すのは主に Google Play からのアップデートのほう
24.
• アップデートには想像されるように様々なフェーズが存在 する • 仕様策定,実装,レビュー,動作テスト,リリース •
それらをどうつなぎあわせてリリースまでもっていくか は,実は自明ではない • 次ページで仕様策定からリリースまでの一連の流れの例 をあげる アップデートサイクル
25.
仕様策定 アップデートテスト 実装 コードレビュー テスト(開発者) リリース テストエンジニア レビューパス テストパス コメント・修正 フィードバック テストパス バグ報告 ユニットテスト, 手元テスト リリースリハーサル リハーサル 成功 ユーザサポート クラッシュ レポート リリース後 こんなものを作りたい という気持ち 明文化 アップデートサイクルの一連の流れの例
26.
• デイリーで apk
を作成してテストエンジニアへ • テストサイクルがうまく回るかどうかは,アップデートの成否に 関わる問題 • テストを上手くまわすための技術開発に工数を使うことも積極的 に検討 • UIパーツやゲームロジックといったゲームフロントエンド は差し替えずに,ゲームエンジンだけを入れ替えてテスト できるようにしてみたり… • 通信速度あげるために有線 LAN アダプタを挿してみたり… テストの比重は重い
27.
デバッグのための2種類のapk アセット apk サイズ
テスト内容 FULL版 全部 apk 内 数百MB∼数GB ・新機能 ・バグフィックス DL版 最小限 + 追加DL 50MB ・追加DL ・Google Play α版 ・Google Play β版 •新機能テストのとき,いちいち数百MBの追加ダウンロードはやってられ ないため,すべてのアセットを含んだ FULL版 と呼ばれる巨大な apk が使われる
28.
実装者下暗し - あるテストエンジニア曰く
29.
• View 部分の動作テストは自動化が非常に難しい •
テストエンジニアによる動作テストは必須 • 実装者自身は動作テストを都合の良いように最適化してし まう(ことがある) • テストエンジニアは,実装者が見落としてしまいそうな遷 移の不具合を,仕様と優れたメソッド(企業秘密)で発 見してくれる テストエンジニアによるテストの価値
30.
プロの手によって発見されたバグ再現手順の例 電源ボタンでゲームをバックグラウンドにし,即座にフォア グラウンドに戻すと発生するバグ このようなバグは開発者の動作テストでは見つかる確率低
31.
• リリース後はクラッシュレポートでユーザの手元で起こったクラッ シュを監視 • Developer
Console のクラッシュレポートはあまり参考になら ない • クラッシュレポートツール選び • 遅延なくでクラッシュを監視できるか? • NDK 部分と Java 部分で起こったクラッシュを分けて分 析できるか クラッシュレポートコレクターになろう
32.
まとめ • あるゲームアプリの構成 • Jenkins
と Github を多用したパイプラインを構築している • Playground というゲームエンジンを使用している • アップデートサイクル • Google Play, 追加DL の2種類のアップデートがある • テストの比重は比較的重い.テストをいろいろ工夫する • テストエンジニアのテストは必須 • 外部のクラッシュレポートツールを使ってクラッシュを監視
33.
PR • CodeLunch.fm というポッドキャストに出たりしてます •
http://codelunch.fm/
Download now