【開発秘話】ランダムイベントが実装された次世代マップはなぜ、どのようにして生まれたか

少し前の話になるが、「ランダムイベント」を覚えているだろうか?飛行船の墜落や爆撃による地形の変化といったリアルタイムに変動していくマップの新メカニズムだ。「偵察ミッション2023」で「ヒメルズドルフ」、「ルインベルク」、「プロホロフカ」、そして「山間の港湾」の4つのマップに試験的に実装され、この際に実際に体験した諸君も多いだろう。この新メカニズムはいつもの戦闘で、より幅広い戦術や新鮮なシナリオ、そしていつもと違ったシチュエーションを作り出すことを目的としていた。

「ランダムイベント」のテスト実装の後に実施したアンケート調査には40万件近い回答が寄せられ、その結果によると回答してくれたプレイヤーの86.8%が「ランダムイベント」によって生まれ変わったマップでのプレイを楽しんでくれたというデータもある。

そこで正式実装を見据え、次回の公開テストで再びこれらのマップで「ランダムイベント」をテストすることとなった。今回テストするのは前回よりさらに生まれ変わった最新バージョンの「ランダムイベント」で、より正式実装の仕様に近いメカニズムを体験できるようになっている。本記事では、この最新メカニズムの開発にまつわる裏話を紹介していこう。最後まで読めば、正式実装に向けて「ランダムイベント」そのものへの理解度がグッと深まるはずだ。

新しいテクノロジーと新しいマップ

前述の通り「先行偵察ミッション2023」において、4つのマップで「ランダムイベント」をテストしたわけだが、なぜすべてのマップではなく4つだけなのか?半数ほどのマップでもっと大規模なテストを実施してみても良かったのではないか?といった疑問を持った諸君もいるのではないだろうか。そして同時に、6か月も前にテストを行ったのに、最終的な調整がなぜ今行われているのか、と思っているかもしれない。

この疑問に対する答えはひとえに、「ランダムイベント」の実装には非常に長い時間と労力がかかるという理由に尽きる。新メカニズムを盛り込んだマップの開発プロセスには長時間を要し、デザインチーム、品質管理チーム、そして開発チームなど、数多くの部署からたくさんのリソースを投入する必要があった。それに加えて、最新のテクノロジー活用した新たなツールを開発する必要があったことも事実だ。平たく言えば、「先行偵察ミッション2023」の時点では、全マップに短期間で「ランダムイベント」を実装するだけの技術的なリソースを持ち合わせていなかったということになる。

そこで、この新メカニズムを実装するにあたり、ゲーム業界でも最新のテクノロジーのひとつを基に新しいツールを開発することとなった。このツールはまだ「最初期バージョン」にあり、今後も開発を続けていく予定だ。そして、この新ツールにより「ランダムイベント」の実装がよりスムーズに進められるようになっている。以下で詳しく紹介していくぞ。

 
 

テスト実装へ向けた準備

「ランダムイベント」のテスト実装の準備が始まったのは、2023年の4月まで遡る。戦闘中にランダムに発生し、リアルタイムで変動していくイベントというコンセプト自体は決まっていたものの、それを数多くのマップに実装するにあたり、膨大な量のデータを処理する必要があった。そのため、これまでとは異なる全く新しい自動制御システムの考案、そして専用ツールの開発が当面の課題となっていた。しかしながら当時は、これらを実現するための技術的な能力がなかったため、最初のテスト段階では、発生するイベントの種類を少なくするとともに、テストを行うマップの数を4つに絞ることで、比較的規模の小さい変更をマップに手動で実装することにしている。

この際に実装したメカニズムはあくまで初期テスト用のものだ。細かい仕様などは最終案ではなく、今後開発を進めていくうえで必要なツールとテクノロジーを特定する役割を果たしている。

その結果、ゲーム内にある40以上のマップに「ランダムイベント」のメカニズムを手動で設定していくのは非効率で、あまりにも膨大な時間がかかってしまうことがすぐに明らかになった。そこで、「ランダムイベント」の作成と設定の自動化し、最適化するための新しいツールを開発するという課題に本格的に取り組むことになったというわけだ。

【CGF】新世代のゲームコンテンツを生み出す革新的なテクノロジー

