7.22. デバッグ支援 - マッチメイク分析機能

マッチメイク分析機能とは、アプリケーションのマッチメイク処理を分析するためのデバッグ支援機能です。アプリケーションのマッチメイク仕様が一通り実装できた段階で分析することをおすすめします。

マッチメイク分析機能の有効化

デフォルトでは無効に設定されています。有効化するには次のように設定します。

コード 7-46. マッチメイク分析機能の有効化
// DebugSetting 構造体の設定
nn::pia::session::Session::DebugSetting debugSetting;

// マッチメイク分析機能の設定
debugSetting.isEnableMatchmakeAnalysis = true;
 
result = nn::pia::session::Session::SetDebugSetting(debugSetting);
if (result.IsFailure())
{
    // エラー処理
    // 適切なタイミングで呼び出している限り、失敗しません
}
// 上記の処理成功後に Session::CreateInstance を呼び出して Session クラスのインスタンスを生成することで
// マッチメイク分析機能が有効な状態になります

 

マッチメイク分析機能を有効化することにより、下記の分析(問題の検知)を行うことができます。

セッション参加承認コールバックの不整合検知

セッション参加承認コールバックの不整合を検知することができます。具体的には、次の条件を全て満たすときにホストに警告ログを出力します。

  • セッション(マッチメイクセッション)がオープンの状態
  • Session::RegisterJoiningApprovalCallback() によって登録したセッション参加承認コールバックが拒否判定を返す状態

多数のプレイヤーが存在する製品環境では、セッションがオープンの状態のときにセッション参加承認コールバックが拒否判定を返す仕様の場合 ResultJoinRequestDenied が多く発生する可能性があります。アプリケーションにそのような潜在的な問題がないか警告によって検知することができます。

ホストマイグレーション後も新しいホストが不整合検知を継続します。

参加承認コールバックの識別トークンを使用している場合、この不整合チェックで使用する識別トークンを次の API で設定できます。

コード 7-47. 不整合チェックで使用する識別トークンの設定
// 不整合チェックに使用する識別トークン
nn::pia::transport::Station::IdentificationToken token;

// 不整合チェック用に識別トークンを設定
nn::pia::session::Session::GetInstance()->SetMatchmakeAnalysisToken(&token);