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
『アサルトリリィ Last Bullet』におけるクラウドストリーミング技術を用いたブラウザゲ...
Search
gree_tech
PRO
October 25, 2024
Technology
1
23
『アサルトリリィ Last Bullet』におけるクラウドストリーミング技術を用いたブラウザゲーム化の紹介
GREE Tech Conference 2024で発表された資料です。
https://techcon.gree.jp/2024/session/TrackB-3
gree_tech
PRO
October 25, 2024
Tweet
Share
More Decks by gree_tech
See All by gree_tech
REALITY株式会社における開発生産性向上の取り組み: 失敗と成功から学んだこと
gree_tech
PRO
1
54
『ヘブンバーンズレッド』におけるフィールドギミックの裏側
gree_tech
PRO
2
39
セキュリティインシデント対応の体制・運用の試行錯誤 / greetechcon2024-session-a1
gree_tech
PRO
1
27
『アナザーエデン 時空を超える猫』国内海外同時運営実現への道のり ~別々で開発されたアプリを安定して同時リリースするまでの取り組み~
gree_tech
PRO
1
21
UnityによるPCアプリの新しい選択肢。「PC版 Google Play Games」への対応について
gree_tech
PRO
1
30
実機ビルドのエラーによる検証ブロッカーを0に!『ヘブンバーンズレッド』のスモークテスト自動化の取り組み
gree_tech
PRO
1
36
"ゲームQA業界の技術向上を目指す! 会社を超えた研究会の取り組み"
gree_tech
PRO
1
40
Jamstack でリニューアルするグリーグループのメディア
gree_tech
PRO
2
210
「Groupee 」で実現!システム横断で権限管理を一元化し、グループ管理の悩みを解決
gree_tech
PRO
1
21
Other Decks in Technology
See All in Technology
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
100
クライアントサイドでよく使われる Debounce処理 をサーバサイドで3回実装した話
yoshiori
1
110
JPOUG_10_20241018_OracleDB_AWS_v1.3.pdf
asahihidehiko
2
240
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
2
240
AI Builder について
miyakemito
1
120
CI/CDやテスト自動化の開発プロジェクトへの適用
megascus
2
400
「最高のチューニング」をしないために / hack@delta 24.10
fujiwara3
9
1.7k
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
110
サイロ化した金融システムを、packwerk を利用して無事故でリファクタリングした話
coincheck_recruit
3
2.7k
サーバーサイドのデータプレーンプログラミング 〜 NVIDIA Blue Field / DOCA 〜
ebiken
PRO
1
220
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
140
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
100
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
How to Ace a Technical Interview
jacobian
275
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Into the Great Unknown - MozCon
thekraken
31
1.4k
Practical Orchestrator
shlominoach
186
10k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
We Have a Design System, Now What?
morganepeng
50
7.2k
BBQ
matthewcrist
85
9.3k
GitHub's CSS Performance
jonrohan
1030
460k
Transcript
『アサルトリリィ Last Bullet』 におけるクラウドストリーミング技術 を用いたブラウザゲーム化の紹介 株式会社ポケラボ エンジニアMGR 髙田広
2014年7月株式会社ポケラボに入社。スマ ホ向けゲームアプリ『アサルトリリィ Last Bullet』のプロジェクト立ち上げからエン ジニアマネージャーとして参加。現在は横 断組織である技術基盤チームのマネー ジャーを担当。 髙田広 株式会社ポケラボ エンジニアMGR
2
目次・アジェンダ • 『アサルトリリィ Last Bullet』の紹介 • ブラウザゲーム化した経緯 • システムアーキテクチャの説明 •
開発フェーズの対応内容 • リリース後の実績 • 企業ブースの紹介 3
『アサルトリリィ Last Bullet』の紹介 4
『アサルトリリィ Last Bullet』とは? 5 「儚くも美しく戦う、少女たちの物語ーー」アサルトリリィプロジェクト発のゲームRPG App Store, Google Play, DMM
GAMES, Webブラウザ にて配信中
ブラウザ版のリリーススケジュール 6 2021/01 アプリリリース アプリ1周年 2022/01 アプリ2周年 2023/01 2023/01 ブラウザ版リリース
2022/08 ブラウザ版 開発スタート アプリ3周年 2024/01
対応プラットフォーム 7 iOS版 DMM版 (PC) ブラウザ版 対応端末 ユーザーデータ iOS版・Android版・DMM版・ブラウザ版の間でユーザーデータの引き継ぎが可能 Android版
iPhone / iPad Android端末 PC (Windows) iPhone / iPad / Android端末 / PC 配信PF App Store Google Play DMM GAMES 公式サイト ゲーム内容 iOS版・Android版・DMM版・ブラウザ版で提供するゲーム内容に相違はなし
ブラウザゲーム化した経緯 8
ブラウザゲーム化するメリット • プラットフォーム手数料削減による利益率の向上 • 利便性の向上 ◦ 端末容量を気にせずプレイが可能 ◦ スマホ端末、PC端末 (Windows,
Mac) どちらでもプレイが可能 ◦ 大画面でプレイが可能 • 新規ユーザーの獲得 ◦ URLによる新規流入導線の追加が容易 9
システムアーキテクチャの説明 10
クラウドゲーミングサービスの利用について 11 • 既存のUnityアプリをブラウザ上で動かすために、WebGL化するか、スト リーミングゲーム化するかの技術検証を実施 • WebGL化するには特に外部SDKの対応工数がかかることが分かり、スト リーミングゲーム化の手段を検討 • 以下の観点でストリーミングゲーム化のソリューションを提供しているベ
ンダーを検討し、now.ggのサービスを利用することを決定 ◦ モバイル向けゲームのブラウザ導入実績 ◦ ストリーミング品質(ネットワーク、レイテンシ、画質 etc) ◦ クラウドサーバコストと運用コスト
アクセス経路図 12 now.ggクラウドサーバ 公式サイト ゲームプレイ画面 公式サイトへのアクセス ゲーム直接アクセス(ブックマーク等) ログイン選 択 ストリーミング通信
公式サイトアクセス ログインボタン押下 SNS認証ページ SNSログイン ログイン成功 SNSアカウント情報通知 認証リクエスト 認証レスポンス アプリ起動 Client表示
ログインフロー図 13 Client 公式サイト ゲームプレイ画 面 ポケラボ Server now.gg Server ストリーミング通信開始 token作成 token通知
公式サイトアクセス ログインボタン押下 SNS認証ページ SNSログイン ログイン成功 SNSアカウント情報通知 認証リクエスト 認証レスポンス アプリ起動 Client表示
ログインフロー図 14 Client 公式サイト ゲームプレイ画 面 ポケラボ Server now.gg Server ストリーミング通信開始 token作成 token通知
公式サイトアクセス ログインボタン押下 SNS認証ページ SNSログイン ログイン成功 SNSアカウント情報通知 認証リクエスト 認証レスポンス アプリ起動 Client表示
ログインフロー図 15 Client 公式サイト ゲームプレイ画 面 ポケラボ Server now.gg Server ストリーミング通信開始 token作成 token通知
公式サイトアクセス ログインボタン押下 SNS認証ページ SNSログイン ログイン成功 SNSアカウント情報通知 認証リクエスト 認証レスポンス アプリ起動 Client表示
ログインフロー図 16 Client 公式サイト ゲームプレイ画 面 ポケラボ Server now.gg Server ストリーミング通信開始 token作成 token通知
公式サイトアクセス ログインボタン押下 SNS認証ページ SNSログイン ログイン成功 SNSアカウント情報通知 認証リクエスト 認証レスポンス アプリ起動 Client表示
ログインフロー図 17 Client 公式サイト ゲームプレイ画 面 ポケラボ Server now.gg Server ストリーミング通信開始 token作成 token通知
開発フェーズの対応内容 18
開発ポリシー 『モバイル版とユーザー体験をなるべく変えない』 という大方針のもとに対応内容の精査と品質チェックを実施 また、運用コストを抑えるために、Unityソースコードはモバイルアプリ版と ブラウザ版で同じGitブランチにて開発を実施しました 19
now.gg社に対応いただいた内容 • クラウドサーバ環境の構築 ◦ 開発環境、QA環境、ステージング環境、本番環境の構築 • ログインシステム対応 ◦ 前ページにて説明したログインフローにおける、ユーザー認証とアプリ起動処理の実装 •
Web SDK対応 ◦ Iframeを介してクラウドゲームプレイをポケラボ管理のWebサイトに埋め込むための対応 • Unity SDK対応 ◦ 外部URLへの遷移 ◦ UnityからWebにイベントを通知する機能 ◦ Unityアプリ起動時のパラメータ取得(ユーザー識別に利用) ◦ タイムアウト時間の延長対応(クエストのオート周回にて利用) • アプリ管理ツール nowStudio の提供 ◦ アップロードしたアプリのバージョン管理 / 本番反映と、ユーザー動向の分析 20
• ログインシステム / SNS認証 ◦ 前ページにて説明したログインフローにおけるユーザー識別処理をログイン共通基盤のシステム を用いて実装 ◦ モバイルアプリ向けのSNSデータ連携機能は既にあるが、Web向けのSNS認証処理の実装 •
Assetリソースのクラウドサーバ保存 ◦ モバイル版アプリでは、初期インストール後に数GBのリソースダウンロードが実行されデバイス 個別のストレージにAssetリソースを保存しているが、ブラウザ版ではクラウドサーバ上にAsset リソースを配置して大量のリソースダウンロードをしない形に変更 • クラウドストレージ対応 ◦ ユーザーの状態を保持するために、クラウドストレージに保存する情報を精査し、ファイルパス を nowStudio にて設定 • Web決済 ◦ 課金共通基盤にて既に対応されていた Stripe (決済プロバイダー) を利用して決済処理を実装 ◦ 課金商品一覧、課金商品詳細、購入完了画面を新規で実装 弊社にて対応した内容 ① 21
弊社にて対応した内容 ② • 外部サイト遷移 • クリップボードコピー機能 • フルスクリーン / ログアウト
• クエストオート周回のタイムアウト時間延長 • ブラウザ版限定で表示したい項目の制限 ◦ お知らせ、バナー、規約文章、メンテナンス • 海外からのアクセス遮断対応 ◦ AWSのWAFにて制限 22
ビルド環境構築:開発環境 クラウドサーバへの反映まで Jenkins にて完全自動化を実現 23 now.ggクラウドサーバ ① APKファイルのUnityビルド ② リソースファイルのビルド
③ ZIPファイル作成 ④ ZIPファイル アップロード ⑤ CLIにて反映処理を実行
ビルド環境構築:本番環境 安定運用を目指し、本番デプロイ反映は nowStudio を用いて手動対応 24 now.ggクラウドサーバ ① APKファイルのUnityビルド ② リソースファイルのビルド
③ ZIPファイル作成 ④ ZIPファイル アップロード ⑤ デプロイメント実行
エンジニアリング領域以外の対応内容 • プランナー ◦ 課金アイテムの商品設計 ▪ ブラウザ版限定のキャンペーン仕様作成 ▪ 課金単価の調整 ◦
ブラウザ版専用規約文書の法務調整 ◦ ブラウザ版専用公式サイトの新規開発依頼 • デザイナー ◦ 各種素材の制作 ▪ ホームアイコン ▪ ゲーム起動時の背景画像 ▪ Web決済画面のデザイン作成 25
リリース後の実績 26
リリース後の実績 27 • 2023/01 〜 2023/12 のMAU実績 ◦ 全プラットフォームに対するブラウザ版のMAU比率:15%前後 ◦
※ 2024/01 以降も上記の数値を保って推移できている • オペレーションミス、クラウドサーバの負荷による障害は 0 件 • 以下ログイン種別によるログイン比率は、ほぼ 1:1:1 の割合 ◦ ゲストログイン ◦ Googleログイン ◦ X (旧Twitter)ログイン
企業ブースの紹介 28
企業ブースの紹介 • ブラウザ版のアクセス経路図/ログインフロー図のパネル展示を行ってい ますので、質問事項があればお気軽にお声がけください! • スマートフォン端末、PC端末での本番試遊が出来ますので、ぜひ手に とってプレイしてみてください! 29 ブラウザ版 QRコード
ご清聴ありがとうございました 30
None