『Rogue Racers』:Unity Game Simulation のケーススタディ
iLLOGIKA は、従来のレーシングゲームにまったく新しい、アドレナリンを刺激する場面を制作したいと考えていました。レースを盛り上げるために、追加のアビリティ、しかけ、トラップによってゲーム性が高められたマルチプレイヤーレースを設計しました。その成果が『Rogue Racers』で、プレイヤーは 6 人のヒーローの中の一人となってコースを突っ走り、カードを使用してパワーアップしたり、攻撃をしかけたり、対戦者に障害物を配置したりします。しかし、このスリルで満ちあふれたレース方式を機能させるには、すべての参加者にトロフィーを獲得するチャンスが与えられるようにする必要があります。
-
課題
ゲームプレイのバランスを確保する
-
目標
カードのパラメーターをさまざまな組み合わせで何千回ものテストを実施してバランスを調整する
-
プラットフォーム
iOS、Android
-
チームメンバー
60 人、そのうち 35 人から 40 人は毎日スタジオのさまざまな部門にわたって働いており、14 人が『Rogue Racers』に取り組んでいる
-
所在地
モントリオール、カナダ

自動化されたテストプレイにより開発をスピードアップ
カードベースのゲームを成功に導くには、バランスが不可欠です。各カードには独自のコストとメリットがあるため、ゲームデザイナーはあらゆる組み合わせの影響力が大体同じであることを確保する必要があり、いずれかの組み合わせのカードが無敵になり、全員の楽しみを台無しにすることがあってはなりません。さまざまな組み合わせでカードゲームのバランスを確保することには、うんざりするような数学的な微調整と何千時間ものテストプレイが必要です。iLLOGIKA が Unity Game Simulation に注目したのはこの理由からで、何万回にもわたるテストプレイを自動化することで、開発者にゲームのほかの部分に取り組んでもらえるからです。

スタートライン
iLLOGIKA はオリジナルのゲームや VR 体験を制作しているほか、他のスタジオの作品をプロデュースしています(Eidos 制作の『Lara Croft』Studio MDHR 制作の『Cuphead』、スクウェア・エニックス制作の『Hitman GO』などの大ヒットタイトルに貢献しています)。『Rogue Racers』は同社が開発中の最新のマルチプレイヤーゲームです。モバイル向けの基本プレイ無料のレーシングゲームで、プレイヤーはヒーローを操作し、鮮やかに描かれた風景の中を走り抜けて互いに競い合います。
プレイヤーは 6 人のヒーローから 1 人を選んでレースに参加します。ヒーローはそれぞれ独自の特殊スキルを持ち、さらに 7 枚のカードを選択してヒーローをパワーアップさせたり、相手を邪魔する戦略を立てたりします。カードには、たとえば対戦相手にダメージを与えたり、自機のスピードを一時的に高めたりする効果があります。これらはゲーム中にヒーローの手首の端末からアクティベートされ、アクティベートにはエネルギーを消費します。カードのバリエーションはプレイヤーのわくわく感を高めますが、チームにとってはこれらの変数、すなわち 6 人のヒーローに加え、19 種類のブーストがどのような組み合わせでも似たような優位性をもたらすようにするための作業が増えることになります。

