다음을 통해 공유


XR-007: 네트워크 간 플레이, 데이터 사용량 및 컴패니언 앱 상호 작용

버전 1.3, 10/1/2021

퍼블리셔는 Xbox Live 및 Xbox 콘솔 One 또는 Xbox Live 및 Xbox 콘솔의 다른 플랫폼에서 사용자별 데이터를 사용할 수 있습니다. 여기에는 다음과 같은 제한 사항이 있습니다.

  • 게임 진행 상황, 게임 아이템, 통계

    타이틀은 재량에 따라 게임 플랫폼 및 네트워크에서 게임 진행 상황, 가상 통화 지갑 및 게임 아이템(가상 통화로 잠금 해제된 항목 포함)을 동기화할 수 있습니다. 도전 과제에서 다른 플랫폼을 사용하도록 플레이하도록 요구하지 않을 경우 사용자 진행 상황의 일부로 타이틀에서 도전 과제 잠금 해제를 비롯한 전체론적인 통계 값을 제공할 수 있습니다.

  • Microsoft Store가 관리하는 권한

    Microsoft Store 및 기타 플랫폼 스토어에서 판매되는 디지털 콘텐츠 혹은 PDLC(예: 지도 팩 또는 추가 게임 플레이를 제공하는 모든 콘텐츠)는 게임 네트워크 전반에서 공유/로밍할 수 없습니다. 그러나 투명성을 위해 타이틀의 재량에 따라 Microsoft Store를 통해 판매되고 타이틀이 관리하는 게임 내 항목의 번들(예: 가상 통화 또는 VC를 통해 잠금이 해제된 항목)은 게임 네트워크 전반에서 공유/로밍할 수 있습니다.

    Cross Progression 기능을 지원하는 게임을 위해 다른 플랫폼에서 구매할 콘텐츠를 제공하는 경우:

    타이틀은 다음과 같이 수행해야 합니다.

    • Xbox 사용자가 불이익(릴리스 타이밍, 시장 적용 범위, 기능, 콘텐츠, 언어 및 현지화 및 물리적 토큰 카드 제공 등)을 받지 않도록 Microsoft Store에 판매용 콘텐츠와 동일하거나 더 나은 판매 제안을 제공합니다.
    • 디지털 코드가 소비자에게 직접 판매되는 경우 Microsoft의 Digital Content at Retail 프로그램(즉, Code to Content)에 해당 제안을 포함합니다.

    타이틀은 다음과 같이 수행하지 않아야 합니다.

    • 의도적으로 콘텐츠를 Microsoft Store에서 직접 구매하거나 Microsoft Store에서 구매하지 못하게 합니다(예: 마케팅, 광고, 매장 제품 또는 유사 프로그램을 통해). 또는,
    • Xbox 콘솔용 게임과 특징 및 기능이 동일하지 않은 제품 또는 경험과 관련하여 구매 시 이러한 콘텐츠를 제공합니다(단, 플레이어의 진행 상황 및 게임 데이터는 그러한 제품 또는 경험과 공유될 수 있음(예: "동반자 경험")).
  • 교차 플랫폼 플레이

    타이틀은 재량에 따라 Xbox Live 지원 플랫폼에서 Xbox Live 사용자 간에 동기 또는 비동기 교차 플랫폼 게임 플레이를 지원할 수 있습니다.

  • 네트워크 간 및 컴패니언 응용 프로그램 플레이

    타이틀에서 재량에 따라 Xbox Live 사용자와 Xbox Live 이외 게임 네트워크 사용자 간에 네트워크 간 게임 플레이를 동기화 또는 비동기화할 수 있습니다. 단, Xbox 콘솔에 대해 다음과 같은 제한이 적용됩니다.

    • 망외 플레이어와 함께 플레이할 때 게임에서 Xbox Live 사용자를 시각적으로 식별해야 합니다.
    • 사용자가 네트워크 간 플레이어가 있는 게임 모드로 들어가면 게임에서 경고를 표시해야 합니다.
    • XR-015: 플레이어 통신 관리와 XR-045: Xbox 네트워크 및 계정 권한에 자세히 설명된 대로 Xbox Live 안전 정보 설정에 따라 네트워크 간 통신을 제한해야 합니다.
    • 타이틀은 모든 멀티 플레이어 게임 모드에서 네트워크 간 플레이를 요구하지 않아야 합니다.
  • 사용자 생성 콘텐츠

    XR-018: 사용자 생성 콘텐츠 외에 콘텐츠 또는 컴패니언 앱 사용자가 IP 또는 저작권을 침해하거나, 법률을 위반하거나, 공개 사용에 적절하지 않는 것으로 간주될 경우 퍼블리셔는 콘텐츠를 제거하거나 컴패니언 앱 사용자를 차단할 책임이 있습니다. Xbox Live 이외 사용자의 경우 콘텐츠가 다음과 같아야 합니다.

    • 익명으로 퍼블리싱되고 파트너에 의해 관리되어야 합니다.
    • Xbox Live 이외 사용자가 Xbox 콘솔이 아닌 플랫폼에서 콘텐츠를 생성한 경우 퍼블리셔의 중심 계정 이름을 사용하여 콘텐츠를 표시해야 합니다. 이 계정 이름을 사용자의 Xbox Live 계정 이름이 표시되는 방식과 명확히 구분하여 혼동을 방지해야 합니다. 퍼블리셔 계정이 Xbox Live 계정에 연결되어 있는 경우 콘텐츠가 다른 플랫폼에서 생성되었더라도 Xbox Live 계정을 퍼블리셔 계정과 함께 표시해야 합니다.

