ゲームのバックエンドを分析
ゲームシステムをサポートするバックエンドを構築することは容易ではなく、独自のサーバーを構築、ホスト、スケールできない場合もあります。
Unity の Game Backend スイートを利用すれば、開発者は手間がかかる部分を Unity に任せてコンテンツの制作に集中できます。
Unity の Game Backend ツールの 9 つのユースケース
Unity の Cloud Code、 Cloud Save、 Economy、 Authenticationが どのような機能を果たすのか、以下でご確認ください。
ゲーム内で時間制限のある要素を構築する最も簡単な方法は、デバイス時間を使用することです。これは実行可能ですが、一部のプレイヤーがデバイス時間を使用して不正行為を行う可能性があることを考慮すると、信頼性の低いデバイス時間は問題を引き起こす可能性があります。
たとえば、プレイヤーはデバイスの時間を操作して、期間限定アイテムにアクセスできる期間を延長することができます。
Cloud Code すると、ステートレスなサーバー側コードを記述でき、ゲーム ロジックを記述するときに使用できる信頼性の高い集中型の「サーバー」時間を提供できます。
ゲーム内報酬の充実したシステムを設計することで、プレイヤーを長期間にわたって引き付けることができます。Cloud Codeを使用すると、ゲーム内でクーポン コードや報酬アイテムを検証できるスクリプトを作成できます。
さらに、ゲームがライブの場合でも、新しいゲーム クライアントの更新を必要とせずにクーポン ロジックを変更できます。サーバー上で変更を公開するだけで、クライアントで新しいクーポン引き換えルールを適用できます。
Cloud Save を使用すると、プレイヤーがクーポンを利用したかどうかを追跡できます。また、 Economyを設定すると、ゲーム内通貨やアイテムなどのリソースを贈ることができます。
毎日の報酬は、特にモバイル ゲームにおいて、プレイヤーがさまざまなゲーム内アイテムを獲得できるようにしながら、プレイヤーを再びプレイさせる効果的な方法です。
Cloud Code は 他の Unity サービスと統合できるため、毎日の報酬に関するロジックを構築するのに最適なツールです。Economyでアイテムと通貨を定義し、Remote Configで確率を定義し、 Cloud Codeで基礎となるアルゴリズムを記述できます。
これにより、ゲーム クライアントを更新することなく、毎日の報酬のロジックを即座に変更できるようになります。
プレイヤーは、どのような状況であっても、ゲーム内の成果や購入内容がすべて保存されることを期待しています。プレイヤーの進行状況はそのまま維持されるだけでなく、プレイヤーに固有に結び付けられ、プレイに使用するすべてのデバイスで一貫している必要があります。
Cloud Save、 Economy、 Remote ConfigをAuthenticationと組み合わせることで、プレイヤーの進行状況を自動的に保存し、アカウントにリンクすることができます。
Authenticationを使用すると、プラットフォーム アカウントによるサインインを設定できるため、同じプレーヤーが Google、Facebook、Apple、または Steam からサインインして、どのデバイスからでも中断したところからプレイを続行できます。
ゲーム内経済を設計したら、必ず安全策を講じる必要があります。悪意のあるプレイヤーの中には、ゲーム内報酬やアプリ内購入を獲得するために他のプレイヤーになりすまそうとする人もいます。
EconomyはAuthentication と連携して動作し、不正行為者が操作できない固有のトークンと ID を使用して各プレイヤーを識別できます。こうすることで、どのプレイヤーがログインしたか、またそのプレイヤーの現在の通貨とアイテムの在庫がいくらであるかがわかります。
Cloud Code を追加すると、このプロセス サーバーが権威を持つようになり、ゲーム内経済に別の保護層が追加されます。
ゲームのライブアップデート、バグ修正、改善を展開するには、多くの場合、困難なリリースプロセスが伴います。
Cloud Codeを使用してゲーム内ロジックをゲーム クライアントから移動することで、すべてのプレーヤーに対して即座に変更を加えることができます。ゲーム ロジックをクライアント デバイスから分離すると、プレーヤーがインストール済みバージョンを更新しなくてもゲーム ロジックを更新できます。
モバイル ゲームで多くのオンライン サービスを使用するということは、インターネット経由でデータを複数回送信することを意味します。プレイヤーの接続が遅い場合、不快な体験を引き起こす可能性があります。
通常、 Economy や Cloud Saveなどのサービスに変更を加える場合は、サーバーからデータを読み取り、デバイス上で何が起こるかを決定します。結果のデータはサーバーに送り返す必要があります。
Cloud Codeを使用すると、情報の往復は 1 回のみで、変更はサーバー上で直接実装されます。これにより、インターネット接続の速度に関係なく、すべてのプレイヤーにとってよりスムーズな体験が実現します。
Unity エンジンを使用してマルチプレイヤー ゲームを開発する場合は、エディターに統合されているツールを活用して、ゲームを安全にビルドおよびテストし、一貫した技術スタックを維持できます。
Authenticationを 備えた Unity の Relay サービスを使用して、Relayに接続したプレイヤーを次の 2 つの方法のいずれかで認証できます。匿名サインインまたはプラットフォーム固有のサインイン。
これらのツールを使用すると、サードパーティのソリューションや専用のゲーム サーバーを必要とせずに、マルチプレイヤー ゲームを構築、テスト、および操作できます。
マルチプレイヤー ゲームを開発するときは、ゲームの機能によって人々がつながり、一緒にプレイすることをどのように促進するかを考慮する必要があります。
どのプレイヤーを特定のロビー、パーティー、または試合にグループ化するかをよく理解することは、プレイヤーの体験に大きな影響を与える可能性があります。
Unity の Lobby および マッチメーカー サービスを Authenticationと組み合わせることで、特定の種類のプレイヤーをグループ化し、匿名で認証、接続、通信、一緒にプレイできるようにすることができます。
これらのツールは、さまざまな種類のゲームをサポートできるほど柔軟であり、ゲームへのプレイヤーの流入をサポートできるほど拡張性があります。
サンプルのコレクションでは、ルートボックス、スターターパック、季節のイベントなどの作成など、さまざまなUnity Gaming Servicesを組み合わせて一般的なゲーム開発の課題を解決する方法を紹介します。