Search Unity

3 月 23 日、Unity は Google for Games Developer Summit で Unity Game Simulation を発表しました。Unity Game Simulation とは、ゲームスタジオがシミュレーション機能を使用してローンチ前の実行テストを補完できるクラウドサービスです。Google Cloud のインフラストラクチャを基盤にしている Unity Game Simulation は、幅広くゲームバランスを評価するのに役立ちます。Unity Game Simulation は現在、ベータ版が公開されています。無料で利用したい方は、こちらからご登録ください。

魅力的で訴求力のあるゲームを制作するには、ゲームプレイのバランスを保つことが大事です。モバイルか PC か、ハイパーカジュアルかオープンワールドか、オンラインかオフラインかにかかわらず、あらゆるゲームで入念なバランス調整が必要です。バランスが悪いゲームのローンチは、プレイヤーの満足度に悪影響を及ぼす可能性があります。

スプレッドシートは、多くのゲームデザイナーがゲーム要素のモデリングに使用するソリューションの 1 つです。ただし、こうしたスプレッドシートでは、実際のゲームプレイが過度に簡略化され、正確に表現できません。人間によるテストプレイもテストやバランス調整のソリューションになります。非常に主観的なゲーム要素に効果的です。しかし、テストプレイはすぐにコストが増加し、スケーリングに限りがあります。

Unity は、クラウドでの数千のゲームプレイシミュレーションを活かして、より正確な結果を示し、テストプレイヤーがゲームの主観的要素に集中できるようにするソリューションを思い描きました。

「充実したゲームでも、バランス調整が不十分なら失敗です。ゲームのバランスを取る従来の手法では、人間によるテストプレイや数えきれないほどの手動での再デプロイに大きく依存しています。プロセス全体のコストが大きく、時間がかかって非効率的でした」と、Unity Technologies の AI および機械学習担当役員の Danny Lange は言います。「Unity Game Simulation なら、より効果的にゲームのバランスを取ることができます。クラウドでゲームプレイシミュレーションを数千回実行してより正確な結果が提供されます。これにより、テストプレイヤーがプレイの手ごたえや楽しませる要素など、ゲームの主観的基準に集中できるようになります」

より効果的にゲームのバランスを取る

Unity は、クラウドのスケールを活かしてテストプレイを補完するソリューション、Unity Game Simulation をここにアナウンスいたします。Unity Game Simulation を使用すれば、ゲーム開発者やデザイナーは、ゲームの変更内容のテスト回数を増やし、頻繁に繰り返すことができます。シミュレーションは実際のゲームコードで行われるため、概算ではなく正確なデータが生成されます。さらに、クラウドを活用しているため、スタジオでは、テストをスピードアップし、大規模なスケールを実現して、数時間あるいは数分で結果を取得できます。こうした機能をオンデマンドで利用し、テスト予算を大幅に削減できます。

Game Simulation の仕組み

 

SDK と Unity エディターのインターフェース

Unity では、簡単にインストールできる Unity パッケージを提供しています。このパッケージには、Unity Game Simulation 向けのゲーム設定に必要なツールがすべて含まれています。このパッケージを利用すれば、パラメーターの設定、指標の組み込み、ビルドのアップロードが可能になります。指標を使用してゲーム内での測定対象を組み込むことができます。たとえば、プレイヤーがゲームクリアに要した時間などが指標になります。

ゲーム内でシミュレーションごとに調節するパラメーターを設定できます。たとえば、スピードアップやパワーアップのさまざまな組み合わせを試すことができます。

組み込みと設定が終わったら、Unity エディターから直接ゲームのビルドをアップロードし、Unity Game Simulation のダッシュボードでシミュレーション作成を開始します。

エディターで Unity Game Simulation のゲームパラメーターを設定

Game Simulation のダッシュボード

シミュレーションを簡単に作成して管理できるように、直感的なダッシュボードを用意しました。ここでは、必要な指標を取得するためにシミュレーションするパラメーターの組み合わせを指定できます。この UI には、組織に属するユーザーであればアクセスできます。

シミュレーションのデータは、個々のシミュレーションの生データのまま利用することも、集計のための要約統計量の形で利用することもできます。こうしたすべてのデータにダッシュボードからアクセスできます。

トップダウンアーケードスタイルのシューターで多数の武器の組み合わせのバランスを取る

