Pia の主要モジュール(ライブラリ)の階層図です。
以下に各モジュールの概要を示します。
PiaCommon は全モジュールに共通の機能(メモリ管理など)を提供するモジュールです。それぞれのモジュールで共通機能を共有するためのモジュールであり、アプリケーションから直接使用する機能は一部のみとなります。
以下の機能が含まれています。
各機能についての詳細は「2. PiaCommon 編」を参照してください。
PiaLocal はローカル P2P 通信機能を提供するネットワーク管理モジュールです。SDK の UDS ライブラリを拡張し、より高度な機能を使用することが可能になります。
以下の機能が含まれています。
ローカルネットワークホストが切断してもネットワークを継続できるホストマイグレーション
通信中に周辺のネットワークを検索できるアラウンドネットワークサーチ
PiaLocal は内部で CTR-SDK の UDS ライブラリを使用しています。UDS ライブラリを直接使用しなくても、PiaLocal を使用するだけで同等のパフォーマンスを実現することができます。ただし、UDS ライブラリの受信専用子機(Spectator)には対応していません。
各機能についての詳細は「3. PiaLocal 編」を参照してください。
採用タイトルの例:[Switch] スプラトゥーン2、[Switch] ARMS、[Switch] マリオカート8デラックス、[3DS] ゼルダの伝説 トライフォース3銃士、[3DS] とびだせ どうぶつの森、[3DS] New スーパーマリオブラザーズ 2、[3DS] 大乱闘スマッシュブラザーズ
PiaInet はインターネット P2P 通信機能を提供するネットワーク管理モジュールです。NEX サーバーサービス、PiaSession を組み合わせて使用します。
以下の機能が含まれています。
各機能についての詳細は「4. PiaInet 編」を参照してください。
採用タイトルの例:[Switch] スプラトゥーン2、[Switch] ARMS、[Switch] マリオカート8デラックス、[Wii U] スプラトゥーン、[Wii U] マリオカート8、[3DS] とびだせ どうぶつの森、[Wii U/3DS] 大乱闘スマッシュブラザーズ
PiaLan は LAN P2P 通信機能を提供するネットワーク管理モジュールです。ゲームサーバーを使用せず同じルータ下に存在する端末間でセッションを構築することができます。PiaSession と組み合わせて使用します。
以下の機能が含まれています。
各機能についての詳細は「5. PiaLan 編」を参照してください。
採用タイトルの例:開発効率のために多くのタイトルで開発中に使用されています。
PiaTransport は様々な送受信機能を提供するトランスポート管理モジュールです。PiaSession と組み合わせて使用します。
以下の機能が含まれています。
各機能についての詳細は「6. PiaTransport 編」を参照してください。
PiaSession はゲーム参加者の集合となるセッション(集まり)の管理を行うセッション管理モジュールです。PiaSession の「セッション」とは、マッチメイクサーバー上のグループであるマッチメイクセッション(またはローカル通信のネットワーク)と、お互いが P2P 通信接続状態となっている P2P メッシュネットワークを合わせたものに相当します。セッションの構築/参加処理を行うことで自動的にマッチメイクセッション(またはローカルネットワーク)と P2P メッシュネットワークの構築/参加処理が行われます。
以下の機能が含まれています。
インターネット通信時には内部で NEX マッチメイク API が呼び出され、ローカル通信時には内部で SDK のローカル通信ライブラリの API が呼び出されます。各機能についての詳細は「7. PiaSession 編」を参照してください。
PiaSync は入力同期通信(ステーション間でキー入力を共有する方式のゲーム通信)のための機能を提供するモジュールです。
以下の機能が含まれています。
各機能についての詳細は「8. PiaSync 編」を参照してください。
採用タイトルの例:[Wii U] Wii Sports Club、[3DS] ゼルダの伝説 トライフォース3銃士、[3DS] New スーパーマリオブラザーズ 2
PiaClone は状態同期通信(ステーション間でゲームオブジェクトの状態を共有する方式のゲーム通信)のための機能を提供するモジュールです。
以下の機能が含まれています。
各機能についての詳細は「9. PiaClone 編」を参照してください。
採用タイトルの例:[Switch] スプラトゥーン2、[Switch] ARMS、[Wii U] スプラトゥーン
PiaReckoning は PiaClone 上で推測航法によって状態(位置情報など)を補間するための機能を提供するモジュールです。
以下の機能が含まれています。
各機能についての詳細は「10. PiaReckoning 編」を参照してください。
PiaChat はボイスチャット機能を提供するモジュールです。
以下の機能が含まれています。
各機能についての詳細は「
採用タイトルの例:[Wii U] マリオカート8
PiaFramework は他のモジュールの機能を統合するモジュールです。PiaSession のセッション管理、PiaTransport の通信機能、SDK や NEX の初期化など必須となる機能を統合した API を備えており、処理の自動化によってゲーム開発期間を短縮することができます。
別途用意している PiaUnity では PiaFramework API を使用しています。
以下の機能が含まれています。
各機能についての詳細は「11. PiaFramework 編」を参照してください。