SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
禍つヴァールハイト
を支える
データ更新作業について
2019-06-05 作田政幸
自己紹介
名前:作田 政幸(さくた まさゆき)
本来は違うPJにいるサーバーエンジニア(東京勤務)
運用について考えるのが好き
福岡では去年のCEDEC+KYUSHU2018で全く別の内容で講演
している
とある日のこと・・・
プロデューサー:
「データ更新について考えないと
いけないけど、
仕組み的にまだ十分に
考えられていない」
とある日のこと・・・
私:「( ゚д゚)ポカーン」
その後
PJ掛け持ちで
データ更新フローの
改善に向けて
作業を始めました
今回のテーマ:
今回はリリース(4/23)までに
データ更新作業を改善した
話をします
ここでいうデータとは
● ゲーム内のデータ(マスタデータ)のことを表します
● アップデートの度にゲーム内データ更新を入れています
● ここ最近ですと、5章追加(5/10)、シロちゃんコラボ(5/29)のた
めに大きくデータの更新を入れました
改善前の話
改善前の話
● シナリオ、バトルなどそれぞれの画面において対応するスプ
レッドシートが存在しておりプランナーさんが入力
改善前の話
● そのスプレッドシートを各サーバー環境(2環境あります)に開
発者用のwebツールを使ってアップロードしていく
● シート自体はバトル、シナリオ(章ごと)などで分かれているの
で全部で100枚近くある
開発用サーバー
 本番用サーバー
改善前の話
● 各サーバーにつながるandroid, iOSバイナリを作ることでゲー
ムが遊べる
開発用サーバー  本番用サーバー
改善前の話
● 私がPJ(まがつ)に来てこの運用方法には気になるところがあ
りました
● ここで私が気になったことは3つありました
改善前の話
1.データの保全が
されていない
データの保全性
● ゲーム内のデータ全体を表す状態が各サーバーにしかない
○ これではデータを切り戻すのが難しい
■ 急遽シートを元の状態に戻す事態も起こり得る
○ また、ある時点で本番に出たデータを見たいときもある
(ユーザーサポートなど)
開発用サーバー  本番用サーバー
改善前の話
2.時期に応じた
データの切り分けが出来ない
時期に応じたデータの切り分けが出来ない
● シートでデータを管理しているが中には全ての行アップロード
してはいけないシートもある
● 例:メインクエストの章一覧シート
時期に応じたデータの切り分けが出来ない
● 本番でリリースしているのが1-4章とした場合、
○ 本番では1-4章のデータにしたいが、テストのために5章の
データも入れて確認したいときもあるので都度シート編集
が必要になる
改善前の話
3.サーバー環境が少ない
サーバー環境が少ない
● デバッグ用として他にもサーバーがあったがそれらのサー
バーにはサーバープログラムしか更新できず、ゲーム内デー
タは更新できなかった
開発用サーバー ○ 更新出来る
開発用サーバー2
開発用サーバー3
☓ 更新出来ない
☓ 更新出来ない
サーバー環境が少ない
● 先程の、1-4章のデータの環境、5章も入っているデータの環
境、というように様々なデータの状態でテストするためには多く
の環境が必要である
開発用サーバー ○ 更新出来る
開発用サーバー2
開発用サーバー3
☓ 更新出来ない
☓ 更新出来ない
問題点
● この3つの問題点があるまま実際の運用に入るとどうなるで
しょうか?
データの保全がされていない
時期に応じたデータの切り分けが出来ない
サーバー環境が少ない
問題点
● 開発チーム内では複数のリリース日でのテストを同時並行で
実施しています
○ 1週間後
○ 2週間後
○ 1ケ月後
● 本番用サーバーは実際のプレイヤーが遊んでいるデータと同
じにしているので環境が足りなくなります
開発用サーバー  本番用サーバー
問題点
● また、データを入れ替えようとしてもシートを1枚1枚アップ
デートして変える方式なので、急遽
「1ケ月先のテストをしていたけど、直近のテストをしたい」
● となってもデータを入れ替えるのが大変です(データだけでなく
プログラムの変更もあるかもしれません)
開発用サーバー
問題点
● 簡単に入れ替えやすくなるとするとシートが増殖します
開発用サーバー
明日出す
シナリオデータ
来週出す
シナリオデータ
再来週出す
シナリオデータ
問題点
● すると管理には限界があるので結果として本番で事故しやすく
なります
本番用サーバー
どれをアップロードす
ればいいか?
問題点
● 以下問題点を解消する方法を考えました
データの保全がされていない
時期に応じたデータの切り分けが出来ない
サーバー環境が少ない
改善した話
改善した話
● まずは環境を増やしました
開発用サーバー
開発用サーバー2
開発用サーバー13
改善した話
● ただ先ほど話があったように更新先が限定されている
開発用サーバー
開発用サーバー2
開発用サーバー13
☓ 更新出来ない
☓ 更新出来ない
○ 更新出来る
改善した話
● また、保全されていない問題もあったので・・・
開発用サーバー
開発用サーバー2
開発用サーバー13
☓ 更新出来ない
☓ 更新出来ない
○ 更新出来る
改善した話
● Gitを使ってデータを置くことにしました(更新はJenkins)
開発用サーバー
開発用サーバー2
開発用サーバー13
改善した話
● また、データの切り分けについては、リリース日を表すデータ
を入れることで解消出来るようにしました
● (md-yyyymmdd という書式でgitへの出力時にリリース日を指
定する)
改善した話
● Gitのブランチに関しては、シートで出力したデータをリリース
日ごとに管理 
yyyy年mm月dd日用ブランチ
yyyy年mm月ee日用ブランチ
yyyy年nn月ff日用ブランチ
改善した話
● またシートのデータ出力する際ブランチを該当リリースからブ
ランチを切るところまではJobでするのでPRも簡単に提出出来
る
yyyy年mm月dd日用ブランチ
Jenkinsで作ったブランチ
Pull Request
改善した話
● また、各サーバーに展開したデータについてはgitのリビジョン
(コミットID)で残すようにした(Jenkinsでの展開時に自動で記
録する仕組み)
こうして
● データ周りを整備して禍つヴァールハイトが無事にリリース出
来ました!
まとめ
● データの保全がされていない
○ → Gitを使ったマスタデータ管理
● 時期に応じたデータの切り分けが出来ない
○ → 過去のデータ更新履歴を残す仕組み
● サーバー環境が少ない
○ → Jenkinsを使ったデータ更新作業