レースが接戦になるようにする
「6 人のヒーローを制作し、その中の 1 人が明らかに他よりも優れている場合は、全員がそのヒーローを使うでしょう」iLLOGIKA のスタジオディレクター Régis Geoffrion 氏はこう説明しています。「パワーにはそれぞれ、継続時間、ダメージ、範囲などの多数のプロパティがあるため、これらのヒーローのカードのすべてのバランスを調整するのは非常に難しい作業です。試行錯誤の繰り返しです。Excel のスプレッドシートやいくつかのゲームデザイン手法を活用して適切な数値を導き出すことは可能ですが、Unity Game Simulation を使う方がはるかに簡単です。」
目標は、プレイヤーが進む距離に基づいてそれぞれのカードを比較することでした。ある程度のダメージを受けるとヒーローは力尽き(数秒後にリスポーンされる)、時間を失いレースで後れを取ることになります。各カードにはバランスを取る必要がある複数のパラメーターがあります。iLLOGIKA はさまざまな組み合わせを Unity Game Simulation にロードして互いのパフォーマンスを確認し、50% の勝率になる組み合わせを探したいと考えていました。iLLOGIKA はテストプレイのスケールを大幅に増やし、チームが各カードのパラメーターを調整するのを支援する何千回ものプレイスルーを実行することで、プレイヤーのためにより対戦要素の高い体験を制作しました。
長期にわたるテスト
iLLOGIKA のゲームデザイナー Bobbi Burquel 氏が、Unity Game Simulation なしで必要とされるテスト手順について説明します。まず、理論上のバランス調整を試行します。スプレッドシートを使って 1 つの共通の測定単位の下でカードを比較します。その後、自身でテストプレイを行います。可能な限り多くのレースを走り、データを集めて理論上のモデルではシミュレートできなった部分を微調整します。
テストプレイでは、可能な限り多くの要素を組み合わせて、その数字が現実世界のプレイヤーにも適用されるかどうかを確認する必要があります。Burquel 氏は自身で 1 日に 60 回から 70 回のレースをプレイできると言っています。しかし、テスト単体で得られるのは概算のみです。単純に彼のチームではすべての可能性を検証するのに十分な大きさのサンプルを蓄積できません。
そして、ソフトローンチ後に、ユーザーのデータを追跡してチームが学んだことをさらに膨らませます。「ただし、この過去のフェーズに頼り過ぎることは、バランスが非常に悪いベータをリリースすると、プレイヤーはすぐに離脱し、結果としてあまり使い物にならないデータになってしまうことを意味します」彼はこう説明しています。「ベータに入る前に、品質面で最小限のしきい値に達する必要があります。」
テスト時間を半分にする
Unity Game Simulation を頼りにすることで、Burquel 氏は理論上のバランス調整から始め、次に自身で行うテストプレイをシミュレーションで補完しました。iLLOGIKA のチームは、わずか 4 時間でゲームを 25,000 回以上実行し、1,125 時間と同等のプレイをシミュレートすることで、1 か月半にわたる作業を 1 日に効果的に置き換えることができました。
このゲームプレイのテストの指数関数的な増加によりさらに多くのデータが得られるため、ゲームのバランス調整に必要な作業時間を減らし、チームは他の方法では試すことができないさらに多くのパラメーターの組み合わせを試すことができます。さらに、「ゲームシミュレーションを実行している間に、別のタスクに取り掛かることができます」と Burquel 氏は説明しています。「自身で行うゲームのテストプレイを、プレイすることに飽き飽きしてしまい、脳だけで確認するところまで絶えずプレイを続けるのではなく、より健康的なペースで進めます。」節約した時間は、今後のシミュレーションのためにさまざまな種類のプレイヤーをより正確に表現する AI の改善に使いました。

Unity での実行
iLLOGIKA がゲームのテストプレイを自動化することを決めたとき、Unity Game Simulation は自然な選択でした。「Unity の利用を開始して数年になりますが、うまく行っています」Geoffrion 氏はこう述べています。スタジオの創業者は初期の頃から Unity を採用しており、Unity のプラットフォームをベースに 10 年以上構築しているということです。「Unity を利用して、相当な数のプロジェクトを公開してきました。」
iLLOGIKA が『Rogue Racers』の構築に Unity を選択した理由は、「開発のスピードアップをサポートする幅広いサービスが用意されていること」であると Geoffrion 氏は説明しています。「C# は強力で簡単なプログラミング言語で、最近になって Unity はパフォーマンス、Remote Config などのチームが使っているすべての機能、Unity Ads のビルトインなどの面で、モバイル向けの制作がさらに改善されていると思います。」
イノベーションはチームスポーツ
何よりも、iLLOGIKA は Unity を使って作業することを楽しんでいます。それは、Unity のチームとの関係性によるものです。Unity Game Simulation では新興技術が使われており、常に研磨され改善が加えられているため、スタジオの開発チームは Unity と継続的に連絡を取っていました。
「本当に協力して作業をしていたかのように感じていました。そしてそれは一方向のみの関係性ではありません。提供したすべてのフィードバックについて、数日または数週間のうちに、その結果がツールの開発に現れました」Burquel 氏はこう述べています。「抱えていた技術的な問題は迅速に対応され、常にツールのテストと実装を続けることができました。一度も行き詰まることがありませんでした。製品を私たちのニーズに合うように一緒になって開発および改善を続けるためのパートナーシップのように感じています。」