Skip to main content
版本 1.1,5/1/2021 支援多位使用者的遊戲,必須在遊戲過程中針對使用者的新增和移除,或作用中玩家未指派控制器或控制器遺失的情況,依下列方式做出回應: 新增控制器: 在遊戲已選取或已獲得初始使用者和控制器之後,遊戲可以選擇性地接受來自其他控制器的輸入。支援多人體驗的遊戲,應考量如何將額外的玩家或控制器新增至遊戲過程,並使用 XUserAddAsync 將其繫結至使用者。例如,「按 A 加入」,或在玩家選擇畫面上顯示控制器剪影。 移除控制器: 如果在遊戲過程中移除了驅動遊戲過程之玩家的控制器,遊戲必須允許重新建立新的作用中控制器 (例如「按 A 繼續」,或針對擁有有效控制器的作用中使用者,在 ERA 中接收 ControllerPairingChanged 事件,或在 GDK 中接收 XUserDeviceAssociationChangedCallback 事件)。遊戲也可以使用 XUserFindControllerForUserWithUiAsync 叫用系統 UX,提示使用者將控制器與其使用者配對,然後返回遊戲過程。 新增使用者: 使用 GDK 時 (無論使用簡化或進階使用者模型),只有在遊戲呼叫 XUserAddAsync 時才會新增使用者。 移除主要使用者: 對於使用 GDK 進階使用者模型的遊戲,如果主要使用者已登出 (透過指南、SPOP 或其他方式),遊戲必須將該玩家從遊戲中移除,或重新建立使用者和作用中的控制器。 對於使用 GDK 簡化使用者模型的遊戲,移除主要玩家將導致遊戲在系統層級暫停。 在所有情境中,遊戲都會透過讓遊戲處於良好狀態來處理移除/關閉。這包括寫入連線儲存體、通知任何相關的 MPSD 工作階段該使用者已離開,以及在尚未新增新使用者的情況下,將使用者帶到適當的位置進行登入。 移除額外/次要使用者: 遊戲可以自行決定如何處理此事件,通常是立即將玩家從遊戲過程中移除,或在所使用之多人體驗的內容中提示玩家重新加入。

實作指引與最佳做法

最佳做法是在作用中玩家的控制器被移除時暫停遊戲過程。 當作用中的使用者登出時,最佳做法是盡可能儲存使用者的進度,讓使用者返回體驗時,幾乎能回到先前離開的位置。 如果遊戲支援多位已登入的使用者,當某位作用中的使用者登出,而其他作用中的使用者仍處於登入狀態時,最佳做法是盡可能讓其他作用中的使用者繼續目前的體驗。對於遊戲,已登出的使用者可以從遊戲過程中完全移除,或以電腦控制的玩家取代。

其他資源

認證測試案例

下表顯示在使用 GDK 簡化使用者模型,或 GDK 進階使用者模型、ERA 及 UWP 多使用者應用程式時,XR-115 的哪些測試案例適用於您的遊戲。 * 115-01 新增使用者僅適用於 ERA 和 UWP 多使用者應用程式。使用 GDK 時,遊戲只能看到其刻意新增的使用者。透過殼層新增的使用者,對 GDK 遊戲而言是未知的。
115-01 新增使用者
測試步驟
  1. 登入設定檔 A,並確保沒有其他設定檔登入。
  2. 啟動遊戲並進入遊戲過程。
  3. 在使用遊戲期間的各個時間點,連接第二個控制器並登入設定檔 B。
  4. 設定檔 B 嘗試向遊戲提供控制器輸入。
預期結果
ERA 或 UWP MUA 遊戲不得自動中斷作用中使用者的體驗。
通過範例
  1. 遊戲不會自動將作用中的使用者切換為新使用者,也不會中斷作用中使用者的體驗。
  2. 遊戲可以根據目前的內容,選擇允許設定檔 B 控制遊戲。
失敗範例
  1. 遊戲立即將內容切換為以設定檔 B 作為作用中的使用者。

115-02 移除控制器
測試步驟
  1. 登入設定檔並啟動遊戲。
  2. 在使用遊戲期間的各個時間點,取出控制器的電池。
  3. 將電池裝回控制器,並確認使用者可以繼續使用遊戲。
  4. 重複步驟 [1] - [3],但改為連接第二個控制器,而不是裝回電池。
預期結果
遊戲必須正確回應控制器的移除和新增。
通過範例
  1. 移除或新增控制器之後,作用中的使用者應能繼續使用遊戲。
  2. 系統提示使用者重新建立新的作用中控制器 (例如「按 A 繼續」,或透過叫用系統 UX)。
失敗範例
  1. 移除控制器之後,使用者無法繼續使用遊戲。

115-03 移除使用者
測試步驟
  1. 登入設定檔 A,並確保沒有其他設定檔登入。
  2. 啟動遊戲並進入遊戲過程。
  3. 在使用遊戲期間的各個時間點,登出設定檔 A。
  4. 確認遊戲叫用帳戶選擇器,或將使用者帶回前端。
  5. 在可能的情況下,以下列方式與遊戲互動:
  • 登入設定檔 A,並確保遊戲不會進一步中斷使用者的體驗。
  • 登入設定檔 B,並確保遊戲更新為新使用者的內容。
預期結果
遊戲必須將玩家從遊戲中移除,或重新建立使用者和作用中的控制器。如果將玩家從遊戲中移除,遊戲應保持在良好狀態。這包括寫入連線儲存體、通知任何相關的 MPSD 工作階段該使用者已離開,以及在尚未新增新使用者的情況下,將使用者帶到適當的位置進行登入。
通過範例
  1. 遊戲將玩家從遊戲中移除並返回前端。
  2. 遊戲允許使用者重新建立新使用者,並正確更新為相關的使用者內容。
失敗範例
  1. 遊戲未對使用者狀態的變更做出反應。
  2. 選取新設定檔後,遊戲仍繼續使用設定檔 A 的使用者狀態。
最後修改於 2026年10月8日