Más contenido relacionado

Más de KLab Inc. / Tech

ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営KLab Inc. / Tech
 
「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発KLab Inc. / Tech
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテストKLab Inc. / Tech
 
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術KLab Inc. / Tech
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜KLab Inc. / Tech
 
KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷KLab Inc. / Tech
 
Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話KLab Inc. / Tech
 
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜KLab Inc. / Tech
 
属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話KLab Inc. / Tech
 
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーションKLab Inc. / Tech
 
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介KLab Inc. / Tech
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeKLab Inc. / Tech
 
ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話KLab Inc. / Tech
 
運営型モバイルゲームの運用について
運営型モバイルゲームの運用について運営型モバイルゲームの運用について
運営型モバイルゲームの運用についてKLab Inc. / Tech
 
Adobe AIR で作る カジュアルゲーム開発
Adobe AIR で作る カジュアルゲーム開発Adobe AIR で作る カジュアルゲーム開発
Adobe AIR で作る カジュアルゲーム開発KLab Inc. / Tech
 
個人情報の保護となりすまし対策~KLabのゲーム内通貨の払戻のシステムの場合~
個人情報の保護となりすまし対策~KLabのゲーム内通貨の払戻のシステムの場合~個人情報の保護となりすまし対策~KLabのゲーム内通貨の払戻のシステムの場合~
個人情報の保護となりすまし対策~KLabのゲーム内通貨の払戻のシステムの場合~KLab Inc. / Tech
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​KLab Inc. / Tech
 
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜KLab Inc. / Tech
 
モバイルオンラインゲーム運用のための開発
モバイルオンラインゲーム運用のための開発モバイルオンラインゲーム運用のための開発
モバイルオンラインゲーム運用のための開発KLab Inc. / Tech
 

Más de KLab Inc. / Tech (20)

ゲーム開発を知らない人にも分かる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への取得・更新に後から対応した話
 
運営型モバイルゲームの運用について
運営型モバイルゲームの運用について運営型モバイルゲームの運用について
運営型モバイルゲームの運用について
 
Adobe AIR で作る カジュアルゲーム開発
Adobe AIR で作る カジュアルゲーム開発Adobe AIR で作る カジュアルゲーム開発
Adobe AIR で作る カジュアルゲーム開発
 
個人情報の保護となりすまし対策~KLabのゲーム内通貨の払戻のシステムの場合~
個人情報の保護となりすまし対策~KLabのゲーム内通貨の払戻のシステムの場合~個人情報の保護となりすまし対策~KLabのゲーム内通貨の払戻のシステムの場合~
個人情報の保護となりすまし対策~KLabのゲーム内通貨の払戻のシステムの場合~
 
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
 
cedec2021
cedec2021cedec2021
cedec2021
 
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
 
モバイルオンラインゲーム運用のための開発
モバイルオンラインゲーム運用のための開発モバイルオンラインゲーム運用のための開発
モバイルオンラインゲーム運用のための開発
 

Último

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Último (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

禍つヴァールハイトを支えるデータ更新作業について