추가 리소스

Xbox Live 네트워크 간 멀티 플레이어 구현 지침

소개

아래 화이트페이퍼에서는 Xbox Live 플레이어를 넘어 네트워크 간 멀티 플레이로까지 경험을 확장시키고 싶은 타이틀을 위한 기술 고려 사항을 설명합니다. 여기에서는 타이틀 및 UI 디자인은 물론 네트워크 간 시나리오를 위한 정책까지 개괄적인 지침을 제공합니다.

Xbox Live 멀티 플레이 경험과 비교해 볼 때, 타이틀은 네트워크 간 멀티 플레이 경험을 이용해서 다른 게임 네트워크 플레이어를 멀티 플레이 경험에 포함할 수 있습니다. 이러한 플레이어는 Xbox Live ID가 없으므로 타이틀 내에서 신중한 디자인 고려 사항이 필요합니다. 이러한 고려 사항에는 매치 메이킹 및 플레이어 표현( Xbox Live 멀티 플레이어 플랫폼(NDA 항목 참조)권한 부여 필요, 플레이어 ID 표현 또는 게임 네트워크 간의 통신 권한과 같은 기술적 측면이 포함됩니다.

네트워크 간 멀티 플레이

네트워크 간 멀티 플레이를 사용하면 타이틀에 Xbox Live와 다른 게임 네트워크 간의 멀티 플레이 경험을 만들 수 있습니다. 이러한 경험은 Xbox Live 플레이어를 보호하도록 디자인되어야 합니다. 타이틀에서 Xbox Live 안전 설정을 준수하고 플레이어가 네트워크 간 경험을 거부할 수 있는 옵션을 제공해야 합니다.

네트워크 간 게임 플레이를 활성화하려면 타이틀이 일반적으로 Xbox Live에서 처리되는 추가 플레이어, 세션 및 상태 정보를 관리해야 합니다. 이를 위해서는 추가 타이틀 서비스/서버가 필요합니다.

최소한 타이틀이 타이틀 서비스/서버를 통해 다음을 관리할 수 있어야 합니다.

  • 네트워크 간 세션

    타이틀 서비스는 게임 네트워크에서 함께 플레이 중인 플레이어 그룹을 유지 관리해야 합니다. 현재까지 Xbox Live 이외의 ID는 Xbox Live 멀티 플레이 세션에 직접 멤버로 추가할 수 없습니다.

  • 네트워크 간 매치 메이킹 서비스

    타이틀 서비스는 서로 다른 게임 네트워크 간에 매치 메이킹을 제공해야 합니다.

  • 네트워크 간 초대 서비스

    타이틀 서비스는 네트워크 간 초대 및/또는 진행 중 참가를 제공해야 합니다.

서비스 요건 외에도 모든 플레이어의 안전한 게임 플레이 경험을 보장하기 위해 타이틀이 다음 기능을 처리해야 합니다.

  • 네트워크 간 권한 유효성 검사

    타이틀은 네트워크 간 멀티 플레이어 모드를 활성화하기 전에 네트워크 간 플레이를 위한 권한(권한 185)을 확인해야 합니다. 이 권한이 없으면 게임 플레이를 Xbox Live 전용 경험으로 제한해야 합니다.

  • 네트워크 간 플레이어 ID

    타이틀 서비스 내에서 모든 플레이어를 고유하게 식별하기 위해서는 모든 멀티 플레이 네트워크 간에 플레이어에 대해 고유한 플레이어 ID를 제공할 수 있어야 합니다. 타이틀은 계정 연결(계정 연결 모범 사례 화이트페이퍼)을 사용하여 네트워크 간에 사용될 수 있는 타이틀별 ID에 Xbox Live 계정을 연결할 수 있습니다.

  • 고유한 플레이어 이름

    타이틀 UI에서 모든 플레이어를 고유하게 식별하려면 고유한 플레이어 이름을 제공해야 합니다. 모든 Xbox Live 및 네트워크 간 플레이어를 고유하게 식별해야 합니다. 게임 플레이 중 Xbox Live 플레이어 식별을 위해 Xbox Live 게이머태그를 다른 네트워크에 있는 플레이어로 전송할 수 있습니다.

  • 통신 권한 유효성 검사

    네트워크 간 경험을 위해 게임 내 음성 또는 문자 채팅이 필요한 타이틀은 사용자 지정 타이틀 서버/서비스를 통해 이 기능을 지원해야 합니다. 다른 네트워크와의 통신을 위한 Xbox Live API는 제공되지 않습니다. 하지만 Xbox Live 플레이어가 네트워크 간 통신 개인 정보 보호 설정을 지정할 수 있고, 네트워크 간 경험에서 이를 준수해야 합니다.

  • 프리미엄 가상 통화

    네트워크 간 프리미엄 가상 통화를 지원하려는 타이틀은 사용자 지정 타이틀 서비스를 사용하여 플레이어의 가상 통화 잔액을 추적하고 유지 관리해야 합니다. 참고: 이 기능은 제한 사항이 적용됩니다. 자세한 내용은 가상 통화 및 아이템을 참조하세요.

이러한 고유한 요건 외에도 모든 표준 Xbox Live 멀티 플레이 및 통신 요건(예: 권한 확인, 자녀 보호 기능, 세션 관리 및 UI 요건)이 적용됩니다.

장치 간 멀티 플레이

네트워크 간 멀티 플레이와 달리, 장치 간 멀티 플레이는 Xbox Live 내부에 있지만 여러 다른 장치 간에 수행되는 멀티 플레이 경험입니다. 일반적으로는 Xbox One 타이틀과 Xbox Live가 지원되는 Windows 10 타이틀 사이의 멀티 플레이 경험입니다. 이러한 경험이 여러 다른 장치 유형 간에 걸쳐져 있더라도, 이것들은 Xbox Live 멀티 플레이어 경험입니다. 타이틀은 장치 간 및 네트워크 간 멀티 플레이를 동시에 구현할 수 있습니다.

게임 플레이 흐름

네트워크 간 게임 플레이 흐름은 기존의 Xbox Live 멀티 플레이 흐름의 확장 형태로 디자인되어야 합니다.

권장 흐름은 다음과 같습니다.

  1. 권한 유효성 검사

    모든 멀티 플레이 및 매치 메이킹 흐름에서 타이틀은 멀티 플레이, 네트워크 간 플레이 및 현재 사용자의 통신 권한을 확인해야 합니다. 타이틀은 또한 사용자의 네트워크 간 통신 개인 정보 보호 설정을 확인하고 개인 정보 보호 설정에 표시된 대로 통신을 제한해야 합니다.

  2. 네트워크 간 초대, 진행 중 참가 또는 매치 메이킹

    타이틀은 새 게임 초대, 참가 또는 매치 기능을 제공합니다. 모든 옵션은 Xbox Live 이외의 플레이어를 게임 플레이에 포함합니다. 필요에 따라 네트워크 간 초대, 진행 중 참가 또는 매치 메이킹을 지원하려면 사용자 지정 타이틀 서비스를 사용해야 합니다.

  3. 네트워크 간 세션

    네트워크를 통해 플레이어 그룹이 식별되면 타이틀(또는 타이틀 서비스)이 네트워크 간 플레이어 목록/게임 플레이 세션을 유지합니다. 이 기능은 Xbox Live 및 비 Xbox Live 플레이어를 동일한 세션에서 지원하려면 타이틀 서비스를 통해 제공되어야 합니다.

  4. Xbox Live 초대 및 진행 중 참가

    슬롯이 열려 있고 게임 디자인에 따라 새 플레이어를 허용하는 게임 플레이 세션은 가입 가능 상태로 표시되어야 하며 Xbox Live를 통해 초대를 허용해야 합니다. 이는 Xbox Live 초대장을 작성하고 Xbox Live의 진행 중 지원을 위한 플레이어 활동을 설정하는 직접 통화를 사용하는 MPA(Multiplayer Activity) 서비스를 통해 달성되는 것이 가장 좋습니다.

  5. 네트워크 간 세션 정리 및 Xbox Live 최근 플레이어

    멀티플레이어 게임 플레이가 완료된 후, 게임 플레이 세션을 재사용하여 추가 게임 플레이/매치메이킹을 하거나 게임을 중단할 수 있습니다. 모든 연속 흐름에 대해 MPA를 사용하여 올바른 활동 상태를 설정합니다. Xbox Live 플레이어의 최근 플레이어 목록을 채우려면 타이틀이 필요합니다. 이는 모든 Xbox Live 플레이어의 최근 플레이어 활동을 반영하는 직접 MPA 통화를 통해 이루어집니다. 해당되는 경우 게임 실행 중에 최근 플레이어 활동도 업데이트할 수 있습니다.

이후 게임 세션에 대해 Xbox Live 외부 사용자와의 통신 차단 기능을 타이틀에서 사용할 수 있어야 합니다.

또한 MPSD(멀티 플레이어 세션 디렉터리) 서비스를 통해 초대, 참여 및 최근 플레이어 지원을 받을 수 있습니다. 그러나 이 솔루션은 복잡성이 더 높기 때문에 권장되지 않습니다. MPSD를 사용하는 타이틀은 플레이어 상태를 MPSD 세션으로 미러링해야 하며 기존 네트워크 간 세션도 미러링해야 합니다.

플레이어 권한

Xbox Live 멀티 플레이와 비슷하게, 타이틀이 네트워크 간 멀티 플레이어 게임 플레이 전에 음성 및 문자 채팅을 위한 멀티 플레이어 및 채팅 권한을 확인해야 합니다. 이러한 권한 외에도 타이틀이 네트워크 간 기능을 활성화하기 위해 네트워크 간 플레이 권한을 확인해야 합니다.

안전한 경험을 위해 타이틀은 항상 Xbox Live 계정을 확인하고 멀티 플레이어 또는 다른 기능을 적절하게 제한해야 합니다.

세션 및 매치 메이킹 흐름

2018년 봄부터 타이틀은 원하는 대로 네트워크 간 게임 플레이를 활성화할 수 있습니다. 여기에는 초대, 진행 중 참가 및 매치 메이킹 흐름이 포함됩니다.

타이틀은 다음과 같은 흐름에 따라 Xbox Live 초대, 참여 및 최신 플레이어 지원을 제공해야 합니다.

  • 매치 메이킹/세션 찾아보기

    네트워크 간 매치 메이킹/세션 탐색을 활성화하려면 사용자 지정 타이틀 서비스를 사용해야 합니다.

  • 초대

    Xbox Live 초대 시스템은 Xbox Live 플레이어를 위한 게임 외 초대를 지원하기 위해 사용해야 합니다. Xbox Live 외부 플레이어에 대한 게임 내 초대의 경우 사용자 지정 타이틀 서비스를 사용해야 합니다.

  • 진행 중 참가

    Xbox Live 사용자의 경우 참여 시나리오를 지원하도록 플레이어 활동을 설정해야 합니다. 이 기능은 게임 외 진행 중 참가를 지원합니다. Xbox Live 외부 플레이어에 대한 게임 내 진행 중 참가의 경우 사용자 지정 타이틀 서비스를 사용할 수 있습니다.

위의 모든 Xbox Live 기능은 직접 통화를 통해 MPA(멀티플레이어 활동) 서비스를 사용하여 구현되는 것이 가장 좋습니다. 제목은 제목 흐름에 따라 Xbox Live의 초대 및 참여 과정을 지원해야 합니다. 자세한 내용은 XR-067 및 XR-124를 참조하세요.

인게임 채팅

타이틀은 Xbox Live 전용 타이틀 또는 플랫폼 간/네트워크 간 타이틀 모두에 대해 타이틀 내 음성 채팅 및/또는 텍스트 채팅을 지원하도록 선택할 수 있습니다.

  • Xbox Live 음성 채팅

    Xbox Live 플레이어 간의 음성 채팅을 지원하는 타이틀에는 Microsoft, 스튜디오 소유 구현 또는 타사 미들웨어 솔루션에서 제공하는 솔루션을 사용할 수 있는 옵션이 있습니다.

    인게임 채팅을 구현하는 데 어떤 기술이 활용되든, 타이틀은 Xbox Live 권한, 개인 정보 설정 및 음소거 목록이 적용되도록 해야 합니다. Microsoft는 Xbox Live에 두 가지 옵션을 제공합니다.

    • GameChat2
      • Xbox Live 권한 및 개인 정보 설정을 자동으로 처리합니다.
        • 네트워크 간 또는 플랫폼 간 시나리오는 지원하지 않습니다.
      • PlayFab 파티
        • Xbox Live 도우미 라이브러리를 통해 권한 및 개인 정보 설정을 적용하기 위한 간단한 모델을 제공하지만 자동으로 처리하지는 않습니다.
        • 네트워크 간 및 플랫폼 간 시나리오를 지원합니다.
  • 네트워크 간 음성/텍스트 채팅

    네트워크 간 음성 또는 텍스트 채팅을 원하는 타이틀은 Azure PlayFab 파티 API를 통해 또는 타이틀 또는 미들웨어에서 제공하는 라이브러리/서비스/서버를 사용하여 사용자 지정 솔루션을 통해 이 기능을 지원할 수 있습니다.

    모든 기능은 권한, 네트워크 간 통신 개인 정보 보호 설정 및 Xbox Live 사용자에 대한 음소거 목록을 지원해야 합니다.

    GameChat2 및 PlayFabParty에서 제공하는 기능에 대한 전체 개요는 "Azure PlayFab 파티" 및 "게임 채팅 2 소개" 설명서 페이지를 참조하세요.

네트워크 연결

타이틀은 네트워크 간 멀티 플레이어 환경을 위한 네트워크 연결을 구현할 때 네트워크 보안의 모범 사례를 따르는 것이 좋습니다. 콘솔 네트워크 보안 모범 사례에 대한 자세한 내용은 통신 보안 개요(NDA 항목)권한 부여 필요를 참조하세요.

Xbox Live 연결

Xbox Live 멀티 플레이와 비슷하게, 네트워크 간 멀티 플레이 경험에는 Xbox Live에 대한 클라이언트 연결이 필요합니다. 연결을 사용할 수 없고 서비스 호출이 실패하면 타이틀에 Xbox Live 서비스에 대한 연결 오류가 표시되어야 합니다. 하지만 일정 시간 동안의 서비스 중단은 타이틀에서 용인될 수 있습니다.

권장되는 방법은 플레이어가 시간 제한 기간 내에 게임 라운드를 완료할 수 있도록 하는 것입니다. 타이틀은 이 기간 동안 실패한 Xbox Live 서비스 호출을 재시도하고 기간이 지난 후 실패를 처리해야 합니다.

보안 요구 사항

Xbox Live 서비스 및 장치 무결성을 보호하기 위해 타이틀은 모든 타이틀 통신에 대한 프로토콜 및 파서를 강화하고 테스트해야 합니다.

콘솔 네트워크 보안 모범 사례에 대한 자세한 내용은 통신 보안 개요(NDA 항목)권한 부여 필요를 참조하세요.

네트워크 간 게임 기능

기본적인 네트워크 간 멀티 플레이 기능 외에도 타이틀에는 네트워크 간 플레이의 영향을 받을 수 있는 다른 기능들이 포함됩니다. 타이틀은 네트워크 간 플레이어가 포함된 게임 플레이 모드에서 올바른 동작을 제공하도록 주의해야 합니다.

사용자 계정 권한

네트워크 간 멀티 플레이 환경에서는 Xbox Live 플레이어의 계정 권한을 올바르게 처리해야 합니다. 타이틀은 해당 경험에 필요한 모든 권한을 확인하고 그에 따라 올바르게 작동해야 합니다. 관련 권한은 다음과 같습니다.

  • 멀티 플레이 권한(254)

    멀티 플레이 기능에 대한 액세스 권한을 확인하기 위해 사용됩니다. 타이틀은 이 권한에 따라 멀티 플레이 기능을 제한해야 합니다.

  • 네트워크 간 플레이(185)

    네트워크 간 멀티 플레이 기능에 대한 액세스 권한을 확인하기 위해 사용됩니다. 타이틀은 이 권한에 따라 네트워크 간 기능을 제한해야 합니다.

  • 통신 권한(252)

    음성 및 문자 통신을 위한 권한입니다. 타이틀은 이 권한을 기준으로 통신(음성 및 문자)을 제한해야 합니다.

  • UGC(사용자 생성 콘텐츠) 권한(247)

    타이틀은 이 권한을 기준으로 UGC 액세스 권한(찾아보기 및 생성)을 제한해야 합니다.

타이틀 기능에 따라 타이틀에 더 많은 권한이 적용될 수 있습니다. 권한에 대한 질문이 있으면 DAM(개발자 계정 관리자)에게 문의하세요.

플레이어 통신 차단/보고

타이틀은 Xbox Live 플레이어 간 통신 차단 목록을 준수해야 합니다. 타이틀은 check_permission_with_target_user을(를) 통해 다른 Xbox Live 플레이어와의 여러 작업을 위해 권한을 쿼리할 수 있습니다. Xbox Live 플레이어는 Xbox Live 서비스에 저장된 차단 목록(및 권한)과 플랫폼 UI를 통해 다른 Xbox Live 플레이어를 차단할 수 있습니다.

교차 네트워크 통신의 경우 제목은 교차 네트워크 통신 개인 정보 사용 권한(communicateUsingVoicecrossNetworkUser/crossNetworkFriend)을 준수해야 합니다. 이러한 권한은 사용자가 네트워크 간 통신을 허용하는지, 친구들과의 통신만 허용하는지, 아니면 모든 네트워크 간 통신을 차단하는지를 나타냅니다.

코드 예제:

std::vector<string_t> userList;
userList.push_back(L"crossNetworkUser");
userList.push_back(L"crossNetworkFriend");

std::vector<string_t> permissionList;
permissionList.push_back(L"communicateUsingVoice");

auto checkCrossCommunicationTask = liveContext->privacy_service().check_multiple_permissions_with_multiple_target_users(
    permissionList,
    userList);

create_task(checkCrossCommunicationTask)
    .then([this](xbox_live_result<std::vector<multiple_permissions_check_result>> permResult)
{
    if (!permResult.err())
    {
        auto& permissionResults = permResult.payload();

        if (permissionResults[0].items()[0].is_allowed())
        {
            // enable cross-network voice communication for all
        }
        else
        {
            if (permissionResults[1].items()[0].is_allowed())
            {
                // enable cross-network voice communication for friends only
            }
            else
            {
                // disable cross-network voice communication for all
            }
        }
    }
    else
    {
        // handle error
    }
});

crossNetworkUsercrossNetworkFriend 권한은 check_multiple_permissions_with_multiple_target_users API를 통한 일괄 통화 또는 Xbox Live 개인 정보 서비스에 대한 POST 요청을 수행하는 경우에만 지원됩니다(서비스 대 서비스 유효성 확인을 위해). 이러한 권한을 사용하면 check_permission_with_target_user 오류가 발생합니다.

타이틀은 타이틀의 친구 관계 컨텍스트를 기준으로 통신 제한을 올바르게 처리해야 합니다.

  • 타이틀 친구 목록

    타이틀에 타이틀 관련 친구 목록(특정 네트워크와 연결되지 않음)만 사용될 경우, 이러한 친구 관계를 사용하여 Xbox Live 플레이어와 Xbox Live 외부 플레이어 사이의 친구 상태를 확인해야 합니다.

  • Xbox Live 외부 네트워크 친구 목록

    타이틀에 다른 네트워크의 친구 목록이 사용될 경우 이 목록을 사용하여 Xbox Live 플레이어와 Xbox Live 외부 플레이어 사이의 친구 관계를 확인해야 합니다.

  • 친구 개념 없음

    타이틀이 네트워크 간 사용자에 대한 친구 개념을 지원하지 않을 경우 친구로 제한된 네트워크 간 통신은 차단된 통신 제한으로 해석되어야 합니다.

이러한 요건 외에도 Xbox Live 외부 사용자에 대한 플레이어별 통신 차단 기능을 제공하는 것이 좋습니다.

네트워크 간 차단 목록은 다음 방법 중 하나로 유지 관리할 수 있습니다.

  • 연결된 저장소

    네트워크 간 차단 목록은 플레이어에 대한 저장 게임/설정의 일부로 저장됩니다. 플레이어가 로컬 저장 게임 콘텐츠를 삭제할 때는 차단 목록 삭제가 허용됩니다.

  • TMS(타이틀 관리 저장소)

    네트워크 간 차단 목록은 TMS에 저장됩니다. 따라서 로컬 콘텐츠가 삭제될 때 플레이어가 차단 목록을 실수로 제거하지 못하도록 방지합니다.

  • _사용자 지정 타이틀 서비스_

    타이틀의 네트워크 간 매치 메이킹 서비스와 같은 사용자 지정 타이틀 서비스를 사용하여 차단 목록을 저장할 수도 있습니다.

차단 기능은 MMO와 같이 타이틀에 따라 달라집니다. 특정 차단 목록 시나리오에 대한 추가 질문이 있으면 DAM에게 문의하세요.

다운로드 가능한 콘텐츠

대부분의 타이틀에서는 추가 콘텐츠(영구 또는 소모성 DLC)를 사용할 수 있습니다. 콘텐츠 사용은 네트워크 간 경험에 따라 제한되며 타이틀 구성 및 매치 메이킹은 이러한 제한 사항에 따라 필터링되어야 합니다.

  • Xbox Live DLC 콘텐츠 전용

    네트워크 간 경험의 경우 Xbox Live 마켓플레이스 외부에서 얻은 영구(기존 DLC) 콘텐츠는 Xbox Live 사용자로 확장될 수 없습니다. 네트워크 간 콘텐츠는 모든 Xbox Live 사용자 및 Xbox Live 외부 사용자가 동일한 콘텐츠 집합(예: 동일한 맵 팩)을 소유하는 경우에만 사용할 수 있습니다.

  • 독점 콘텐츠

    독점(네트워크 특정) 콘텐츠는 DAM과의 검토 후 다른 멀티 플레이 네트워크와 공유될 수 있습니다. 자세한 내용은 DAM에게 문의하세요.

무료 콘텐츠(모든 멀티 플레이 네트워크에서 제공되는 경우)는 모든 플레이어가 해당 콘텐츠에 액세스할 수 있는 경우에만 네트워크 간에 사용될 수 있습니다.

가상 통화 및 아이템

최근 정책 변경에 따라 Xbox Live 및 다른 네트워크 간에 통합된 단일 가상 통화 지갑을 포함하는 것이 가능합니다. 가상 통화를 통해 구입한 아이템도 동일한 방식으로 공유될 수 있습니다.

네트워크 간에 통합된 지갑 및 인벤토리를 지원하기 위해서는 보안 타이틀 서비스 및 계정 연결이 필요합니다.

지속성 콘텐츠 예외

Microsoft Store를 통해 제공되는 지속성 콘텐츠(예: 맵 팩)는 네트워크 간에 공유되지 않을 수 있습니다. 플레이어는 연결된 기능에 액세스하려면 Microsoft Store에서 지속성 콘텐츠를 구매해야 합니다.

타이틀은 사용 가능한 플랫폼에서만 Microsoft Store에서 구매를 사용하도록 설정해야 합니다. 플레이어가 다른 플랫폼의 다른 스토어로 연결되도록 마켓플레이스 흐름을 디자인할 수는 없습니다.

도전 과제

멀티 플레이 타이틀은 일반적으로 여러 활동들에 대한 도전 과제를 제공하며, 다음 방식으로 네트워크 간 게임 플레이를 고려해야 합니다.

  • 네트워크 간 도전 과제 진행 허용

    네트워크 간 멀티 플레이 경험은 도전 과제 진행에 있어서 Xbox Live 독점 경험과 다르게 취급될 필요가 없습니다. 네트워크 간 게임 플레이 내부의 게임 플레이 활동(예: 게임 승리 또는 다른 플레이어 격퇴)은 Xbox Live 멀티 플레이 경험 내에서 발생할 경우 도전 과제에 포함될 수 있습니다.

  • 독점 네트워크 간 도전 과제 없음

    타이틀은 네트워크 간 멀티 플레이 경험에 대한 독점 도전 과제를 제공하지 않아야 합니다. 모든 멀티 플레이 도전 과제는 Xbox Live 내에서만 획득할 수 있어야 합니다.

도전 과제 무결성 및 품질을 보존하기 위해서는 타이틀이 네트워크 간 멀티 플레이 경험에 대한 치트 및 도전 과제 점수 부풀리기를 방지해야 합니다.

플레이어 진행 상태

네트워크 간 계정 연결을 사용하고 네트워크 간에 고유한 타이틀 플레이어를 제공하는 타이틀의 경우, 플레이어 진행 상태를 네트워크 간에 공유하는 것이 가능합니다.

또한 타이틀 서비스에서 도전 과제 진행 상태를 추적하는 타이틀은 도전 과제에 다른 플랫폼을 사용한 플레이가 필요하지 않은 한 네트워크 간에 도전 과제 진행 상태를 공유할 수 있습니다.

게임 DVR/브로드캐스팅

게임 DVR은 Xbox One 및 Windows 10에서 플레이어가 게임 플레이를 녹화(네트워크 간 게임 플레이 포함)하고 및 스크린샷을 캡처할 수 있도록 제공됩니다. 타이틀은 해당 녹화에 네트워크 간 상호 작용으로 인한 부적절한 문자열(채팅, UGC 또는 플레이어 식별자)이 포함되지 않도록 해야 합니다. 서비스 또는 게임 내 기능을 통한 게임 브로드캐스팅에도 동일한 규칙이 적용됩니다.

순위표

Xbox Live 통계 및 순위표 서비스는 Xbox Live 플레이어에 대한 순위표만 제공하지만, 타이틀은 자신의 고유 서비스를 통해 보다 복잡한 순위표를 제공할 수 있습니다. 이러한 순위표의 경우, Xbox Live 플레이어에게 일관적인 경험을 제공할 수 있도록 특별한 주의가 필요합니다.

타이틀은 플레이어가 네트워크 간 게임 플레이를 활성화한 경우에만 병합된 네트워크 간 순위표가 표시되도록 해야 합니다. 내부적으로 타이틀 서비스는 Xbox Live 플레이어에게 올바른 순위표만 표시되는 한 각 멀티 플레이 네트워크에 대한 서로 다른 순위표는 물론 병합된 순위표까지 만들 수 있습니다.

타이틀 및 타이틀 서비스는 Xbox Live 플레이어에 대해 올바른 현재 플레이어 ID가 표시되도록 해야 합니다. 플레이어 정보는 오래된 정보 방지를 위해 최대 4시간까지만 캐시에 저장될 수 있습니다.

사용자 인터페이스 요건

네트워크 간 게임 플레이에 대해 일관된 플레이어 경험을 보존하기 위해 타이틀은 이러한 게임 플레이 시나리오에 대한 사용자 인터페이스 요건 집합을 준수해야 합니다. 다음 요건 및 예제에서는 가장 일반적인 UI 시나리오를 보여줍니다.

네트워크 간 플레이어 표현

Xbox Live 플레이어에서 타이틀은 모든 경험 간에 게이머태그를 플레이어 식별자로 사용합니다. 게이머태그는 다른 플레이어에 대해 고유하지만 변경될 수 있습니다. 또한 잘 정의된 문자열 크기 및 문자 제한을 따릅니다. Xbox Live 게이머태그를 다른 멀티 플레이 네트워크의 플레이어 식별자와 병합할 때도 동일한 규칙이 적용됩니다.

플레이어의 혼란을 방지하고 모든 타이틀에서 일관된 경험을 보장할 수 있도록 네트워크 간 플레이어 표시를 위해서는 다음 요구 사항을 따라야 합니다.

  • 타이틀/퍼블리셔 식별자

    타이틀/퍼블리셔 식별자가 고유한 타이틀은 이를 사용하여 플레이어를 식별할 수 있습니다. 하지만 Xbox Live 게이머태그는 Xbox Live 플레이어에게 항상 표시되고 액세스 가능한 상태여야 합니다. 타이틀/퍼블리셔 식별자에 연결된 Xbox Live ID가 있는 플레이어의 경우, 원격 플레이어의 현재 플랫폼에 관계없이 모든 Xbox Live 지원 타이틀 버전에 게이머태그가 표시되어야 합니다.

  • 시각적으로 구분 가능한 Xbox Live 플레이어

    Xbox Live 플레이어는 다른 네트워크에 있는 플레이어와 시각적으로 구분될 수 있어야 합니다. 이 작업은 Xbox Live 플레이어에 대해 고유한 색상 및/또는 아이콘을 제공하여 수행할 수 있습니다. 권장 방법은 플레이어의 게이머 사진을 사용하고 게이머태그를 고유 색상으로 강조 표시하는 것입니다.

  • 승인된 네트워크 식별자

    타이틀은 승인된 네트워크 식별자 또는 일반 플랫폼 식별자를 통해서만 Xbox Live 외부 플레이어의 멀티 플레이 네트워크를 식별해야 합니다. 타이틀은 또한 모든 Xbox Live 외부 플레이어에 대해 단일 일반 식별자를 사용하도록 선택할 수도 있습니다.

  • 고유한 플레이어 식별자

    네트워크 간 경험에서 플레이어 이름은 모두 고유하게 식별될 수 있어야 합니다. 모든 Xbox Live 플레이어는 게이머태그로 표현되어야 합니다. 다른 네트워크의 플레이어는 그에 상응하는 사용자 식별자를 통해 식별되어야 합니다. 이름이 충돌할 경우에는 Xbox Live 외부 플레이어에 대해 "PlayerName (2)"와 같은 접미어를 사용해야 합니다.

네트워크 간 친구 목록

플레이어 혼란을 방지하고 모든 타이틀 간에 일관된 경험을 보장하기 위해서는 Xbox Live/Xbox Live 외부 플레이어에 대한 소셜 관계(친구) 정보를 표시할 때 다음 요건을 따라야 합니다.

  • Xbox Live 친구 목록

    타이틀은 게임 내 Xbox Live 친구 목록을 표시할 수 있습니다. 이 목록은 Xbox Live에서 가져와야 하며, 타이틀 서버에 캐시되지 않아야 합니다.

  • 타이틀/퍼블리셔 소셜 관계

    타이틀은 게임 내 UI에서 타이틀/퍼블리셔 소셜 관계를 표시할 수 있습니다. 게임에서 볼 수 있는 경우 이 관계는 게시자의 관계 또는 Xbox Live 플레이어 ID로 명확하게 식별되어야 합니다. 이름 문자열이 동일한 경우에도 플레이어는 게시자와 Xbox Live ID를 구별할 수 있어야 합니다.

  • Xbox Live 외부 소셜 관계

    타이틀은 Xbox Live 플레이어가 갖고 있는 Xbox Live 외부 ID와 Xbox Live 외부 플레이어가 갖고 있는 Xbox Live 외부 ID와의 소셜 관계를 표시할 수 있습니다. 이 관계 표시는 Xbox가 아닌 플레이어 ID로 명확하게 식별되어야 합니다. 플레이어에서는 이름 문자열이 동일하더라도 비 Xbox Live와 Xbox Live ID를 구분할 수 있어야 합니다. 플레이어는 Xbox Live와 비 Xbox Live 친구 상태를 구별할 수 있어야 합니다.

타이틀은 타이틀/퍼블리셔/Xbox Live 외부 친구 목록에서 Xbox Live 친구 목록으로 또는 그 반대로 플레이어를 쉽게 추가할 수 있도록 게임 내 UI를 포함하는 것이 가장 좋습니다. 타이틀은 아직 Xbox Live 친구 목록에 없는 플레이어를 식별하기 위해 클라이언트에서 친구 목록을 가져오고 ShowAddRemoveFriendAsync를 사용하여 Xbox Live를 통해 친구를 빠르게 추가하는 방법을 지원할 수 있습니다.

구현 예제

Xbox Live 네트워크 간 멀티 플레이 구현 예제: 멀티 플레이 게임

Xbox Live 네트워크 간 멀티 플레이 구현 예제: MMO