新ツールの開発に取り組むにあたり『World of Tanks』に「CGF」テクノロジーを実装することとなった。「CGF」とは「Core Gameplay Framework」の略にあたる。これは「Entity Component System」(通称ECS)の一種で、ゲーム開発業界でも最新のトレンドとなっている技術の一つだ。

本作でもすでにいくつかのメカニズムに実装されてはいたものの、現状の機能性と柔軟性では「ランダムイベント」を完全に実現するには明らかにキャパシティーが足りていなかった。そこで今回この技術に大幅な改良を施したことで、『World of Tanks』への全く新しい形での実装に成功している。

「CGF」テクノロジーについて

展開

これまでは、新しいコンテンツを作成する際、実際に変更を加えることができたのは車輌だけだった。しかし「CGF」テクノロジーを実装することにより、ゲーム内に存在する車輌以外の様々なオブジェクトに、独自のプロパティーを設定し、動かすことができるようになった。そしてオブジェクトのプロパティーやパーツの変更と管理が可能になっている。つまり、どのオブジェクトも車輌のロジックとは異なる独自の動作ロジックで操作できるようになったということだ。

「CGF」は高度な自動化と拡張性を備えたツールとしてゲーム・コンテンツの制作に使われている。「CGF」を活用することで、よりシンプルで便利なフォーマットで、「ランダムイベント」の作成と設定ができるようになった。

たたむ

新しいツール

この他にも、特別なデザインツールの開発も行っている。これにより、新たに実装したこのテクノロジーを使って、豊富な「ランダムイベント」のシナリオを作ることができるようになった。今までマップの制作に使われていたものと似たような新しいエディターをシナリオの制作のために実装したということだ。

このおかげで、マップ上のオブジェクト(車輌や静止した建物を除く)をパーツに分割し、独自のプロパティーや移動ルートを設定できるようになっている。これらのオブジェクトは、現実世界の物理法則に則って動き、ゲーム内の車輌と同じように周囲の環境に接触できる。

前述の通り、これまでは特定の「ランダムイベント」のシナリオは手動で組み立てられていた。しかし「CGF」テクノロジーとそれに対応するために開発されたツールのおかげで、「ランダムイベント」がサーバー上で作り出され、全プレーヤーに同期されるようになっている。

では、この最新技術を駆使して「ランダムイベント」がどのように出来上がっていくのか、具体的な手順を追いながら、以下で詳しく見ていこう。

【ステップ1】地図の選定

「ランダムイベント」を作るうえでの最初のステップは、適切なマップを選ぶことだ。マップの人気やフィルターによる除外数といった統計データを基に決まるわけではない。その代わりに、マップ選びの重要なファクターとなるのが以下の2つだ。

  • ゲームプレイの多様性
  • マップタイプ: 平野、市街地、ミックス

マップは起こすことができるシナリオの選択肢の多さに基づいて選定される。例えば、「ヒメルズドルフ」にある広々とした中央広場には、飛行船などの大きなオブジェクトが墜落するスペースがある。これは「ランダムイベント」を起こしやすいマップだと言える。

また、「プロホロフカ」にある主な交戦エリアのひとつとなっている小路には、飛行機を墜落させることができる。

【ステップ2】イベントの精査・分析

次のステップでは、特定のマップで起こすことができるイベントをすべて洗い出していく。同時にイベントの独自性にも焦点を当てる。当然そのイベントを起こせるのは、そのマップだけであることが望ましく、イベントのシナリオとマップ環境がマッチしているほうが良い。

さらにそのイベント起こることで、ゲームプレイの幅がどのように広がるか、そして戦術的な選択肢がどれだけ増えるかといったことも分析していく。プレイヤーが戦闘中に取ることができる選択肢は多ければ多いほど、ゲーム体験はより良いものになっていくからだ。 

【ステップ3】ヒートマップ分析とイベントゾーンの選定

ゲームプレイの多様さを測るうえで、最も重要なデータのひとつは、マップ上の車輌の位置だ。そこで「ランダムイベント」を作成するには、どのエリアにどれだけのプレイヤーが集まっているかという傾向を示すヒートマップを分析する必要がある。ヒートマップ分析により、マップ上のどのエリアにイベントを起こせば、効果的にゲームプレイや試合展開の幅を広げられるかといったことを紐解いていくことができる。

