メインコンテンツまでスキップ

Introduction to Session

Last updated on April 18, 2024

概要

AccelByte Gaming Services (AGS) セッションサービスは、マルチプレイヤー体験を設定、体系化する機能をデベロッパーに提供します。これにより、プレイヤーは互いにつながって交流することができます。また、マルチプレイヤー機能のコアとして機能し、専用サーバーのリクエストを管理し、パーティ管理を行い、チャットルームを有効にします。

サービスの主なコンポーネントはセッションであり、プレイヤーグループのゲームのプロパティを定義します。典型的な例はゲームセッションです。マッチメイキングを通じてマルチプレイヤーマッチに参加するために、プレイヤーが接続されるセッションです。プレイヤーはマッチすると、ゲームセッションとホストマシンに接続され、そこで対戦できます。

ただし、このサービスはテンプレートを使用してさまざまなセッションをサポートするように設計されていることに注意してください。これにより、プレイヤーの待機室、レイドチームといった機能など、その他のプレイヤー体験を定義できます。

キーコンセプト

セッションサービスの設計では、いくつかの重要なコンセプトが用いられています。

セッションテンプレート

セッションサービスは、テンプレートを使用してデフォルトのプロパティを定義します。これは、ゲームで有効にしたいさまざまなプレイヤー体験を簡単に概念化できるようにすることを意図しています。テンプレートの設定可能なプロパティは次のとおりです。

  • Session Template Name (セッションテンプレート名)]:これは判読可能なセッション名であり、「パーティ」「5 vs 5 Deathmatch」「レイドチーム」などがあります。

  • Session Capabilities (セッション機能)]:セッションが他の AGS サービスとどのようにやり取りするかを定義する設定です。これには チャット ルームサポートや、接続できるゲームホストの種類、使用するサーバーデプロイメントが含まれます。

  • Player Counts (プレイヤーカウント)]:セッションに接続できるプレイヤーの最小人数と最大人数を指定する設定です。

  • Timeouts (タイムアウト)]:非アクティブなセッションメンバーまたはメンバーの招待が削除されるまでの時間を制御する設定です。

  • Joinability (参加可能性)]:プレイヤーのセッション参加を許可する方法を定義する設定です。

  • Persistence (永続性)]:セッションに接続しているプレイヤーがいない場合、セッションが自動的に削除されるかどうかを制御する設定です。デフォルトでは、セッションは削除されますが、ゲームデザイン上、接続がなくてもセッションを維持する必要がある場合は、有効にできます。現在、API からのみ設定可能です。

ヒント

パーティはセッションサービスの一部として管理されており、セッションタイプが[None (なし)]に設定された独自のセッションテンプレートを必要とします。

セッションの参加可能性

セッションの参加可能性は、セッションテンプレートでの設定に基づいて、プレイヤーがセッションに参加できるようにする方法を定義します。設定可能なオプションは次のとおりです。

  • Open (オープン)]:これが有効になっている場合、あらゆるプレイヤーはマッチメイキングまたはセッションブラウザのいずれかを通じてセッションに接続できます。

  • Invite Only (招待のみ)]:招待を受け取ったプレイヤーのみが、マッチメイキング、別のプレイヤーの追加をリクエストしているセッション内のプレイヤー、またはセッション用に自動的に生成される参加コードのいずれかを介してセッションに参加できます。

  • Closed (クローズド)]:マッチメイキングの一環として、またはセッションの作成をリクエストしたゲームクライアントによって意図的に追加されない限り、プレイヤーはセッションに参加できません。

セッション機能

マルチプレイヤー機能は複数の AGS サービスによって管理され、セッションサービスはそれらの間のコーディネーターとして機能します。セッションが他のサービスとやり取りする方法を指定するために、セッションテンプレートの一部としてこれらのパラメータを設定します。

  • Session Type (セッションタイプ)]:セッションがホストマシンに接続するかどうか、およびそのホストの種類を決定する設定です。選択できるオプションは次のとおりです。

    • Dedicated Server (DS) (専用サーバー(DS))]:セッションとそのプレイヤーがゲームをプレイするために専用サーバーに接続することを示します。セッションは、最小人数のプレイヤーがセッションに接続すると、専用サーバーマネージャーから専用サーバーをリクエストします。
    • Peer-to-Peer (P2P) (ピアツーピア(P2P))]:セッションとそのプレイヤーがプレイヤーのコンピュータのいずれかに接続することを示します。これは、ゲームプレイ中にホストとして機能します。
    • None (なし)]:セッションがホストマシンへの接続を意図していないことを示します。この設定は、パーティ、レイドチーム、または地域チャットルームなどのセッションで使用することを目的としています。
  • Deployment (デプロイメント)]:リクエストされた際に、どのゲームサーバーイメージを専用サーバーにデプロイするかを通知する設定です。この設定は、セッションタイプが[DS]に設定されている場合にのみ使用できます。

  • Enable Chat (チャットを有効化)]:これを使用して、セッションのチャットルームを有効/無効にできます。有効にすると、プレイヤーはセッションに接続している間、セッションのチャットルームからお互いにメッセージを送ることができます。

  • Requested Regions (リクエストするリージョン)]:セッションの接続準備が整ったら、専用サーバーマネージャーが専用サーバーを要求する際に要求元となるデータセンターを定義します。

セッションのタイムアウト

セッションが古くなったり、承諾されていない招待が原因で不完全なセッションになったりするのを防ぐために、このサービスは次のタイムアウトを設定する機能を提供します。パラメータはセッションテンプレートの一部として設定され、次のようなものが含まれます。

  • Invite Timeout (招待のタイムアウト)]:セッションへの招待が承諾または削除されるまでの時間を定義します。

  • Inactive Timeout (非アクティブのタイムアウト)]:非アクティブ状態に留まっているセッションのメンバーがセッションから削除されるまでの時間を定義します。

プレイヤーが非アクティブになった場合、またはマッチメイキングに参加しているセッションの招待がタイムアウトした場合、空のセッションスポットを埋めるために追加のプレイヤーを見つけるようマッチメイキングサービスに知らせるバックフィルチケットを(自動または SDK を介して手動で)生成できます。

セッションブラウザ

セッションクエリ API を使用して、プレイヤーが参加できるゲームセッションのリストを表示およびフィルタリングするためのセッションブラウザを構築できます。API は、専用サーバーと、[Joinability (参加可能性)]設定が[Open (オープン)]のピアツーピアホストセッションの両方のリストのみを返します。デベロッパーは API を使用して、参加パーティ情報、メンバーシップの変更、マッチメイキングの更新などの、セッション履歴にアクセスすることもできます。

サポートされているセッションの例

セッションサービスでは、複数のセッションテンプレートを定義できるため、さまざまな種類のセッションを作成できます。これにより、幅広いプレイヤー体験を提供できます。例として、次のようなものがあります。

  • ゲームセッション:1 人以上のプレイヤーがつながり、専用サーバーまたはピアツーピアのホストされたマッチでゲームをプレイできます。

  • パーティ:フレンドのグループがつながってチャットし、一緒にプレイしたいマルチプレイヤーゲームモードを調整できます。

  • 待機室:1 人以上のプレイヤーがゲーム開始前に互いにやり取りできるようにします。

  • 地域チャットセッション:世界の特定の地域にいるプレイヤーがつながってチャットできるようにします。

  • レイドチーム:複数のパーティが一時的に団結してレイドボスに挑めます。

次のステップ

セッションは、管理者ポータルGame SDK の両方で設定できます。