CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
session/Advanced サンプルデモ

概要

nn::pia::session::Session の機能を利用した、より高機能なデモです。

  • セッションの作成、検索、参加
  • ランダムマッチメイク(インターネットマッチメイク、LAN マッチメイク時)
  • リレー接続とリレー接続エミュレーション機能(インターネットマッチメイク、LAN マッチメイク時)
  • 同じゲームからフレンドのセッションへの合流(インターネットマッチメイク時のみ)
  • HOME メニューからフレンドのセッションへの合流(インターネットマッチメイク時のみ)
  • ホストマイグレーション
  • セッションのオープン、クローズ
  • ビットレート判定機能
  • マッチメイクシステムパスワードを使用した再参加(インターネットマッチメイク時のみ)
  • あいことばマッチメイク(インターネットマッチメイク時のみ)
  • コミュニティ(インターネットマッチメイク時のみ)
  • デバッグ用ダミーセッション作成機能(インターネットマッチメイク時のみ)

デモの適用範囲

このサンプルデモは、主に以下の項目に関するデモです。

各シーンでの処理の概要と操作方法

起動時の初期化処理

フレンドプレゼンスを利用し、HOME メニューから起動したかを判定します。
フレンドプレゼンス利用での起動の場合はフレンドのセッションの選択シーンまで自動的に遷移し、
セッションへの参加を試みます。

フレンドプレゼンスの合流機能を利用して、フレンドの参加しているセッションに合流するためには、合流ゲーム ID、合流ゲームモードマスクについて適切な設定を 行ったマスター ROM を作成し、HOME メニューから起動する必要があります。

マスター ROM 作成手順についての詳細は「CTR マスター ROM 作成・提出手順書」を参照ください。

このソースファイルと同じディレクトリに合流ゲームID などの設定を行った Advanced.bsf を収録しています。
Omakefile でこちらのバナースペックファイルを指定しています。

通常起動の場合はマッチメイクの選択シーンに自動的に遷移します。

マッチメイクの選択シーン

インターネットマッチメイク、ローカルマッチメイク、LAN マッチメイク、ダミーセッションのいずれを行うかを選択するシーンです。

入力 動作
A ボタン ローカルマッチメイク(UDS)での通信を開始します。選択すると セッションの選択シーン に遷移します。
B ボタン ダミーセッションを開始します。選択すると ダミーセッションの管理シーン に遷移します。
X ボタン LAN マッチメイクを開始します。選択すると セッション構築種別の選択シーン に遷移します。
Y ボタン インターネットマッチメイクを開始します。選択すると セッション構築種別の選択シーン に遷移します。
L ボタン ビットレート判定機能の有効化、無効化を切り替えます。
R ボタン セッションのトポロジーを切り替えます。

セッション構築種別の選択シーン

セッション構築をどのように行うかを選択するシーンです。
セッションシステムパスワードを使用して再参加するための情報を保持している場合は自動的に
セッションの選択シーンに遷移し、セッションへの参加を試みます。

入力 動作
A ボタン ランダムマッチメイクでセッションに参加します。選択すると 通信中のシーン に遷移します。(インターネットマッチメイク時のみ)
B ボタン マッチメイクの選択シーン に遷移します。
Y ボタン 選択すると セッションの選択シーン に遷移します。
X ボタン 選択すると フレンドセッションの選択シーン に遷移します。(インターネットマッチメイク時のみ)
L ボタン あいことばマッチメイクで使用するあいことばの設定を切り替えます。(インターネットマッチメイク時のみ)
START ボタン 選択すると コミュニティの選択シーン に遷移します。(インターネットマッチメイク時のみ)

セッションの選択シーン

ネットワーク上のセッションを検索し、自身がクライアントとして接続するネットワークを選ぶシーンです。

新規にセッションを作成することも可能です。(この場合、自身はホストになります。)

入力 動作
十字ボタン(上下) 接続する対象のセッションを選択します。
十字ボタン(左) 検索したセッションの情報を履歴として保存し、再検索せずにセッション参加できるモードに切り替えます。
十字ボタン(左) 検索したセッションの情報の内、セッション ID を履歴として保存し、再検索せずにセッション参加できるモードに切り替えます。(インターネットマッチメイク、ローカルマッチメイク時のみ)
Start ボタン 検索したセッションの情報の履歴をクリアします。
A ボタン 選択したセッションへの参加を行います。通信中のシーン に遷移します。
B ボタン ローカルマッチメイクの場合はローカルマッチメイクを終了し、マッチメイクの選択シーン に遷移します。
インターネットマッチメイク、LAN マッチメイクの場合は セッション構築種別の選択シーン に遷移します。
Y ボタン ネットワーク上のセッションを検索します。
X ボタン 新規にセッションを構築します。セッションの構築を完了すると、通信中のシーンに遷移します。

フレンドセッションの選択シーン

