XR-018: 사용자 생성 콘텐츠 *
버전 1.5, 4/1/2024
사용자 생성 콘텐츠는 사용자가 앱이나 제품에 기여하는 콘텐츠로 온라인 상태에서 다른 사용자가 보거나 액세스할 수 있습니다. 제품에 UGC가 포함되어 있는 경우 다음을 수행해야 합니다.
- 게임 또는 타이틀의 웹 사이트에서 사용자 생성 콘텐츠에 대한 제품 약관 서비스 및/또는 콘텐츠 가이드라인을 게시하고 사용자에게 제공
- 콘텐츠 지침을 위반하는 경우 사용자가 제품 내의 부적절하거나 유해한 콘텐츠를 개발자에게 보고하여 검토 및 제거/비활성화하거나 부적절하거나 유해한 UGC(예: 텍스트 필터링)를 사전에 탐지할 수 있는 방법을 제공
- Microsoft에서 요청할 경우 UGC를 제거/비활성화해야 합니다.
- 사용자가 게임에서 UGC에 액세스할 수 없는 시나리오를 기품 있게 처리합니다.
- 타사 모드 플랫폼과 통합된 타이틀은 제품의 보고서/호환 API(사용 가능한 경우)와 통합되어야 하며, 각 타사 계약에 따라 콘텐츠를 조정해야 합니다.
- 콘텐츠를 개발자가 제공하지 않은 경우 타사 모드 플랫폼과 통합된 타이틀은 사용자에게 고지 사항, 대화 상자 또는 시각적 신호를 제공해야 합니다.
추가 정보
UGC(사용자 생성 콘텐츠)
이 XR의 목적상, 사용자 생성 콘텐츠(UGC)이란 용어는 플레이어에서 생산한 다음 플레이어가 한 명 이상의 다른 사람과 공유하거나 또는 온라인 상태에서 제목을 통해 사용할 수 있는 모든 게임 내 디지털 콘텐츠를 말합니다. 이 맥락에서 '공유'는 단순히 콘텐츠가 다른 사람이 보거나 액세스할 수 있다는 것을 의미하며, 플레이어 측의 조치가 반드시 필요한 것은 아닙니다.
게임 수정(모드라고도 함)도 UGC로 간주됩니다. 범위에 있는 모드는 개발자 스토어 또는 개발자가 제어하는 지정된 업로드 및 공유 영역, 게임 내 환경을 통해 생성되고 공유되는 모드, 개발자의 중재가 필요한 타사 모드 플랫폼을 통해 활성화된 모드와 같은 개발자 제어 배포 방법으로 지원됩니다.
높은 수준에서 UGC는 다음을 포함할 수 있지만 이에 국한되지는 않습니다.
- 플레이어 사용자 지정 텍스트 필드(예: 플레이어 별명 및 바이오 정보, 문자 이름, 무기 이름, 클랜 태그 및 기호/게시판에 게시된 텍스트)
- 플레이어가 만들거나 업로드한 이미지, 비디오 및 GIF
- 플레이어가 만든 지도, 지형, 월드, 플레이어 엠블럼, 텍스처, 모델, 자산, 상징 색, 스킨, 드로잉, 소리 및 캐릭터 동작: 감정, 애니메이션 제스처 또는 동작, 신체 부분 물리학
- 플레이어가 만든 게임 내 사진, 비디오 및 GIF(Xbox 네트워크에 업로드된 콘텐츠 제외(예: Xbox 스크린샷 및 게임 클립))
- 참고 - 제한된 편집 기능 또는 플레이어 사용자 지정(예: 사진 필터, 자르기, 크기 조정 등)으로 게임 내 캡처 기능을 구현하고 불쾌한 콘텐츠를 제작할 가능성이 적은 타이틀은 면제 대상이 될 수 있습니다.
UGC로 간주되지 않는 예:
- 개발자가 관리하는 사전 제작된 인앱 플레이어 응답(예: "안녕", "GG")
- 개발자가 설계한 플레이어 아바타 이모티콘
- 플레이어의 게임 활동에 대한 기록 또는 '유령'
- 플레이어가 엄격히 설정된 매개 변수 내에서 개발자가 만들고 확인한 콘텐츠를 최소로 사용자 지정할 수 있는 시나리오
- 예를 들어 플레이어 엠블럼의 색이나 크기를 변경하는 플레이어는 UGC가 아닙니다. 단, 플레이어가 여러 개의 엠블럼을 레이어드할 수 있도록 허용하면 의도하지 않은 결과가 발생할 수 있으며 UGC로 간주됩니다.
핵심 게임 메카닉으로서의 UGC
UGC를 핵심 게임 플레이 기계로 활용하는 타이틀은 이 XR을 준수해야 합니다. 이 XR의 각 섹션에서 UGC의 자격과 면제되는 시나리오는 무엇인지 반드시 검토해야 합니다. 이러한 게임의 예는 다음을 포함하지만 이에 국한되지는 않습니다.
- 사용자 지정 가능한 월드를 허용하는 샌드박스 게임
- 드로잉 게임
- 필터링되지 않은 플레이어의 텍스트 입력이 필요한 게임
유해하거나 부적절한 텍스트 사전 탐지
StringService API를 사용하는 제목은 자동 관리 검색 요구 사항(텍스트 시나리오의 경우)을 충족합니다. 타이틀은 기본적으로 이름 및 기타 짧은 정적 텍스트 문자열에 대해 StringService API를 활용해야 합니다. 타이틀에 더 긴 텍스트 입력을 허용하는 다른 텍스트 시나리오가 있거나 기술 또는 기타 제한 상황이 있는 경우, 타이틀은 용어 집합이 Xbox 서비스의 다른 플레이어에게 표시되지 않도록 제한하여 고유한 텍스트 필터링 변형을 구현하도록 선택할 수 있습니다. Xbox 서비스에서 로컬이 아닌 플레이어의 차단 또는 난독 처리에 대한 최소 기준으로 활용해야 하는 핵심 단어 목록을 참조하세요.
서비스 약관 및/또는 콘텐츠 지침
타이틀은 반드시 게임 또는 타이틀의 웹 사이트에서 사용자 생성 콘텐츠에 대한 제품 약관 서비스 및/또는 콘텐츠 가이드라인을 게시하고 사용자에게 제공해야 합니다. 개발자는 이러한 지침의 예로서 Xbox 커뮤니티 표준을 참조할 수 있습니다.
추가 관련 XR
UGC를 구현할 때 준수해야 하는 다른 XR이 있습니다.
- 콘솔 게임 전용XR-007(네트워크 간 플레이, 데이터 사용량 및 도우미 앱 상호 작용): 타이틀이 네트워크 간 플레이를 지원하는 경우 타이틀이 XR-007에 설명된 UGC 요구 사항을 준수하는지 확인합니다.
- XR-045(Xbox 네트워크 및 계정 권한): 적절한 권한 검사가 발생하는지 확인합니다.
예외
- UGC는 연결된 동반 앱을 통해 로컬/LAN 온라인 시나리오에서 생성 및 공유되며, 해당 로컬 그룹 이외의 플레이어와 공유되지 않습니다(소파 또는 거실 시나리오).
- UGC는 오프라인에서 생성 및 공유되며, 이는 서비스에 업로드되지 않습니다. 오프라인에서 시작된 후 나중에 온라인으로 공유된 UGC는 예외 사항이 아닙니다.
- 본질적으로 일시적인 멀티 플레이어 또는 온라인 설정에서 생성된 '콘텐츠'는 UGC 아티팩트(사진, 텍스트, 사용자 지정 세계 또는 지도 저장 파일, 모드 패키지 파일 등)를 생성하지 않으며 개발자는 의도적으로 콘텐츠를 만들고 공유할 수있는 수단을 제공하지 않습니다.
- 면제 사례:
- 글머리 기호 구멍(유해하거나 불쾌한 철자를 쓸 수 있음)
- 게임 내 아이템을 특정 형태로 배치(유해하거나 불쾌한 내용의 철자를 쓰거나 묘사하는 데 사용할 수 있음)
- 비면제 사례:
- 개발자가 지원하는 배포 시스템을 통해 다른 플레이어와 공유되는 사용자 지정 세계
- 면제 사례:
- 로비 또는 게임 텍스트 오버레이와 같이 게임에서 실시간으로 공유되는 플레이어 입력 텍스트 메시지는 텍스트 필터링이 되지 않습니다.
- 친구 간에 공유되는 UGC는 필터링이 필요하지 않습니다. 여기에서 "친구"란 플레이어 간의 양자 관계로 정의되며, 두 사람 모두가 다음과 같은 조건을 충족하는 관계입니다.
- 콘텐츠를 공유하는 플레이어가 이전에 콘텐츠 수신자를 추적하라는 요청을 했고, 수신자가 이러한 추적 요청을 수락했습니다.
- 콘텐츠를 공유하는 플레이어가 이전에 콘텐츠 수신자로부터 추적 요청을 수신했고 해당 요청을 수락했습니다.
- 타사 엔터티가 계약을 통한 조정을 요구하지 않는 한, 타사 웹 사이트(예: Nexus Mods) 또는 스토어(예: Steam)와 같이 개발자가 제어하지 않는 채널을 통해 배포되는 게임 수정 사항
- 개발자가 소유하거나 유지 관리하지 않는 서버를 통해 플레이어가 얻은 게임 수정 사항
- 게임 메커니즘 또는 구성을 변경하는 게임 수정 사항. 예: 플레이어 통계, 무기 통계, 무게, 히트박스 및 날씨
- 기본 게임 요소를 변경하는 게임 수정 사항. 예를 들어, 텍스처에 대한 색 바꾸기 또는 문자/아바타 크기 변경 그러나 간단한 색 바꾸기 또는 텍스처 제거를 사용하여 불쾌한 UGC를 만들 수 있으므로 문자/아바타에 적용할 수 있는 텍스처를 사용하여 추가 예방 조치를 고려해야 합니다.
구현 지침 및 모범 사례
UGC 중재를 위한 일반 지침
- 타이틀이 고유한 텍스트 필터링 변형을 구현하는 경우 게시자는 용어 목록을 업데이트하고 유지 관리하는 정기적인 주기를 약속해야 합니다(Microsoft의 핵심 단어 목록 용어는 활성 상태로 유지되어야 함).
- UGC를 핵심 게임 플레이 기계(예: 도면, 샌드박스 게임 등)로 활용하는 타이틀은 플레이어가 보고서와 관련된 증거를 위해 스크린샷을 캡처할 수 있는 메커니즘을 구현해야 합니다.
- 편집 및 사용자 지정 기능 없이 게임 내 캡처 기능(예: 사진 및 비디오)을 구현하는 타이틀은 유해한 콘텐츠가 생성될 수 있고 조정이 필요한지를 깊이 고려해야 합니다.
- 플레이어는 UGC를 보고하는 이유에 대한 범주별 옵션(예: 플레이어 엠블럼, 클랜 태그, 지도 등)을 제공해야 하며 텍스트 필드를 통해 더 많은 컨텍스트를 제공할 수있는 옵션도 제공해야 합니다.
- UGC가 제거/비활성화되어 당초 원본 콘텐츠(공유 및 복제)가 아닌 경우 당초 UGC를 제거하는 단계를 수행해야 합니다.
- 플레이어는 UGC 보고서가 성공적으로 수신되었다는 통지를 받아야 합니다.
- 플레이어의 UGC를 제거/비활성화할 경우, 플레이어의 제거에 대한 이유가 제공되어야 합니다.
- 타이틀 또는 타이틀 웹 사이트에는 저작권 자료에 대한 게시 중단 프로세스로의 링크가 있어야 합니다.
- 플레이어가 UGC를 보고하면 장치에서 해당 콘텐츠를 더 이상 볼 수 없으며 해당 크리에이터의 모든 콘텐츠를 차단할 수 있는 옵션이 제공됩니다.
- UGC 보고 및 조정에는 UGC를 실행 가능하게 하기 위한 기본 속성이 필요합니다. 성공적인 조정을 위한 최소 데이터는 일반적으로 다음과 같이 구성됩니다.
- 고유 대상 사용자 ID
- UGC 보고서 유형(플레이어 애칭, 플레이어 엠블럼, 텍스처 등)
- UGC 증거(텍스트, 이미지, 게임 내 메타데이터 등)
- 보고일시
- 보고서 제출자의 의견(자세한 정보)
- 보고서의 원본 위치(웹 페이지, 게임 내 보기)
- 타이틀은 플레이어의 UGC 공유 기능을 일시 중지하고 UGC를 공유할 수 없는 이유를 알리는 등 반복적이거나 심각한 위반자에 대한 완화를 가능하게 하는 시스템을 구현할 수 있습니다.
- 반복적이거나 심각한 위반자의 경우 사용자 단위로 UGC 공유를 허용하지 않는 것과 같은 예방 기능을 활성화하는 시스템을 구현할 권한이 타이틀에 부여됩니다.
게임 모드에 대한 추가 지침
사용자 생성 콘텐츠의 로컬 비활성화
- 사용자가 생성한 콘텐츠의 다양한 조합을 사용할 때 게임이 응답하지 않을 수 있는 경우, 타이틀 화면에서 모든 사용자 생성 콘텐츠를 비활성화하는 방법을 제공하는 것이 좋습니다. 이렇게 하면 게임을 영구적으로 플레이할 수 없게 되는 상황을 방지할 수 있습니다.
장치 보안 및 스크립팅
Format
- [콘솔 게임만 해당] 사용자 생성 콘텐츠에는 독립 실행형 실행 파일이 포함되지 않을 수 있으며 혹은 중간의 단계(JIT, 스크립트 컴파일 등)가 실행 파일을 출력하는 방식으로 구성되지 않을 수도 있습니다.
네트워크 액세스
- [콘솔 게임만 해당] 모드는 모든 유형의 직접 네트워크 액세스를 허용하지 않아야 합니다. 사용자 생성 콘텐츠에 게임 내부 기능을 사용할 수 있도록 하려면(예: "자동 참가 서버") Microsoft 담당자에게 문의하여 구현 전에 승인을 받아야 합니다.
파일 시스템 액세스
- [콘솔 게임만 해당] 모드는 어떤 형식의 직접 파일 시스템 액세스도 허용하지 않아야 합니다. 파일 시스템 액세스를 수반하는 게임 내부 기능을 사용자 생성 콘텐츠에 사용할 수도 있지만(예: "자동 저장"), 그러한 경우에는 타이틀이 얼마나 자주 그리고 많이 쓰기를 할 수 있는지에 대한 요약을 적용해야 합니다(XR-133 참조).
- [콘솔 게임만 해당] 모드는 시스템/게임 위치/파일에 섞이지 않고 디스크의 적절한 위치에 저장되어야 합니다.
주변 장치 액세스
- [PC/모바일 게임만 해당] 사용자가 우선 통보를 받고 승인을 요청하고 허가를 받기 전에는 모드에서 HID 장치(카메라, 마이크 등)로의 액세스가 허용되지 않습니다.
악성 소프트웨어 탐지
- [PC/모바일 게임만 해당] 콘텐츠 작성자로부터 플레이어로의 맬웨어 확산을 방지하려면 콘솔 외부에서 만들어지는 모드에 대해서는 제출 시 자동 맬웨어 탐지 시스템을 실행해야 하며 이러한 검사를 통과하기 전에는 게시하지 않아야 합니다.
추가 리소스
인증 테스트 사례
018-01 부적절한 콘텐츠 신고 및 UGC 텍스트 문자열 확인
테스트 단계
- Xbox 네트워크 친구가 아닌 사람 간에 텍스트를 입력할 수 있고 다른 장치에서 사용자가 텍스트를 볼 수 있는 타이틀 영역을 식별합니다.
- 타이틀이 다른 사용자의 부적절한 콘텐츠를 타이틀 또는 Microsoft에 신고할 수 있는 방법을 제공하는지 확인합니다.
- 부적절한 콘텐츠를 신고할 방법이 없는 경우 퍼블리싱되어 있는 금지된 단어 목록에 있는 문자열, 하위 문자열 등을 각 영역에서 입력합니다.
- 금지된 단어를 직접 입력합니다(예: "BannedWord").
- 금지된 단어를 금지되지 않은 다른 단어와 함께 공백으로 분리하여 입력합니다(예: "Good BannedWord").
- 타이틀이 오프라인 상태에서 UGC(예: 캐릭터 이름)를 만들 수 있도록 허용하는 경우 장치를 네트워크에서 분리하고 금지된 단어 조합을 입력한 다음 네트워크에 다시 연결합니다.
- 다른 장치에서 다른 사용자가 부적절한 문자열을 볼 수 있는지 확인합니다.
- 타이틀에서 지원되는 각 언어로 해당 로캘에서 금지된 단어를 사용하여 [3-5]단계를 반복합니다.
예상 결과
타이틀이 사용자가 다른 사용자의 부적절한 콘텐츠를 신고할 수 있는 방법을 제공해야 합니다. 또는 부적절한 언어를 오류 메시지와 함께 차단하거나 불쾌한 단어를 건전한 대체 단어로 교체하거나 숨겨야 합니다.통과 예시
- 로비 또는 게임 텍스트 오버레이와 같이 게임에서 실시간으로 공유되거나 친구 간에만 공유되는 사용자 입력 텍스트 메시지가 필터링되지 않습니다.
- 타이틀이 사용자가 다른 사용자의 부적절한 콘텐츠를 타이틀 또는 Microsoft에 신고할 수 있는 방법을 제공하는지 확인합니다.
- 타이틀이 부적절한 언어의 퍼블리싱를 방지하고 사용자에게 퍼블리싱 실패 이유를 알립니다.
- 타이틀이 부적절한 용어를 대체 단어 또는 문자(예: [차단됨] 또는 [!$%및£$])로 교체합니다.
- 로컬 콘솔에서 사용자가 불쾌한 문자열을 볼 수 있지만 로컬 콘솔 밖에서 Xbox 네트워크를 사용하지 않는 다른 친구에게는 불쾌한 문자열이 전송되지 않습니다.
실패 예시
- 타이틀이 사용자가 다른 사용자의 부적절한 콘텐츠를 신고할 수 있는 방법을 제공하지 않으며 다른 콘솔에서 Xbox Live 이외의 친구가 부적절한 문자열을 볼 수 있도록 허용합니다.
- 타이틀이 사용자가 오프라인 상태에서 UGC를 만들어 타이틀의 부적절한 콘텐츠 필터를 우회하도록 허용합니다.