『モンスターストライク』を支えるエンジニアの働き方とは?インゲームとアウトゲームの違いは?ミクシィのモンスト事業部エンジニアのお二人に聞いてみました!
全世界5,700万(※2022年3月時点)ユーザーを誇る大人気スマートフォンアプリ『モンスターストライク』を運営する株式会社ミクシィ。今回は、『モンスターストライク』の開発を手掛けるエンジニアの皆様にインタビュー!開発の流れから、領域別の仕事内容、ミクシィで歩んできたこれまでについて、詳しくお伺いしました!
モンスト事業部について
・まずはお二人のご担当業務について教えて下さい
佐々木
『モンスターストライク(以下、モンスト)』のクライアントサイドエンジニアで、アウトゲーム部分を担当しています。
アウトゲームは、クエスト以外のホーム画面やリザルト画面などが対象となり、UIデザインチームと協力しながら実装を行っています。またサーバー間のやり取りを調整し、快適にゲームを楽しめるような環境構築も行っており、『モンスト』の裏側を支える事が担当です。
篠崎
私は『モンスト』のインゲーム部分を担当しています。
インゲームは、クエストに入ってから行われる全ての挙動が対象になっており、ストライクショット、友情コンボといった演出やギミック(クエスト内で展開されている障害物や仕掛け)の実装が担当範囲になります。
・インゲームはクエスト、アウトゲームはクエスト以外という分け方になりますか?
篠崎
基本的にはその認識で間違いないです。インゲームがクエスト内、アウトゲームはクエスト以外の全画面と領域が分かれています。
インゲーム部分では、ストライクショット、友情コンボの実装が行われるので、企画の方に演出を作って貰ったら、演出のタイミングを設計します。ギミックによってアニメーションが再生される場合も、挙動の実装と制御が主な業務になります。
佐々木
インゲーム以外の部分全てを担当しているのがアウトゲームです。
ホーム画面、モンスター編成メニュー、受け取りボックスと多くの要素があり、システム部分のサーバーAPI通信、ゲーム外のビルド環境の構築等もアウトゲーム側の担当部分です。
インゲームエンジニア:篠崎様
・初めにインゲームの篠崎様にお伺いします。ストライクショットや友情コンボといった主要機能は、どのようなフローで実装されていますか?
篠崎
『モンスト』では1ヶ月ごとにバージョン開発があり、エンジニア、デザイナー、企画とのキックオフミーティングが行われます。
その際に、企画チームが出してくれた各ギミックを基に、どのように実装するか、デザインはどうするか、プログラムはどう制御するかを決めていきます。その後仕様が決まったら、デザイナーと演出面をすり合わせながら、二人三脚で実装していき、挙動に漏れがあれば修正していくという流れになります。
・企画の方からはどのようなギミックが提案されるんですか?
篠崎
キャラクターやキャンペーンにより様々です。
最近実装したギミックの転送壁は、まさに今実装されている仕様通りに企画の方から提案を受けました。
転送壁は、ステージ内に配置された転送壁に触れると、設置されている転送ポイントからモンスターが出てくる仕様で、移動したキャラクターは減速するという動きを設計しています。
企画が上がってきた際は、細かい仕様で気になる部分、また他のギミックとの兼ね合いで実現出来るか?を調査し、実現可能であれば実装に進んでいきます。
〇転送壁
・仕様面ではどのような要望がありますか?
篠崎
『モンスト』のキャラクターには、敵に反射するタイプと、敵を貫通するタイプがあり、壁接触が原因で起こる演出もキャラクターごとに分かれています。
先ほどの転送壁では、「転送壁に触れたら、キャラクターの挙動を起こさないようにする」という要望があったので、それが実現可能な要素を洗い出して実装しました。
とはいえ、エンジニアだけだと調べきれない部分もあるので、『モンスト』のQAチームとも連携しながら設計を進める事もあります。
『モンスト』はローンチから8年以上運営しており、キャラクターの数も膨大で、壁接触で何かが起こるキャラクター全てを見る事は中々難しい。僕らが大枠で挙動を確認したら、見切れなかった細かい部分をQAチームにもチェックしてもらう流れです。
・インゲームを担当するうえでの魅力はどんな部分ですか?
篠崎
“動きを作れること”は開発していて楽しいですね。
デザイナーと協力してストライクショットを実装する際も、定期的に行うコラボだとIPごとに特徴も違うので、打合せの中でいかに実現出来るかを考えてリリースする事への感動があります。
また、毎週木曜日には公式YouTubeチャンネルで『モンストニュース』を発信しており、自分が携わった演出に対するユーザーからの反応もリアルタイムで見ることが出来ます。
もちろん、良い反応も悪い反応もありますが、フィードバックが沢山貰えるのは楽しい所ですね。
・業務内ではどのように工夫されていますか?
篠崎
先ほどの転送壁の例もですが、『モンスト』のクエスト内には多くのギミックがあり、新機能を実装する際も、他要素との兼ね合いをよく考える必要があります。そこを忘れると、一歩間違えたら重大なバグが発生してしまうので、実現可能かという部分はかなり見ていますね。
『モンスト』は定期的にIPコラボをしていますが、デザイナーが再現したい演出を調整しやすい様な値を出すといったクオリティアップのための実装が多いです。
アウトゲームエンジニア:佐々木様
・アウトゲーム面について、実装までの流れについて教えて下さい
佐々木
まず、画面遷移や仕様をまとめた企画書を基に、開発メンバーで要件定義を行い、完成した企画書からUIデザインチームが、実際の遷移図にしていきます。
UIデザインチームから提出された画面遷移図を見て、我々が実際に実装していく流れになります。
・要件定義が完了してから実装までの期間はどれくらいですか?
佐々木
バージョンによって開発期間の長さは違いますが、基本的には1バージョンで完結させる案件がほとんどで、長いと調査などから始めて数バージョンかかる案件もあります。
クエストのスタートまでは全てアウトゲームが担当するので、ユーザーが見るうえで不便は無いか?という視点で変更、実装が行われていきます。
・アウトゲームの実装コンセプトのようなものはありますか?
佐々木
別途で設けているわけでは無いですが、ユーザー体験や速度の向上は常に意識しています。
速度が遅くなり重くなるとゲームも遊びにくくなり、データ量の変化でUIが崩れることも考えられます。そういった不具合や不便が起こらないように意識して設計を行っています。
・不具合を修正する際はどのようなフローで進んでいきますか?
佐々木
社内にて日々状況検証を行う事で不具合が見つかるケースや、ユーザー起点で運営側に報告されるケースがありますが、それぞれの報告を基にまずはQAチームが該当状況を再現していきます。
その再現を基に、プログラム的にここが引っ掛かっているのではないか?という点を我々エンジニアで調査し、問題が見つかれば修正します。その後再度QAチームで検証してもらい、問題無く動作していればリリースするという流れになります。
該当箇所を修正した時は、他の箇所に問題が起こらないか?修正したせいでユーザー体験や速度が落ちないか?という部分を見ながら進めていきます。
・アウトゲームを担当する上での魅力はどのような点ですか?
佐々木
エンジニアとしての腕が試される点が魅力だと感じています。
アウトゲームはインゲームのように、派手なエフェクトや躍動感のある動きを作るわけでは無く、ユーザーの目に留まりにくいという意味では少し地味な印象を受けるかもしれません。
ただ、『モンスト』は8年という長い期間と、5,700万人を超えるユーザーという膨大なデータがあります。そのデータを使って、いかに表示速度を上げることが出来るか?そのためのコードはどうするかという部分は、エンジニアとしての腕の見せ所になります。『モンスト』を楽しく快適に遊ぶための様々な施策を行うので、職人的な働き方が多い部分がこの仕事の魅力です。
『モンスト』のアウトゲームは徐々に改善を繰り返していて、見えない部分の速度だったりがどんどん良くなっていっていて、その技量が試されるアウトゲームは縁の下の力持ちのような存在だと思っています。
モンスト事業部のエンジニアとして
・インゲーム/アウトゲーム問わず、エンジニアの方から提案し実装された機能はありますか?
篠崎
インゲームだと、『終焉の戦火 ラグナロク』のストライクショットは、エンジニアから提案し実装された機能ですね。
その他にも、友情コンボではクロススティンガーや衛星弾。ストライクショットでは壁ループショット、味方順繰りショット。ギミックは撃種変更パネル、テレポトンネルなど、エンジニアから提案した機能がリリースまで実現される事は多いです。
〇『終焉の戦火 ラグナロク』ストライクショット
・エンジニアの方から提案し実装される際はどのように仕様が決まるんですか?
篠崎
例えばストライクショットの提案をする際は、エンジニアの方でまずは考案し、企画の人も含めてユーザー視点で欲しい演出などをすり合わせながらブラッシュアップしていきます。エンジニアの発案も検討してくれるので、自分の案が採用される事もインゲームの楽しい点です。
・アウトゲームはいかがですか?
佐々木
システム面でアウトゲーム側から提案する事が何度かあります。
例えば、『モンスト』内にモンスポットというコンテンツがありますが、これはゲーム内で使用できるアイテムやパワーを、位置情報システムを利用して全国各地で入手できる機能です。
モンスポットのアイテム自動回収機能や、位置情報データの刷新などは、アウトゲーム側から提案した機能です。
・実際モンスト事業部で働くお二人の中で、『モンスト』の魅力はどんな点だと思いますか?
佐々木
自分がこの会社に入った理由にもなっていますが、『モンスト』は“コミュニケーション重視のゲーム作り”という部分が絶対にブレない事が魅力です。ソロプレイだけでなくマルチプレイが実装されたことにより、友達と顔を合わせて楽しくプレイでき、ゲームを通してコミュニケーションを楽しむことが出来る事が魅力だと感じています。
篠崎
シンプルかつ戦略的に楽しめる事ですね。
ゲームの遊び方自体は引っ張って遊ぶ簡単なルールですが、ステージごとのギミックや設計、キャラクターの演出など、作り手としても考える事が多いです。シンプルながら状況に合わせた戦略が必要になるのは、ゲームとしての面白味です。個人的には報酬の仕組みも気に入っていて、強くなればなるほど報酬も高く、達成感を味わえます。
・今年で3年目になるお二人ですが、2年目を振り返ってみていかがですか?
篠崎
企画やデザインなど他職種の方と多く関わるので、1年目に比べて仕様の説明や他部署への働きかけは大分上手くなってきたなと感じています。
また、1年目は機能実装が精一杯でしたが、今は機能実装をするとどんな要素との兼ね合いが発生するかという観点が広がったので、予めリスクを回避できる創造力も養えてきたと思います。
最近は難度の高いギミック実装を担当させて貰う事が多くなってきたので、スケジュールや進め方といったハンドリング部分をより高めていきたいと思っています。
佐々木
『モンスト』は非常に大きいプロダクトですが、最近は実装時に起こりうる影響をしっかり考えられるようになりました。
1年目はその辺りが分からず、ミーティングでも上手く発言できなかったのですが、上司に質問して相談する中で理解も深まり、今では会議でも自分の意見を発言できるようになったのは成長した部分かなと感じています。
・モンスト事業部の先輩からはどんなことを学べましたか?
佐々木
案件前の準備と、情報整理、コミュニケーション力ですね。
1年目は会議に出ても分からない事が多く、サポートしてくれる上司に殆ど任せてしまっており、準備量も不足していました。案件に入る前に考えておくべき要素の洗い出し、その要素のどこを見るべきかという情報整理、部下への接し方など、スキル面、メンタル面で学べる事が多かったです。
3年目になり後輩も増えてくるので、自身の経験も併せてしっかり教えていきたいと思っています。
篠崎
スキル面では効率的なコーディング方法。マインド面では他職種とのコミュニケーション力です。
『モンスト』くらい大規模かつ長期開発になると、新機能を実装する際もこれまでのノウハウが蓄積されているので、それを踏襲していく事で効率的に開発を進めていくスキルを学ぶことが出来ました。
コミュニケーションでは主に他職種とのかかわり方です。
企画やデザインの方に仕様を確認してもらう際も、詳細を分かりやすく伝えないとこちらの意図が伝わらず、相手を知らないと意図を汲み取ることが出来ません。徹底的に先輩の真似をしてきたので、後輩にも指導していきたいですね。
・最後に、今後モンスト事業部でどのように働いていきたいか教えて下さい
篠崎
インゲーム面で色々な実装が出来るようになってきたので、より多くの要素を実装できる様働いていきたいです。その中で、事業部の業務効率化を進めていけるくらいに成長していきたいと思います。
佐々木
職人としての働き方を、アウトゲームエンジニアとして心掛けていきたいです。『モンスト』の目に見えない部分を日々改善していき、今以上に業務を極める事に集中していきたいです。
・ありがとうございました!
ゲーム業界経験者が転職するなら
GAME CREATORSを運営しているリンクトブレインでは、ゲーム業界に特化した転職エージェントサービスを提供しています。
ゲーム業界に精通したコンサルタントが、非公開求人を含む3,400件以上の求人の中から、あなたの希望や適正にあった最適な求人をご紹介します。
あなたの転職活動を成功に導くためにサポートいたしますのでお気軽に登録してください!