Special
» 2016年01月27日 10時00分 UPDATE

“世界を変えたい”エンジニアを求む:大ヒットゲーム「モンスターストライク」の開発は、Jenkins、GitHub、JIRA、Slack、DeployGateでどう自動化しているのか

大ヒットゲーム「モンスターストライク」を創り出したミクシィの「XFLAG(TM)〈エックスフラッグ〉スタジオ」がエンジニアを募集中。その狙いや、「自動化」が進むXFLAGスタジオの開発体制/ワークフロー、使用技術などを現役エンジニアに聞いてみた。

[PR/@IT]
PR

 「XFLAG(TM)〈エックスフラッグ〉スタジオ」をご存じだろうか。あのミクシィが仕掛けた大ヒットゲーム「モンスターストライク」(以下、モンスト)を作り出したスタジオで、“ケタハズレな冒険を”をテーマに、ゲームや映像コンテンツを世界に向け発信している。現在ではニンテンドー3DS(TM)版のモンストもリリースし、YouTubeではアニメーションの配信を行うなど、多方面での展開が進んでいる。

 そのXFLAGスタジオが今、冒険を共にする「エンジニア」を募集している。その狙いを、同スタジオ システム開発部の吉池佑太氏、五嶋壮晃氏、そして同社 海外運用部 企画グループ 台湾チームの六島良美氏に聞いてみた。

mixi_jidouka1.jpg オフィスにおけるミーティングの様子(左から吉池氏、五嶋氏、六島氏)

「自動化」が進むXFLAGスタジオの開発体制/ワークフロー

 XFLAGスタジオでは、バトルゲームに特化し、モンスト、新作ゲームタイトルを手掛けている。外注のスタッフも含めれば、スタジオメンバーは約400人。渋谷のミクシィオフィスが活動拠点だ。

 吉池氏は主にモンストの海外展開におけるサーバサイド・クライアントサイドの開発とともに、今後発表予定の新規タイトルの開発にも携わっているという。五嶋氏はスタジオ全体の開発環境やその利便性を向上させることや、開発自体の支援を行うグループにおり、現在はモンスト海外展開版のクライアントサイド開発を行っている。

 現在、モンストの新バージョンをリリースする際、開発着手からリリースまでにかかる期間は約1.5カ月。もちろん開発内容にもよるものの、主なフローは下図のようになっている。

mixi_jidouka2.gif 開発フロー(開発着手からリリースまで約1.5カ月間のサイクルで行っている)

 モンストのアップデートには、企画者やデザイナーなど複数のメンバーがそれぞれの案を持ち寄り、それをアップデート内容に反映させていく。新規キャラクターやステージ、そのためのイベントを作る際には、各部署が密接に連携しながら進めることになる。大まかな仕様策定の後に、新規のリソースデータ(ステージのマップデータや、新キャラクター画像など)を作り、エンジニアが新規のロジックの開発を進め、QAフェーズに入る。しかし、すんなりと開発が進むとは限らず、相談しながら進めることが多いそうだ。そうした場面において「自動化」は必須となる。

mixi_jidouka3.jpg ミクシィ エックスフラッグスタジオ システム開発部 五嶋壮晃氏

 XFLAGスタジオでは、この自動化に「Jenkins」を活用。エンジニアやデザイナー、六島氏のいる企画部とは「Slack」や「GitHub」を介してつながっており、全ての本番環境への更新データはプルリクエストを通して管理されている。これにより、ビルドやテスト、実機確認がほぼ全て「自動化」され、エンジニアはもちろん、デザイナーや企画者が、常に最新の開発版アプリを試せる仕組みが確立されている。

 下記は、GitHubのプルリクエストにひも付く自動化の一例だ。

  • サーバコードのテスト実行
  • クライアントコードのビルドと、テスト端末への配信
  • ゲームリソース(画像・サウンド・テキスト翻訳)のパッケージ化
  • マスターデータ(ステージ・キャラクター)のバリデーション

 五嶋氏によると、この開発フローでは「Jenkins」「GitHub」だけではなく、「DeployGate」をフルに活用しているという。開発中のコードをマージ前に検証したいニーズがあったので、プルリクエストの段階のコードをDeployGateに流し、手元の端末で確認する仕組みも作ったとのことだ。

 さらにXFLAGスタジオでは、コミュニケーションツールとしてSlackを、プロジェクト管理ツールとして「JIRA」を、全員で活用している。GitHubとも連携し、マージが完了したらSlackにその情報を流すなどの連携も行っている。エンジニアだけではなく、企画部、QAチームも同じツールを使い、情報はスタジオ全体で満遍なく共有する体制があるのだ。

デザイナーや企画者もツールをフル活用、エンジニアとの連携を重視

 ゲーム制作においては、エンジニアはデザイナーや企画者と協業し、スムーズなコミュニケーションが必要だ。その開発体制は、企画者側からどのように映っているのだろうか。