また、プレイヤーの諸君からのフィードバックと独自の専門知識もイベントゾーンを決定するうえでは大きな要因となった。

ここまでの話はすべて、データ分析と事前準備の作業だ。上記で話した情報をすべて集め、そしてすべて分析し終えたところで、やっと「ランダムイベント」作成の本番が始まる。

最初に決めるのが、特定のエリアで「ランダムイベント」が起こった後、どのようなゲームプレイが可能になるか、という点だ。これに応じて、必要とあらば移動ルートや遮蔽物、建物などを追加したり、逆に削除したりしていく。

この新メカニズムの最終的な目標は、イベントを起こすことによって新たなゲームプレイや戦略的な可能性を作り出すことにある。

言い換えれば「ランダムイベント」は、「ここに飛行機を落とそう」や「ここに列車を到着させよう」といったイベントありきで決まっていくものではない。まず初めに、マップの特定のエリアにおいて、どのような新たなシチュエーションを作り出すかを先に決め、そのためにどのようなイベントを起こすかを後から決めていくのだ。

【ステップ4】試作イベントの作成

続いては、試作イベントの作成とテストを始める。この試作イベントは、作り出されるゲームプレイや戦略に応じて複数のバリエーションが作成されることもある。テスト段階では、いわゆる「グレー ボックス」を使用してイベントの動作を確かめていく。「グレーボックス」とは、仮のオブジェクトのようなもので、建物から瓦礫まで、あらゆる物の代替役として機能する。こう言うと少々難しく感じるかもしれないが、以下のイメージで複製され、操作されているオブジェクトを見てもらえれば想像がつきやすいだろう。

試作イベントでのテストが完了したら、細かいディテールやオブジェクトを追加して最終的な調整を行う

【ステップ5】オブジェクトとシナリオの選定

このステップでは、イベントの種類に応じて以下のような選択肢の中から最もイベントに適したものを選定していく。

  • 場所: 陸地、空中、水中
  • 動作するオブジェクト: 飛行機、飛行船、列車、自動車、など
  • 動作するオブジェクトと接触する破壊可能なターゲット・オブジェクト: 建物、掩蔽壕、橋、岸壁、など
  • 破壊後のオブジェクトの状態: 破壊されたオブジェクトのどの部分が残り、瓦礫がどこにどの程度飛ぶか、など
  • マップ上での位置と移動経路: マップの地形やオブジェクトの視認性を考慮し、プレイヤーがイベント発生の当初から一部始終を見ることができるかどうか

こういった選択肢を精査していく中で、マップに水場があれば船が岸壁に衝突できる、空中であれば飛行機または飛行船が墜落できるといったイベントを決めていく。

破壊されたオブジェクトは、発生したイベントによってひとつの大きな破片になるか、複数の中型の破片に分裂するかなどが決まっていく。また、どのオブジェクトも空中を飛んでいる時は、細かなパーツが落ちていくといった細かなエフェクトも追加される。

【ステップ6(最終)】イベントのビジュアル化と最終調整

これらのステップを経て、最後のステップでは、イベントに最も相応しいオブジェクトを最終決定し、細かな追加エフェクトを作成する。例えば、大型飛行機を城に衝突させたいが、「大型航空機」というオブジェクトがゲーム内に存在しない場合、別のより適切なオブジェクト、この例では飛行機に置き換えていく、といった具合だ。

さらに、イベントによりリアルさと映像的な迫力、そしてエンターテイメント性を持たせるため、ビジュアル・エフェクトにも最終調整を加えていく。ここで忘れてはいけないのが、「ランダムイベント」の目的だ。イベントが発生することによって新たなゲームプレイや戦略的な可能性が作り出されるかどうかを常にチェックしながら作業する必要がある。

踏むべきステップは以上だド迫力の「ランダムイベント」が起こる次世代マップが完成したぞ! 

「ランダムイベント」に関する最新情報

近い将来、さらに洗練された「ランダムイベント」が実装された4つのマップ(「ヒメルズドルフ」、「ルインベルク」、「プロホロフカ」、「山間の港湾」)をリリースする予定だ。ぜひ公開テストに参加して諸君の声を聞かせてほしい。

また「ランダムイベント」が実装された次世代マップのラインナップも鋭意拡張中だ。こちらのリリースも楽しみにしていてほしい。続報を待っていてくれたまえ!

閉じる