トロントのゲーム開発スタジオ Furyion Games が制作した『Death Carnival』は、過激な武器を使用してオンラインでマルチプレイヤーが楽しめるテンポの速いトップダウンシューターです。このゲームには、武器のソケットシステムという特徴があります。プレイヤーはそれぞれの武器を使用すると、ベースの武器、弾薬、武器のモジュール、一時的なパワーアップを選択できます。このような組み合わせはそれぞれ、武器のプレイスタイルや効果を制御する多数の変数で構成されます。

Furyion は、Unity Game Simulation を使用して数千ものシミュレーションを実行したため、適切な生存率とレベルのクリア時間を実現できるよう、ベースの武器、弾薬、武器のモジュール、パワーアップの適切な組み合わせを特定できました。これにより、武器のバランスを調整して面白さを最大限に高めることができました。

「Unity Game Simulation のおかげで、適切なパラメーターを見つけ、プレイヤーに最高の体験を届けることができました。」と Furyion Games のスタジオディレクター Herbert Yung 氏は言います。「手動でこのプロセスを進めると、バランスを取るために多くの人手が必要になり、再構成の合間にダウンタイムが生じます。今後はレベルデザインの問題を解決し、最適なゲームプレイ設定を見つけ出すために、Unity Game Simulation を利用していきます。」と続けました。

レーシングゲームに適切なラバーバンド設定

iLLOGIKA はモントリオールにある従業員 60 名のゲームスタジオです。美しい 3D 環境の中で、ヒーローたちがマルチプレイヤーで世界中をレースするレーシングゲーム『Rogue Racers』を制作しました。『Rogue Racers』では、上手なプレイヤーが下手なプレイヤーとレースすると、ほぼすべての場合に、上手なプレイヤーが 5 秒以内の差を付けてゴールします。これはラバーバンドと呼ばれる概念です。上手なプレイヤーが下手なプレイヤーの先に行き過ぎると、下手なプレイヤーはゲームが難しすぎると考える可能性があります。逆に、レースで差があまりなければ、下手なプレイヤーはゲームが簡単すぎると考える可能性もあります。これに対処するための適切な設定を見つけるのは、難しい場合もあります。

この問題を解決するために、iLLOGIKA は、負けているプレイヤーのスピードを高めるキャッチアップメカニズムを導入しました。このスピードアップは、スピードの乗数、頻度、期間の 3 つのパラメーターによって決まります。ただし、これらのパラメーターによって数千の組み合わせが生成される可能性があります。iLLOGIKA はシミュレーションによってこれらの組み合わせを分析することで、95% のレースでゴール時の差を 5 秒前後に維持する最適な設定を特定できました。

「Unity Game Simulation の利用により、私たちのチームでは、ゲーム内シナリオのさまざまな組み合わせを実行し、開発プロセスの早い段階でバランスの問題を見つけ出すことができました。Unity Game Simulation は、今後のプレイヤー体験の向上にも大きな役割を果たすでしょう。また、新タイトルのソフトローンチ成功に要する時間の短縮にもつながります」と、iLLOGIKA のスタジオディレクターを務める Régis Geoffrion 氏は言います。

無料で今すぐ試す

Unity Game Simulation は現在、ベータ版が公開されています。無料で利用したい方は、こちらからご登録ください。

機能のリクエストやユースケースの紹介、全般的なフィードバックをご希望の方は、gamesimulation@unity3d.com までメールでご連絡いただくか、Unity フォーラムをご覧ください。

9 replies on “Unity Game Simulation でゲームバランスを最適化”

Thanks, from reading the comments I think I have a better picture of what this is.

We create a player in our game that can play it by itself, we sort of create the main player’s ‘AI’. Then we upload it, and Unity runs the game many times, and gives us the resulting data on how our main player’s AI did.

The marketing of this mentions that some developers use humans to test their game… which we then assume will be replaced by Unity Game Simulation. As though Unity has a human-like AI that will play your games for you many times, and learn how difficult it is. Kind of like Google’s AlphaGo AI. But they’re actually handling more of the running of the game, doing many iterations quickly.

How exactly is the simulation run? I’m assuming you do not have an AI to play any time of game a developer might upload. Also, what data is returned?
This blog post, and any other mention of this system seems to completely avoid talking about this at all…

I was asking me the question indeed.
So, the metric you receive from the simulation will still be biased by the way you implement your AI.
Can be handy, but will never replace human behavior in a game.

So you have to create a version of your game that plays by itself, taking the variables as input.
Then the service runs this self-playing game while recording some metrics.

That could come in handy, but can you please make very clear that your game will NOT be played by AI from unity that acts like a human player. That you have to build a game that can play itself without help from unity or “the cloud”.
This is not stated anywhere so people think you’ve built an AI that can play games like a human does.

Comments are closed.