Skip to main content

XR-115: 게임 플레이 중 사용자 또는 컨트롤러 추가 및 제거 *

버전 1.1, 2021/5/1 여러 사용자를 지원하는 타이틀은 사용자 또는 컨트롤러의 추가 및 제거, 또는 게임 플레이 중 활성 플레이어에게 할당된 컨트롤러가 없거나 컨트롤러가 손실되는 시나리오에 다음과 같이 반응해야 합니다. 컨트롤러 추가: 타이틀이 초기 사용자 및 컨트롤러를 선택했거나 제공받은 후, 타이틀은 선택적으로 다른 컨트롤러의 입력을 수락할 수 있습니다. 멀티플레이어 경험을 지원하는 타이틀은 추가 플레이어 또는 컨트롤러가 게임 플레이에 추가되고 XUserAddAsync로 사용자에게 바인딩되는 방식을 고려해야 합니다. 예를 들어, “A 버튼을 눌러 참가” 또는 플레이어 선택 화면에 컨트롤러 실루엣을 표시하는 것 등입니다. 컨트롤러 제거: 게임 플레이를 진행 중인 플레이어의 컨트롤러가 게임 플레이 중 제거되면, 타이틀은 새 활성 컨트롤러의 재설정을 허용해야 합니다(예: “A 버튼을 눌러 계속” 또는 유효한 컨트롤러를 가진 활성 사용자에 대해 ERA에서는 ControllerPairingChanged, GDK에서는 XUserDeviceAssociationChangedCallback 이벤트를 수신). 타이틀은 또한 XUserFindControllerForUserWithUiAsync를 사용하여 시스템 UX를 호출하여 사용자가 자신의 사용자에게 컨트롤러를 페어링하고 게임 플레이로 돌아가도록 프롬프트를 표시할 수 있습니다. 사용자 추가: ERA 또는 UWP를 사용할 때, 새 사용자가 로그인하면, 타이틀이 다중 사용자 경험을 지원하는 경우 타이틀에 사용자를 추가할 수 있지만, 새로운 로그인 사용자 이벤트를 기반으로 활성 사용자를 새 사용자로 자동 전환하거나 활성 사용자의 경험을 방해해서는 안 됩니다. GDK를 사용할 때(단순화된 또는 고급 사용자 모델 중 하나를 사용), 사용자는 타이틀이 XUserAddAsync를 호출할 때만 추가됩니다. 주 사용자 제거: ERA 또는 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년 8월 13일