マルチプレイヤーサービス (Beta)
ARクラウド Pretia は、開発者がマルチプレイヤーエクスペリエンスの作成を迅速に開始できるよう、一連のサービスを提供しています。
このドキュメントでは、現在どのような機能が利用可能で、どのようなマルチプレイヤーエクスペリエンスを現在サポートしているかについて説明します。
マッチメイキング
現時点では、開発者コンソールから取得できるアプリキーに基づく基本的なマッチメイキングのみを提供しています。
セッションに参加するクライアントは、開発者コンソールのアプリケーション設定から設定可能な最大数まで、アプリキーで同じゲームセッションにマッチングされます。最大数のクライアントがゲームセッションに参加した後、新しいゲームセッションが作成され、新しいクライアントがこの新しいセッションにマッチングされます。
ゲームセッション
Pretiaは現在、ホストとクライアントのネットワークアーキテクチャのみをサポートしており、お互いにメッセージをブロードキャストするリレーサービスがあり、セッションのホストが1つ存在します。ホストの任命は、クライアントが空のゲームセッションに参加したとき、またはホストが切断されたとき、セッションに他のクライアントが残っているときに行われます。
ゲームセッションとの接続がどのように初期化されるかの詳細については、Networking API docsのこの図を参照してください。
Pretiaのマルチプレイ機能は、短時間で複数人が同時に(リローカライズの使用を前提に、同じ場所で)楽しめる体験のサポートに優れていることがわかります。
しかし、MMO(Massively Multiplayer Online)のような、永続的な状態や専用のゲームサーバーを必要とするマルチプレイヤー体験には、私たちのサービスはまだ適切ではありません。
ホストクライアント アーキテクチャ
ホストクライアントのアーキテクチャでは、一般にホストがセッションの状態に対する権限を持ち、次のような責任を負います。
- 他のクライアントからの入力の受信
- 更新のシミュレート
- 更新を他のクライアントに送り返す
他のクライアントは基本的に自分の入力だけを伝え、ホストから受け取った更新を適用する必要があります。
このアーキテクチャでは、ホストが切断されたときに他のクライアントがスムーズにホストとして引き継げるように、他のすべてのクライアントが全体の状態を追跡することも重要です。
リレーサービス
ゲームセッションで発生する通信は、すべてリレーサービスを介して行われます。リレーサービスには、4つの通信方法が用意されています。
- ホストメッセージ(ホストが接続されているすべてのクライアントにメッセージをブロードキャストします)。
- プレイヤーメッセージ(任意のクライアントが他の接続されているすべてのクライアントにメッセージをブロードキャストすることができます)。
- プレイヤーからホストへのメッセージ(任意のクライアントがホストにメッセージを送信します)。
- ホストからプレイヤーへのメッセージ(ホストが任意の1つのクライアントにメッセージを送信します)。