mixi_jidouka4.jpg ミクシィ 海外運用部 企画グループ 台湾チーム 六島良美氏

 六島氏は「エンジニアはデータベースにステージ情報、キャラクター情報があるかどうかは把握しているが、その内容の全ては把握していない。そのため、企画側でそのデータが正しいものか、フォーマットは合っているかをチェックするようにしている。例えば、ステージデータやモンスターの配置、倒したモンスターが落とすアイテムのドロップ率、ドロップ内容などを“可視化”するツールがある。このツールのおかげで事故を防ぐことができる」という。

 さらにその開発プロセスを深掘りしよう。実際の開発版アプリが手元のスマートフォンで動くまでに、三つのチェックをしているという。

 一つ目はデータフォーマットのチェック。「マスターデータのリポジトリへのコミットに対して、フォーマットが正しいかをチェックする。これはGitHubのプッシュにJenkinsが応じ、そのチェック結果をSlackに通知する。こうすることで、担当者以外も現在のデータの状況が確認できる」(吉池氏)

 二つ目はデータの値のチェック。これはWebブラウザ上でのプレビューツールを使い、ドロップ率、ドロップ内容などステージのデータを可視化、モンスターの配置なども確認できるようにしている。

 三つ目は実機確認でのチェック。開発版アプリを、DeployGateを通じて配信し、スマートフォンの実機で確認できるというものだ。

mixi_jidouka5.jpg 開発版アプリのCIフロー図

 これらの自動化フローは海外展開向けのモンストの開発で主に進められている。2016年以降は、モンストの海外展開をさらに進めていく予定だ。これらは基本的に全て日本のオフィスで開発が行われており、その成果が世界に向け発信されている。

 エンジニアはゲームに必要なデータ群のフォーマットが正しいかのレビューを行い、デザイナーや企画者が正しい場所に正しいデータを置けるよう、社内向けツールの作成でフォローする。「画像のアップロード場所を見て、さらに加工してリポジトリにコミットするのを自動化する。命名ルールをチェックすることなどがエンジニアとしての役割」(五嶋氏)。

 もちろん、チャットや口頭でのコミュニケーションも重要だ。「よく開発にはコミュニケーション能力が必須といわれるが、ここではチャットができれば大丈夫」と吉池氏は笑う。「でも、問題を抱え込まず、チャットでも口頭でも、課題を発信してくれれば、全く問題ない」(五嶋氏)。

必要なのは「仕事を楽にする人」「ものづくりが大好きなエンジニア」

 今、XFLAGスタジオが求めるエンジニア像、それは「“ゲーム開発”に囚われず、いろいろな人を巻き込んでリードしてくれる人」だ。特に、これまで大規模なシステムに携わり、高負荷、多くの処理をさばいていたような経験があると、なお良いという。

mixi_jidouka6.jpg ミクシィ エックスフラッグスタジオ システム開発部 吉池佑太氏

 「スペシャリスト的な人がいれば、それはとても頼りになる。しかし、何でも自分でやって、細かなところを自分で決めながら開発することが多い。周囲の人を巻き込み、チームをリードしてくれる人。能動的に動ける人であれば、自然と良いものができていくと思う」(吉池氏)。

 五嶋氏も、「サポートツール作りはそもそも“めんどくさがり”がやる仕事。『自動化で済ませようよ』というマインドがあるからこそ成り立つ。そういう良い意味で“怠惰”な人は合っている。チーム内に残る課題を見つけて『アレやっておきました!』という人がいたら、とてもうれしい」と述べる。「もちろん、ゲームのサーバを運用していたという経験者はありがたい。ゲーム特有のアーキテクチャを理解していると、さらに良い」。

 企画の立場として、六島氏は“いてほしいエンジニア”像をこう語る――「“ものづくりが大好きなエンジニア”が一緒に働いてくれるとうれしい。良いものを作ろうという気概があるエンジニアならば、一緒に働いて楽しいと思う」。

 ご存じのように、ミクシィはSNS「mixi」のサービスを運営している。現在XFLAGスタジオで働くエンジニアの多くも、Webサービスであるmixiを支えてきた。XFLAGスタジオのシステム開発部では、オンプレミス環境だけではなく、AWS関連サービスを使っている。システム全体の構成管理から、ゲームのAPI開発、そしてそれらの運用まで、一つのチームで担当している。

 こういった開発現場であるため、ゲーム業界出身者ではなくとも、これまでWebサービス開発の経験がある人は力を発揮できる分野でもあるという。また、サーバ技術全般を扱うことになるので、経験がない部分は伸ばせるだろうし、経験がある部分は遺憾なく発揮できる。スキルの底上げができる場所である。

 モンストはiTunes App StoreやGoogle Playストアのランキングにおいて、日本以外の国でも1位を飾れるようになり、「XFLAGスタジオは世界を変えるほどの場所」(吉池氏)であるという。しかし、吉池氏は「まだまだやれる」と意気込む。

mixi_jidouka7.jpg

 「XFLAGスタジオの開発体制は、これまでの成果で確立されている部分もあり、モンスト以外のタイトルも発信していける土壌にある。しかし、今後さらにスタジオが拡大していくためには、改善する余地がまだまだある。効率良くできる部分、攻められる部分がある。一緒に夢に近づけていけるような人を募集したい」(吉池氏)

 五嶋氏は続ける。「企画者とのやりとりや、リリースのためのフローで自動化を改善できる部分がまだある。そのままにして次の開発を進めてしまうと、改善のプロセスがおざなりになってしまう。『社内のダメなプロセスを、自分の力で変えていく!』という方が一緒に働いてくれるとうれしい」

 世の中にない、どこにもないもの、見たことのない価値を生み出すことを目指し、ドキドキワクワクするゲームや映像コンテンツを提供していくというXFLAGスタジオでは、モンスト、新規タイトル開発においてまだまだやれることが多い。今回紹介したような開発環境やフローを自ら作り、“世界を変えたい”エンジニアには魅力的な職場ではないだろうか。

Copyright© 2017 ITmedia, Inc. All Rights Reserved.


提供:株式会社ミクシィ
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2016年2月26日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。