2020年12月22日、新たなオンラインセミナーとして、「The Method #0 ~モンストのギミック開発フロー紹介~」を開催しました。“The Method”とは、さまざまなプロダクトにおいて実践されているノウハウやメソッド惜しみなく共有する「参加型のオンラインイベント」です。
さて、第1回となる今回は、『モンスターストライク(以下、モンスト)』のギミックに関する話です。ギミックは、モンストを面白くする上で欠かせない要素の一つ。開発現場では、どのような“ものづくり”をしているのか…本記事では、配信された内容を簡潔にまとめて、紹介していきたいと思います。
登壇者の紹介
まず最初に登壇者の紹介です。今回のイベントで話をしてくれるのは、モンスト事業本部のクライアントエンジニア、角 龍徳(かくたつのり)。現在は、国内版モンスターストライクで、ストライクショットや友情コンボなど主にギミックの実装を担当しています。
角 龍徳(かくたつのり)
複数社のゲームデベロッパーにてゲーム開発を経験したのち、2016年2月ミクシィ入社。国内版モンスターストライクで、ストライクショットや友情コンボなど主にギミックの実装を担当。フロントエンドを横断してUI周りのアウトゲーム側の実装も行う。
▲配信中の様子
その後、司会進行役の「ミクシル」編集長・深町からの質問に、クライアントエンジニア・角龍徳氏(かくたつのり)が答えていく形でイベントは進行していきました。
深町 早速ですが、モンストにおけるストライクショット(以下、SS)の開発フローについて教えてください。
角 はい、まずは企画チームが大まかな仕様を決めます。その後、VFXチームや僕らエンジニアチームも合流して、現実的に実装可能な仕様に詰めていきます。エフェクトを作ってもらったり、コーディングをしたり、企画の方に確認をとったり、何度も繰り返して完成へと持っていきます。実装が完了したら、QAチームにバグの確認をしてもらい、都度修正していきます。発見された不具合への対応が終わったら、後はリリースを待つ、という流れになります。
深町 こう見ると一般的なゲーム開発と似た開発フローと捉えてよさそうですね。ちなみに、新しい開発案件は企画チームからのものがほとんど?
角 企画チームからの依頼が中心ではありますが、そうじゃないものもありますね。
深町 エンジニアから提案することもあると?
角 あります。エンジニアから提案して、実装されたものも多くあります。たとえば、「ラグナロク」というキャラが使うSSの挙動は、僕が提案したものです。モンスト上の外壁に当たると跳ね返るものを、跳ね返らず反対側の壁から出てくる、というものです。
もう一つは友情コンボの「チップソー」。敵を切り刻みながら貫通していく時に速度が下がるので、大柄の敵によりダメージを与えやすい、そんな特徴があります。
深町 両方とも新しい演出でしたよね。こういったアイデアはどこから着想を得ているんでしょう。
角 僕の場合は、いろいろなゲームからヒントをもらうことが多いですね。「チップソー」でいうと、もともとはドリルのデザインだったんですよね。でも、モンストに取り入れてみると、ドリルの先端が必ず敵に突き刺さらずに見栄えが悪いケースがあったんです。そこで、丸いチップソーの形にすればどの部分に当たっても見栄えが良いのではないか、と変化した経緯があります。
深町 着想を得るゲームについてですが、これは現在のゲームに限らない?
角 昔のゲームからヒントをもらうこともたくさんあります。実際に自分が遊んだものはもちろん、ゲーム実況動画を見て「ここが面白そう」「モンストで使えるかな」などのメモを残しています。
深町 なるほど。採用されやすい提案とかって共通点があるんでしょうか?
角 今までになかった“モンストの遊び方”が作れていると通りやすい印象がありますね。ユーザーに新しい価値を提供することができますから。あとは、テクニック的なところでいうと、提案時に実際の挙動が見えるものがあると伝わりやすいです。なので、エンジニアは事前にモックを作ることが多いですね。
深町 SSや友情コンボの開発期間はどのぐらいですか?
角 案件にもよります。ライトなものだと1日、重たいものだと1週間ぐらいかかることもあります。
深町 けっこうバラバラなんですね。実際に開発がスタートするときは、どのぐらいまで内容が決まっているんでしょうか?
角 開発の流れで、重要な点やゴールなどの致命的な点を決めますが、細かいところは決めずにスタートすることが多いですね。図にすると、こんな感じ(笑)青い部分が決まっている箇所です。
深町 ガチガチに決めてスタートするわけではないと。
角 ええ、決めきれないというのが本音でしょうか。実際の挙動を見てから良し悪しが判断されて仕様が変わることはありますし、無理に決めても曖昧なのは変わりませんから。
深町 重要なところだけ決めておくというのは、たとえばどういうこと?
角 たとえばキャラの動きの中で「敵に向かって移動する」ということは決めているけど、具体的な動き方についてはSSごとに変わるので後で決めよう、とかそんな感じですかね。
深町 なるほど。こういう案件を1人のエンジニアは、どのぐらい担当しているんでしょう?
角 案件のボリュームにもよりますが、だいたい5件前後かな。案件ごとにスケジュールが少しずつかぶりながら、進んでいくようなイメージです。
深町 モンストの開発全体像が見えてきたので、続いて、角さんが取り組んできた案件についてお聞きしたいと思います。これまでで、自分にとってチャレンジだったと思われる案件はありましたか?
角 いろいろありますが…中でも思い出深い案件は「エナジーハート」ですね。もともとは「エナジーサークル」と呼ばれるもので、その名の通りサークル(=円形)だったんです。エナジーサークルの円形をハート型にしたい、という話でスタートしたんですが、そもそも「座標ってハート型になるよう計算で出せるの?」という課題にぶつかって。当時の僕はエナジーハートを積むキャラが可愛かったからという理由だけで「やります!」と、見切り発車しました(笑)。
深町 できるか分からない状態でスタートしたってことですよね?どうやって完成できたんでしょう?
角 調べていったら、ハートをつくる関数が世の中にはたくさん存在していました。資料かき集めて、エクセルで計算したり、モンストのコードに落とし込んだり、パラメーター化したり…と、一つずつ「エナジーハート」の完成に近づけていきましたね。
深町 そうだったんですね。もう一つの「ブーメラン」というのは?
角 これも記憶に残っている実装実例です。モンストのブーメランはちょっと特殊な動き方で、発射された後、左回りに曲線を描いて戻ってくるんですが、この動きをプログラムするのはとても大変でした。というのも、あるだろうと思っていた曲線計算の機能がなくて…ないなら作るしかない!とゼロから形にしていきました。
深町 もしクリアできていなかったら、もっとつまらないブーメランだったのかもしれない?
角 それはあります。ブーメランには”ロマン”のようなものがあるようで、開発陣も思い思いのブーメランの動きを語ってました。カッコイイ動きになるだけで夢が広がるし、ワクワクしちゃいますね。なので、きちんと形にできて良かったと充実感は大きかったです。
深町 ユーザーが楽しんでくれることを目指して、チャレンジを続けてきたということなんですね。あとは、具体的なコーディングというところでは、意識してることってありますか?
角 最近だと参考書を読むようにしていますね。特にご紹介する2冊に書いてあることを意識していて、誰にとっても読みやすいコードを目指しています。
深町 そう思われるようなきっかけがあったのでしょうか。
角 昔は、かなり自分本位なコードを書いていたんですよ(笑)。自分のコードの悪い部分に気づくことすらできませんでした。でも、数カ月たって読み返してみると、自分が書いたものなのに良く分からなくなったりして、これは良くないなと。自分だけじゃなく同僚や後輩が読む可能性もありますから、コード解析の時間が削減できたらよいなと思って取り組んでいます。
深町 最後に、角さんがモンストの開発に向き合う上で大事にしていることや、仲間に持っていてもらいたい考え方についてお聞きしたいです。
角 僕自身がモンストの開発に取り組む上で一番大事にしているのは“ゲームが好き”という気持ちです! どんな状況であれ、ゲームを作る情熱を持ち続けていたいです!
そして、一方で忘れてはいけないと思っているのは、あくまでも実際に遊ぶのはユーザーということです。自分もユーザーの一人なので自分が楽しめることも大事ですが、自分以外のユーザーさんにも楽しんでもらいたいです。ユーザーの中には、遊び慣れている人もいれば、全くの初心者という人もいます。そういったさまざまなユーザーの気持ちになって遊んでみる、楽しめるかどうかをフラットな視点で考えてつづけることが大切だと思っています。
深町 なるほど。技術的な話以上に、ゲーム作りに向き合うマインドを重視されているんですね。他には、ありますか?
角 今の環境に固執せず、新しい環境に慣れていくという気持ちは大事かなと思っています。というのもの、開発環境は数年前と比べて何度も大きく変わっています。これからも変わっていくと思います。だから、今のやり方が最適ではない、きっとまた新しい方式になっていくんじゃないかと思うんです。
新しい環境についていけるよう、幅広くアンテナを伸ばして、備えをしておきたい。ついていくだけでなく、自分から提案していけるように知識・技術を身につけていきたいと思いますね。
質疑応答
最後は質疑応答の時間。The Methodはプロダクト開発におけるノウハウやメソッドを共有する「参加型のオンラインイベント」ということで、視聴者のみなさんから寄せられた質問にもリアルタイムで回答!ここでは、回答したいくつかの質問を抜粋してご紹介していきます。
Q.最近、一番難しかった実装は何ですか?
人気アニメとのコラボ企画があって、そのSSの実装が時間かかりましたね。1週間以上はやってたんじゃないかな。
何が難しかったかというと、どういう風に表現すれば、そのキャラクターの魅力を出せるかという点です。原作があるものだから、それに近いかたちでモンストに落とし込むことが求められているんですよね。とても時間はかかりましたが、エフェクトを作る方と一緒に協力しながらつくり上げていき、結果的に自分としてもすごく納得のいくものができました。
▲視聴者からの質問に回答する角
Q.社内で人気のギミックはありますか?
好き/嫌いは、それぞれにあるんだろうけど、個人的におもしろいなと思っているのは、“ベクトルウォール”ですね。これまで壁に当たった後の動き方は一緒だったのに対して、ベクトルウォールは、無理やり別の方向に変わっちゃいます。この壁にあたると、こっちに跳ね返るから、この敵に当たる…という基本は変わりませんが、狙い方が今までのモンストとは違う遊び方だと思うんです。そういう点で面白さを感じていますね。
Q.今まで実装した機能で、ユーザーの反応が一番大きかったものは?
人気キャラとコラボしたSSや友情コンボは、やっぱり評判になります。最近だと、名前は出せないですが社会現象を巻き起こしている人気アニメとコラボしたのですが、かなり話題になりました。実装を担当するエンジニアも、そのキャラクターにめちゃくちゃ愛を持って臨むから、良くも悪くも全く妥協しない(笑)。だから、良いものができやすい。僕の過去の経験から見ても、“愛情ベース”で作ったものは、優れたものが多い気がしてますね。
最後に
第1回目の「The Method」では、モンストのギミック開発フローに始まり、開発期間、担当案件数、手掛けられる業務範囲、ゲームエンジニアに大切な考え方までを紹介してきました。約40分ほどの時間でしたが、ミクシィのノウハウ・メソッドにあふれた時間になったのではないでしょうか。また、開発現場の最前線で活躍するエンジニアの具体的な体験談から、ミクシィのカルチャーも感じていただけたらと思います。
オンラインセミナー「The Method」は、今後も開催予定。様々な“メソッド”に焦点を当てながら、細かな技術のノウハウなどをお届けしていくので、現役のゲームエンジニアとして開発業務に携わっている方はもちろん、ゲームエンジニアに興味がある方も、ぜひ次回の開催を楽しみにお待ちください。
※開催が決定次第、イベント告知サイトにてお知らせいたします