パシフィコ横浜にて8月22日~24日にわたって開催の「CEDEC 2018」。ここでは、8月24日に行われたセッション「モンスターハンター:ワールド」飛躍を支えた3つの開発改革」の内容をお届けする。
新しい「モンハン」を作るにあたって
ステージに登壇したのは、カプコンの深沢巧太氏、酒谷佑一氏、西谷宜記氏の三名。「モンスターハンター」(以下、「MH」)ではしばらく携帯機での発売が続いていたが、「モンスターハンター:ワールド」(以下、「MHW」)は据え置き機での開発となった。
「MHW」を作るにあたっての商品コンセプトは以下の通り。
- 据え置き機で世界最高品質の「MH」
- 次の10年間土台となる次世代の「MH」
- 初めて触れる人がすぐに楽しめる「MH」
具体的には、グラフィックスの高品質化、自然なアニメーション、プレイヤー操作の快適化、気軽なマッチング、生態系、シームレスフィールドなどが挙げられる。これらを実現するために、「MHW」の中でも特に開発を大きく支えることとなった、3つの開発の柱が紹介された。
モンスターとハンターの作り方改革
そもそも「MH」の開発形態はずっとエンジニアが主体となっており、エンジニアが請け負って実現する部分が多かった。例えば、ゲームデザイナーが「このアニメーションの10フレーム目に当たり判定を有効にして」といった指定書をエンジニアに渡すことで、対応が行われていたのだ。他のセクションからも同様で、ハードコーディングが主体の開発だった。
その事情として、「MH」の中身は2004年に発売された初代「MH」のままだったことが挙げられる。過去のコードはそのまま引き継がれ、過去に登場したモンスターやハンターの動きは過去のコードで動かしていた。このシステムの中では大胆な作り方の改革は難しく、これまでの作り方の延長にならざるを得ず、この体制がエンジニア集中型の開発となった理由だったのだ。
このままの体制で「MHW」を作ることになった場合、各分野からの品質要求の激増や、モンスター制御の高度化、複雑な地形への対応、…などといったさまざまな指定書が各部署から寄せられ、エンジニアでは対応しきれなくなってしまう。
そのため、まずは「MHW」を作るためのエディタの開発が行われた。このエディタは「MH」を開発することだけに特化したもので、これにより各自が自身で抱える案件を自己解決でき、加えてクリエイター各自のこだわりを追求できるようになった。
これまではモンスターの行動やエフェクトは、ゲームに実装して動かしてみなければ結果を見ることが出来なかったため、必然的にエンジニアに頼らざるを得なかった。しかしこのエディタによって、エンジニア以外の担当者でもすぐに確認や編集が行えるようになり、エンジニアの負担も大きく軽減したという。
作り方改革:モンスター編
モンスター編では、モンスターエディタが紹介された。「AIエディタ」、「アクションエディタ」、「部位マネージャー」、「コリジョンエディタ」、「バレットエディタ」、「タイムラインエディタ」、「ナビゲーションメッシュ」など、さまざまなエディタがあるが、その中でも今回は特に重要な4つに絞られて紹介された。
部位マネージャー
「MH」と言えば、部位破壊。部位破壊は浪漫。そんな浪漫を作るのが、部位マネージャーだ。尻尾が切れる前と、尻尾が切れた後の姿を見比べてみることができる。
なお、モンスターの通常状態、怒り状態、疲労状態といった表情も、この部位マネージャーで作成されている。いちいちゲームの中で部位を破壊したりしなくても、この独立した環境のなかで確認できるのが最大の利点だ。
バレットエディタ
こちらはその名の通り、モンスターが吐く火球などの調整に使われる。画面上に火球だけを表示させることも可能だが、実際にモンスターを配置して確認することもできる。
タイムラインエディタ
モンスターの動きを司るのが、タイムラインエディタだ。モンスターへの攻撃の当たり判定などもこのエディタ上で行われる。
また、前述のバレットエディタで登場した火球の速度などは、このタイムラインエディタで変更することが出来る。1フレームでの調整が必要なアクションゲームには必須とも言えるエディタで、このエディタで試行錯誤されながら細かい調整が決まっていくのだ。
なお、このタイムラインエディタはアクションエディタや部位マネージャ、バレットエディタ、コリジョンエディタにも応用されている、基礎の基礎部分ともなっているエディタ。
ナビゲーションメッシュ
モンスターの移動通路の最適化をするエディタで、シームレスな「MHW」の世界をモンスターがどのように移動するのかなどを管理している。例えばリオレウスの通常の移動経路、ハンターが卵を奪った時の経路、木から木へと飛び移るモンスターの移動経路といった、さまざまなモンスターの行動がこのエディタで管理されている。
こういったさまざまなエディタの開発によって、「MH」として専門分野の人がこだわれる環境作りを整えた。複雑な地形での姿勢制御や地形ルール、挙動、そしてマルチプレイシステムの制作など、難度が高い事に各自がこだわりを持って挑戦し、ユニークなモンスターの生態系を追求することが可能となったのだ。
作り方改革:ハンター編
次は、肝心のハンターの制作についてだ。
「MH」といえば、日本国内では絶大な人気を誇っていたのに対し、海外での評価は低かった。その理由の一つとして、海外ユーザーテストにて「ハンターの動きがいちいち止められることやスローテンポなのがストレス」という意見が挙がっていた。
例えば、回復薬を使う時に一度立ち止まってから飲むことや、回避時のローリングアクション、抜刀納刀アクションなどが挙げられる。しかし、これらの改革を行おうにも、これまでの「MH」ではベースのシステムが全て同じだったことがあって、改修をいれられなかったという現状があった。
そのため、今回の「MHW」では海外ユーザーを意識して、ハンターの動きを全て作り直すことに。
「回復薬」などのアイテムが、移動しながら使えるように改良。ローリングからの武器の納刀など、アクションのつながりをスムーズに。そして壁際にハンターが追い詰められた時にハンターの姿が見えなくなってしまうのを、壁際に追い込まれた時はカメラの位置を下側に置いて視野角を確保し、ハンターが自分のキャラの位置を見失うことがないように…といったような改善が行われた。
細かく小さな改善の積み重ねによってトータルの操作性が良くなるようにした結果、「遊びやすくなった」と海外ユーザーテストの反応も高評価へと転じた。
なお、このハンター班だが、初期はエンジニア1人、ゲームデザイナー1人、アニメーター2人という少人数で挑んできたそうだ。この規模のゲームを作成するにしてはあまりに少ないという印象もあるが、情報共有の手間がかからないこの程度の人数のほうが適していたという。
とはいえ「MHW」は、ゼロから作成する作品。最終的に各部署に1名ずつの増員は行ったが、それでも7名という少ない人数でハンターのさまざまなアクション部分が作られていった。
また、「MH」はアクションゲームであるため、モンスターへの攻撃などのアクションも「ハンターの動き」の一つだ。例えば、武器「大剣」ひとつでも、縦斬りから薙ぎ払い、斬り上げ、タックル、回避など、さまざまなアクションへと遷移する。
実際にはさらに多様なアクションが追加されてくるため、これらのアクション遷移をツールで管理しようとすると、下図のように逆に複雑化してしまうのだ。
よって変更頻度が低いアクション要素については、ツールではなくコードによって制御するという、ツール+コードのハイブリッドシステムを採用することにした。これにより、変更したい箇所をすぐに調整できるようになり、デザイナーとエンジニアのやりとりを削減。かなりの効率化が実現できたという。
ハイブリッド化したことによって、ツールとコードのどちらで設定したのかが解りにくくなるというデメリットもあったが、チームが少人数だったためにコンセンサスが取りやすく、デメリットよりもメリットのほうが大きかったとのことだ。
こういった効率化のおかげで、「自由にモノづくり」をする時間が確保できたという。実際、「MHW」で導入されたカスタムショートカット機能はチームの仕事内容とは全く関係のない箇所だったが、自分が欲しいからという理由で作成。双剣の空中回転乱舞は、空いた時間に遊びで作ったのがきっかけだったが、他の開発チームメンバーからも高評価を得られたため、ゲーム内に実装されることになったそうだ。
その結果、「MHW」の完成度がより高いものとなって、ユーザーが快適に、そして楽しく遊べるようになったのだ。
マルチプレイにおける設計改革
「MHW」には「救難信号システム」という、クエストの最中でも世界中のプレイヤーに対して助けを求め、他のプレイヤーがそのクエストに途中から参加できる仕組みがある。
この救難信号システムが実に便利なものとなっており、一人でクエストに出発してから、クエスト開始直後に救難信号を打ち上げておけば、あっという間に世界中のハンターが集まってくれる。多くのプレイヤーがこの救難信号に頼ったプレイをしているのが、現状ではないだろうか。
この「救難信号システム」を採用するために、「MHW」では「伝統フロー」と「今風フロー」という、ふたつのセッションを採用しているという。
伝統フローとは、集会エリアからクエストの出発と帰還を行い、チャットでの会話をしたりという、これまでの「MH」らしいシステム。今風フローは、行きたいクエストを検索して参加し、基本的にクエストが終了したら解散という、最近のオンラインゲームで主流となっているフローで、これが今作の救難信号システムにあたる。
このように新旧のオンラインシステムを同時に取り入れるという試みだったが、導入にはシステムの複雑化や各種通信エラーといった難題が山積だったという。しかし、前述のシステムの効率化によるエンジニアの作業時間の確保によって、無事に導入できたのだ。
なお、これまでの「MH」では、ユーザー間でモンスターの同期を行うのは大型モンスターだけだったが、「MHW」では登場する全モンスターに対して、同期が行われている。しかし二重セッションによる処理の複雑化によって通信料が膨大になり、両セッションそれぞれで通信エラーが発生するため、エラーフローが複雑化してしまった。
また、各ユーザーがロビーセッション、クエストセッションという全く別のセッション方式で参加しているため、さまざまな問題が発生。通信量削減のための環境を作らなければならなかった。
そのため、プレイヤーやモンスターの送信メッセージ内にある汎用的な情報を細分化し、直観的に細かいデータ構造を調整できるツールを作成。チェックツールによる定期的な確認も行い、通信帯域を有効に使えるようにした。
これまでの「MH」では全ゲームデータのマスター情報をセッションホストが管理し、各メンバーに共有させていたのを、クエスト参加者全員で分散管理することによって、約80体ほどのモンスターがいるマップで全員が快適に遊べるようにしたという。
長期大規模プロジェクトにおける明確化改革
「MHW」のプロジェクトはかなりの人数が開発に関わり、そして専門性が高くなっていったため、重要な話が全員に届かないといったり、それによって全体把握の欠如、方向性のズレ、需要な案件が放置されるなどの問題も発生してしまった。
そのため、「MHW」では、3ヵ月ごとにマイルストーンという目標計画を定め、それを報告会と全体チェックで確認することにした。
報告会は、各チームのリーダーがゲーム全体の進捗や実装状況などを伝える場で、これからやろうとしていることを明確にする目的がある。何回も会議を行うことへの煩わしさよりも、方向性のズレや放置されている案件を解決できるメリットのほうが大きかったそうだ。
全体チェックは、開発チームの全員が作業の手を止めて、ユーザーとして遊んでみるという時間。いわゆるデバッガーに近い作業だが、バグ取りというよりはあくまで「良いところ」と「悪いところ」を担当関係なく自由に意見を投稿し、全意見にその箇所の担当者やディレクターが「見直し」「意図通り」などの返答を行い、見直しに分類されたものは次のマイルストーンの計画時に盛り込む。
特にマルチプレイの全体チェックは、通信量のサンプルもたくさん取れ、マルチプレイ時の処置落ち調査やメモリ調査、バグ情報の収集など、エンジニアにとって非常に有用だったそう。この全体チェックによって、「根本から直したいバグ」の修正が行え、土台が既にしっかりと作り上げられているのでそこに新たな課題を積み上げられても開発は安定化していたという。
また、QA(デバッグ)期間は、バグ状況を明確化できるよう、バグの全体総数はリアルタイムに反映されるグラフで視覚化。
この視覚化については、以前からVHSビデオテープやバグレポート用紙といったアナログな方法で、見えてはいたとのこと。目の前にたくさんのレポート用紙を積まれたエンジニアを他のエンジニアが助けていたが、積まれた件数よりも、誰がどの程度重要なバグをいくつ抱えているのかを把握することのほうが重要ではないかと考え、このようにグラフで視覚化をするようにした。
また、個人別バグ所有ランキングも、あえて視覚化。今、誰が、どれくらい重要なバグをいくつ抱えているのかをチーム全体に公開することで、全員で対策を考える空気が生まれたという。
そして、これを公開することにより、バグ件数を多く抱えているメンバーへのフォローが自然に生まれ、どこにどのような対策が必要か把握しやすくなったそうだ。
例えば、ネットワーク関連は複雑化しエンバグによるグラフの減少率が低い、という場合、QA人員を通信担当の開発者を同一フロアに引っ越させ、リアルタイムに進行をチェックする、といったようなことが行われていた。
だが、「バグ件数が多い=悪」ではない、という。バグが少ない人が優秀だと考えてしまうと、極論としてプログラムを組まない人が最優秀エンジニアになってしまう。むしろ難度が高いことに挑戦しているエンジニアを評価しよう、と強調して、セッションは終了となった。