モバゲーから提供されているソーシャルゲーム
前編のおさらい
こんにちは。
前編では,
- 目的
プレイヤーが常に新鮮だと感じるイベントやシステム,
成長素材を提供し, 安定してゲームを遊んでもらうこと。 - 特徴
- 1ヵ月に数十回の小規模開発=
「カード追加」 「UI改善」 「小機能追加」 のリリースが発生すること - 1ヵ月に数回の中規模開発=
「ゲーム内イベント」 のリリースが発生すること - 数ヵ月に一度の大規模開発=
「新規ゲームイベント」 のリリースが発生すること - 技術者の調査が必要なユーザサポートへの問い合わせが日に数件~数十件必ず発生すること
- 1ヵ月に数十回の小規模開発=
今回は弊社で行っているDevOpsへの取り組みを,
[Part1:開発サイド] DevOpsを構成する部門要素
本作品でのDevOpsは,
開発するシステムの企画構成をリーンにする
ソーシャルゲームのDevOpsをスムーズに行うためには,
たとえば本作では,
が,
もしユーザが本当にそれを求めるのであれば,
このことは,
開発チーム構成を考える
企画の次はゲーム運営時のチーム構成を考えます。開発チーム編成が,
- メインイベントの開発
- スキル追加とUI/
UX改善 - ユーザサポート
この3つのチームはそれぞれ,
- 企画からの要望による開発
- ゲーム運営からの要望による開発
- ユーザからの要望による開発
に対応しています。これらの開発の中にイベントなどの振り返りで得られた運用
そして,
- 役割が固定されないので飽きにくい
- それぞれの役割の相互理解が深まる
とくに,
ファイル構成を分離する
サーバ上に配置するファイル構成は,
全ファイルを1つのディレクトリ以下にまとめる
システム動作に必要なすべてのファイルを1つのディレクトリ以下に集約します。本作品ではPHPを使用していますが,
これにより,
機能別にディレクトリを分ける
本当に基本的なことですが,
プログラムの設定ファイルをサーバに依存しないようにする
プログラムの設定ファイルは各サーバに依存しない記述にしておきます。本案件ではリスト1のように,
リスト1 設定ファイルの一部抜粋
;スレーブDB接続の定義
db_slave_host = "masterdb"
db_slave_user = "dbuser"
db_slave_passwd = "dbpassword"
db_slave_name = "dbname_001"
;マスタDB接続の定義
db_master_host = "slavedb"
db_master_user = "dbuser"
db_master_passwd = "dbpassword"
db_master_name = "dbname_001"
個別の設定ファイルにサーバ固有情報などを書かないでおけば,