フレンドプレゼンスを取得し、フレンドが参加しているセッションで合流可能なセッションを検索し、自身がクライアントとして接続するネットワークを選ぶシーンです。

新規にセッションを作成することも可能です。(この場合、自身はホストになります。)

入力 動作
十字ボタン(上下) 接続する対象のフレンドの PrincipalId を選択します。
A ボタン 選択したフレンドのセッションへの参加を行います。通信中のシーン に遷移します。
B ボタン セッション構築種別の選択シーン に遷移します。
Y ボタン フレンドプレゼンスを取得し、フレンドが参加しているセッションで合流可能なセッションを検索します。
X ボタン 新規にセッションを構築します。セッションの構築を完了すると、合流可能であることをプレゼンスに反映し、通信中のシーンに遷移します。

通信中のシーン

セッション内のノードと通信を行います。
このシーンでは、各ノードが以下のような通信を行います。

  • 毎秒60回 の頻度でブロードキャスト(全員宛) パケットを送信 (上画面に表示されるキャラクタの位置を送りあいます)

このシーンでは通信できていることを示すために、接続しているノードごとに1つキャラクタ('*')を割り当て、表示しています。
キャラクタの右に StationId とプレイヤー名を表示しています。

ネットワークから切断すると再初期化処理を経て マッチメイクの選択シーン に遷移します。
意図せずネットワークから切断された場合は エラー表示シーン に遷移します。

デバッグ用機能として、自分自身およびセッションホストのネットワーク情報を下画面下部に表示します。

入力 動作
十字ボタン 上画面に表示されるキャラクタの位置を動かします。
通信が出来ていることを示すため、十字ボタンの操作が無い場合、キャラクタは右方向へ動くようになっています。
B ボタン セッションから離脱します。
ホストとして動作していて、ホストマイグレーションが有効な場合、ホストマイグレーションを行い、セッションから離脱します。
ホストマイグレーションが無効な場合、セッションを破棄します。
離脱後は セッション構築種別の選択シーン に遷移します。
X ボタン セッション設定を更新します。(セッションホストのみ)
Y ボタン 参加しているセッションの情報を取得します。
L ボタン セッションを参加受付処理を開始します。参加受付処理と同時にセッション設定を更新します。既に参加受付状態の場合はセッションを参加締め切り処理を開始します。(セッションホストのみ)
START ボタン 再参加に必要なセッションシステムパスワードを生成し、セッション ID とともに記録します。既にセッションシステムパスワードを生成している場合は解除し、セッション ID とともにクリアします。 ホストのみ有効です。

コミュニティの選択シーン

ネットワーク上のコミュニティの検索、参加、作成、更新、離脱、破棄を行うシーンです。

入力 動作
十字ボタン(上下) 参加する対象のコミュニティを選択します。
A ボタン 選択したコミュニティへの参加を行います。
A + Lボタン 選択したコミュニティの設定更新を行います。
B ボタン セッション構築種別の選択シーン に遷移します。
B + Lボタン 選択したコミュニティから離脱します。
B + Rボタン 選択したコミュニティを破棄します。
Y ボタン 自身が参加しているコミュニティを検索します。
Y + Lボタン 公式コミュニティを検索します。
Y + Rボタン 指定したコミュニティ ID のコミュニティを検索します。
Y + STARTボタン 自身がオーナーであるコミュニティを検索します。
X ボタン 新規にコミュニティを構築します。

ダミーセッションの管理シーン

ダミーセッションの構築、破棄、設定更新を行うシーンです。

入力 動作
A ボタン ダミーセッションを構築します。
B ボタン マッチメイクの選択シーン に遷移します。
Y ボタン ダミーセッションの設定更新を行います。
X ボタン ダミーセッションを破棄します。

エラー表示シーン

サンプルデモ内で発生したエラーを画面に表示する場合に遷移するシーンです。

無線 OFF モードで通信が行えない場合や、通信が維持できなくなった場合はエラー種別を画面に表示します。
AC 接続に失敗した場合やフレンドサーバやゲームサーバへのログインに失敗した場合、セッションへの参加に
失敗した場合はエラー種別、エラー発生時の Result、エラーコードなどを画面に表示します。

エラー種別は以下の通りです。

  • ネットワークインターフェースがオフ状態のため、初期化に失敗しました
  • 上記以外の理由で初期化が失敗しました
  • ゲームサーバーへのログインに失敗しました
  • ネットワーク接続が断絶しました
  • セッションが消失(ロスト)しました
  • セッションのスタートアップに失敗しました
  • セッションの作成に失敗しました
  • セッションの検索に失敗しました
  • セッションへの参加に失敗しました
  • セッションからの離脱に失敗しました
  • セッションの破棄に失敗しました
  • その他、通信エラーが発生しました
入力 動作
A ボタン シーンを抜け、再初期化処理を経て マッチメイクの選択シーン に遷移します。