セッション入門
注釈:本資料はAI技術を用いて翻訳されています。
概要
AccelByte Gaming Services(AGS)セッションは、プレイヤーが互いに接続して交流できるようにマルチプレイヤー体験を設定および整理する機能を開発者に提供します。AGSマルチプレイヤー機能の中核として機能し、専用サーバーのリクエスト管理、パーティー管理、チャットルームの有効化を行います。
AGSセッションの主要コンポーネントはセッションであり、プレイヤーグループのゲームプロパティを定義します。典型的な例はゲームセッションで、プレイヤーがホストマシンに接続してマルチプレイヤーマッチに参加します。
AGSセッションは、テンプレートの使用を通じて多様なセッションをサポートするように設計されており、プレイヤー待機室、レイドチーム、その他の機能など、追加のプレイヤー体験を定義できます。
主要概念
AGSセッションの設計で使用される主要概念を理解することが重要です。
セッションテンプレート
AGSセッションは、テンプレートを使用してデフォルトプロパティを定義します。これは、ゲームで有効にしたいさまざまなプレイヤー体験を概念化しやすくすることを目的としています。テンプレートの設定可能なプロパティは次のとおりです。
-
セッションテンプレート名: セッションの人間が読める名前。「パーティー」、「5対5デスマッチ」、「レイドチーム」など。
-
セッション機能: セッションがAGSの他の機能とどのように相互作用するかを定義する設定。設定には、AGSチャットの設定(プレイヤーチャットサポート用)、接続可能なゲームホストのタイプ、使用するサーバーデプロイメントが含まれます。
-
プレイヤー数: セッションに接続できるプレイヤーの最小数と最大数を指定する設定。
-
タイムアウト: 非アクティブなセッションメンバーまたはメンバー招待が削除されるまでの存在時間を制御する設定。
-
参加可能性: プレイヤーがセッションに参加できる方法を定義する設定。
-
永続性: プレイヤーが接続していない場合にセッションが自動的に削除されるかどうかを制御する設定。デフォルトでは、セッションは削除されますが、ゲームデザインで接続がなくてもセッションを維持する必要がある場合は、これを有効にできます。これは現在、APIを通じてのみ設定可能です。
パーティーはAGSセッションの一部として管理され、セッションタイプをNoneに設定した独自のセッションテンプレートを設定する必要があります。
セッション参加可能性
セッション参加可能性は、セッションテンプレートで設定された構成に基づいて、プレイヤーがセッションに参加できる方法を定義します。設定可能なオプションは次のとおりです。
-
オープン: マッチメイキングまたはセッションブラウザを通じて、任意のプレイヤーがセッションに接続できるようにします。
-
招待のみ: マッチメイキング、セッション内のプレイヤーによる他のプレイヤーの追加リクエスト、またはセッションに自動生成される参加コードを通じて、招待を受け取ったプレイヤーのみがセッションに参加できるようにします。
-
クローズド: マッチメイキングの一部として意図的に追加された場合、またはセッションの作成をリクエストしたゲームクライアントによって追加された場合を除き、プレイヤーがセッションに参加できないようにします。
セッション機能
マルチプレイヤー機能は、セッションがそれらの間のコーディネーターとして機能するAGS内の複数のサービスによって管理されます。セッションが他のサービスとどのように相互作用するかを指定するために、セッションテンプレートの一部として次のパラメータを設定できます。
-
セッションタイプ: セッションがホストマシンに接続するかどうか、およびホストのタイプを決定する設定。選択できるオプションは次のとおりです。
- 専用サーバー(DS): セッションとそのプレイヤーが専用サーバーに接続してゲームをプレイすることを示します。セッションは、最小数のプレイヤーがセッションに接続すると、専用サーバーマネージャーから専用サーバーをリクエストします。
- ピアツーピア(P2P): セッションとそのプレイヤーがプレイヤーのコンピュータの1つに接続し、ゲームプレイ中にホストとして機能することを示します。
- なし: セッションがホストマシンに接続することを意図していないことを示します。この設定は、パーティー、レイドチーム、地域チャットルームなどのセッションで使用されることを意図しています。
-
デプロイメント: リクエストされると専用サーバーにデプロイされるゲームサーバーイメージを通知する設定。この設定は、セッションタイプが専用サーバーに設定されている場合にのみ使用できます。
-
チャット有効化: セッションのチャットルームを有効または無効にできます。有効にすると、プレイヤーはセッションに接続している間、セッションチャットルームを通じて互いにメッセージを送信できます。
-
リクエストされたリージョン: セッションが接続準備ができた後、専用サーバーマネージャーによってリクエストされるデータセンターを定義します。
セッションタイムアウト
未承認の招待によってセッションが古くなったり不完全になったりするのを防ぐために、サービスはタイムアウトを設定する機能を提供します。パラメータはセッションテンプレートの一部として設定され、次のものが含まれます。
-
招待タイムアウト: セッションに参加する招待が承認または削除される前に存在する時間を定義します。
-
非アクティブタイムアウト: セッションのメンバーがセッションから削除される前に非アクティブ状態のままでいられる時間を定義します。
マッチメイキングに参加しているセッションでプレイヤーが非アクティブになるか招待がタイムアウトした場合、バックフィルチケットを生成でき(SDKを通じて自動または手動で)、AGSマッチメイキングに空のセッションスポットを埋めるための追加プレイヤーを見つけるよう通知します。
セッションブラウザ
セッションクエリAPIを使用すると、プレイヤーが参加可能なゲームセッションのリストを表示およびフィルタリングするためのセッションブラウザを構築できます。APIは、参加可能性設定がオープンである専用サーバーホストおよびピアツーピアホストセッションのリストのみを返します。APIは、開発者が参加パーティー情報、メンバーシップの変更、マッチメイキングの更新を含むセッション履歴にアクセスするためにも使用できます。
サポートされるセッションの例
セッションでは複数のセッションテンプレートを定義できるため、多くの異なるタイプのセッションを作成できます。これにより、さまざまなプレイヤー体験を提供できます。いくつかの例を次に示します。
-
ゲームセッション: 1人以上のプレイヤーが一緒に接続して、専用サーバーホストまたはピアツーピアホストのマッチでゲームをプレイできるようにします。
-
パーティー: プレイヤーがグループを形成し、チャットしてゲームセッションを調整できるようにします。
-
待機室: ゲームセッションが開始される前に、1人以上のプレイヤーが互いに交流できるようにします。
-
地域チャットセッション: 世界の特定の地域のプレイヤーが互いに接続してチャットできるようにします。
-
レイドチーム: 複数のパーティーが一時的に団結してレイドボスに挑戦できるようにします。