이벤트 기반 순위표 개요
이 항목에서는 순위표가 게임에 대해 선택된 통계를 표시하여 플레이어를 비교하는 방법을 설명합니다.
순위표는 플레이어의 참여를 유도하고 플레이어 간의 경쟁을 유도하는 재미있는 방법입니다. Xbox 서비스는 하드코어 플레이어(전체 Xbox 모집단에 대한 글로벌 순위) 및 일반 플레이어(플레이어 친구에 대한 소셜 순위)에 적합한 기능을 제공합니다.
글로벌 및 소셜의 두 가지 유형의 순위표를 사용할 수 있습니다. 매우 유사한 개념을 가지고 있지만 구성 및 의도 측면에서 근본적인 차이점이 있습니다.
글로벌 대 소셜 순위표
글로벌 순위표
글로벌 순위표는 전체 Xbox 사용자 기반의 순위를 매기며 구성해야 합니다.
글로벌 순위표는 수집 시점(타이틀이 출시되기 전이나 출시된 후 언제든지)에 서비스에서 구성하는 미리 정의된 보기입니다.
소셜 순위표
소셜 순위표는 동적으로 생성되고 플레이어의 친구 순위를 매깁니다.
소셜 순위표에는 플레이어의 소셜 그래프에 있는 플레이어만 포함됩니다.
서비스가 기존 사용자 통계를 기반으로 런타임에 동적으로 순위표를 생성하므로 수집 시 소셜 순위표를 미리 정의할 필요가 없습니다.
순위표 이해
순위표에는 두 가지 주요 구성 요소가 있습니다.
순위를 매길 값입니다(Xbox 서비스에서 이것은 항상 플레이어 통계 인스턴스입니다).
정렬 순서(높거나 낮은 값이 더 좋음).
순위 대상 값으로서의 통계
순위표는 플레이어 통계에서 파생됩니다. 필요한 항목에 대해 올바른 통계 규칙을 정의하는 것이 중요합니다. 게임을 디자인할 때 플레이어의 순위를 매길 순위표를 염두에 두세요.
글로벌 순위표
글로벌 순위표는 Xbox 커뮤니티에서 플레이어가 기록한 최고의 점수를 추적합니다. 글로벌 순위표의 주요 차이점은 순위표 식별 이름, 순위표가 수집 시 순위 대상 통계 및 정렬 순서(오름차순 또는 내림차순)를 지정하여 미리 정의된다는 것입니다.
타이틀은 글로벌 순위표를 개수 제한 없이 정의하고 서비스 구성을 통해 언제든지 추가할 수 있습니다. 글로벌 순위표당 최대 레코드 수는 현재 10,000개로 제한되어 있습니다. 즉, "최고" 점수가 상위 10,000위 안에 들지 않은 플레이어의 경우 점수가 순위표에 표시되지 않습니다.
한 번에 최대 100개의 순위표 항목(플레이어 XUID, 게이머태그, 글로벌 순위 및 점수)의 "페이지"를 읽고 페이지의 시작 순위를 지정하거나 지정된 게이머태그를 중심으로 하는 순위표 항목을 검색할 수 있습니다. 결과는 항상 전체 기간으로 범위가 지정됩니다. 일, 주 및 월 보기는 아직 지원되지 않습니다.
글로벌 순위표는 GET (/scids/{scid}/leaderboards/{leaderboardname})
을 사용하여 Xbox Services API(XSAPI) 또는 REST API를 통해 액세스할 수 있습니다.
다음은 레이싱 게임을 위해 샘플 순위표를 구성하는 방법에 대한 스크린샷입니다.
소셜 순위표
소셜 순위표는 캐주얼 플레이어가 친구들과 자신을 비교하고 순위를 매길 수 있는 훌륭한 인센티브입니다. 커뮤니티의 최고 순위가 아니더라도 아는 플레이어를 이길 수 있습니다. 소셜 순위표는 기존 사용자 통계를 기반으로 동적으로 생성됩니다. 결과적으로 수집 시 미리 정의할 필요가 없으며 특정 플레이어의 소셜 그래프에 플레이어만 포함됩니다.
소셜 순위표의 주요 이점은 사전 정의되지 않는다는 것입니다. 게임의 모든 통계에 대한 소셜 순위표를 만들 수 있습니다. 호출자는 소셜 순위표를 요청할 때 두 가지를 지정할 수 있습니다. 통계 인스턴스와 정렬 순서(기본값은 등급 내림차순)입니다. 결과는 항상 전체 기간으로 범위가 지정됩니다. 일, 주, 월 보기는 지원되지 않습니다.
글로벌 순위표와 마찬가지로 호출자는 한 번에 최대 100개의 순위표 항목(플레이어 XUID, 게이머태그, 글로벌 순위 및 점수)의 "페이지"를 읽고 페이지의 시작 순위를 지정할 수 있습니다.
소셜 순위표는 GET (/users/xuid({xuid})/scids/{scid}/stats/{statname)/people/{all|favorite})
을(를) 사용하여 XSAPI 또는 REST API를 통해 액세스합니다.
소셜 보기가 있는 글로벌 순위표
소셜 순위표는 동적으로 생성되기 때문에 글로벌 순위표를 검색하는 것보다 소셜 순위표를 검색하는 데 시간이 더 걸립니다. 타이틀이 공통 기준 세트를 기반으로 소셜 순위표를 자주 검색하는 시나리오의 경우 글로벌 순위표를 만들고 플레이어의 소셜 그래프와 관련된 순위표의 항목만 검색할 수 있습니다.
순위표는 Xbox 서비스 서버에 이미 존재하기 때문에 결과적으로 소셜 순위표보다 검색 시간이 더 빠릅니다. 또한 결과 범위가 사용자의 소셜 그래프로 지정되기 때문에 페이로드가 더 작아집니다. 이 유형의 순위표는 글로벌 순위표입니다. 따라서 타이틀의 서비스 구성에서 정의해야 합니다.
소셜 보기가 있는 글로벌 순위표는 일반 글로벌 순위표 요청 GET (/scids/{scid}/leaderboards/{leaderboardname})
을 사용하고 URL &viewTarget=people&view=people
에 쿼리를 추가하여 액세스합니다.
여러 열로 구성된 순위표 보기를 지원하기 위해 통계 메타데이터를 사용할 수 있습니다. 타이틀은 순위표 순위를 쿼리할 때 반환될 수 있는 순위표 통계에 대한 메타데이터 필드를 정의할 수 있습니다. 개인 정보 설정으로 인해 통계 액세스가 차단될 수 있으므로 타이틀은 동일한 동작을 달성하기 위해 일괄 사용자 통계 URI를 사용해서는 안 됩니다.
여러 열 순위표
통계에 더 많은 정보를 제공하기 위해 순위표에 더 많은 열이 필요한 경우가 있습니다. 예를 들어, 패배한 대부분의 적에 대한 순위표의 경우 플레이어가 사용한 무기, 발생한 지도, 가장 많이 격파한 적 유형 및 킬/데스 비율을 추가할 수 있습니다.
Xbox 순위표에는 기본 제공 다중 열 지원이 있습니다. 이러한 유형의 순위를 쉽게 얻을 수 있습니다. 유일한 전제 조건은 순위표에 사용된 통계에 통계 컨텍스트가 정의되어 있다는 것입니다. 추가 메타데이터로 사용될 것입니다. 예를 들어 FastestLap 통계의 경우 이러한 추가 속성을 통계 컨텍스트로 구성할 수 있습니다. 다음은 그들이 어떻게 생겼는지에 대한 스크린샷입니다.
이제 통계가 컨텍스트와 함께 유지되므로 다중 열 순위표를 검색하면 다음 표와 같이 표시됩니다.
연산자 | 값(FastestLap) | CarModel | WeatherCondition | TrackId |
---|---|---|---|---|
SUM | 상수 또는 필드 | 모델 A | 비 | 9 |
MIN | 필드 | 모델 A | 맑음 | 9 |
MAX | 필드 | 모델 B | 맑음 | 2 |
REPLACE | 상수 또는 필드 | 모델 C | 흐림 | 1 |
다중 열 순위표는 현재 글로벌 순위표 및 소셜 보기가 있는 글로벌 순위표에서 지원됩니다. 그러나 여러 열로 구성된 소셜 순위표를 만들려면 일괄 사용자 통계 호출을 사용하여 컨텍스트와 함께 모든 통계를 가져온 다음 수동으로 순위표를 만들 수 있습니다.
여러 열 순위표는 일반 글로벌 순위표 요청 GET (/scids/{scid}/leaderboards/{leaderboardname})
을 사용하고 URL &include=valuemetadata
에 쿼리를 추가하여 REST API를 통해서만 액세스할 수 있습니다.
추천 통계가 있는 순위표가 표시되는 위치
순위표는 게임에 대한 일부 통계를 보여줌으로써 플레이어를 비교합니다.
순위표는 플레이어 간의 경쟁을 장려하는 좋은 방법입니다. 순위표를 통해 플레이어는 이전 최고 점수와 친구의 점수를 이기도록 노력할 수 있습니다.
추천 통계에 대한 순위표는 항상 타이틀의 공식 클럽에 표시됩니다.
주요 통계에 대한 순위표는 프로필의 플레이어 도전 과제 보기와 같은 다른 Xbox 환경에 표시되는 경우가 있습니다.
구성된 주요 통계를 사용하여 타이틀 내에서 순위표를 만들 수도 있습니다.
좋은 순위표 선택
순위표는 정의한 통계에 해당합니다. 플레이어가 개선을 위해 노력할 수 있는 성과에 해당하는 순위표를 선택해야 합니다.
예를 들어, 레이싱 게임에서 최고의 랩 타임은 좋은 순위표입니다. 플레이어는 최고의 랩 타임을 개선하기 위해 노력하기를 원하기 때문입니다. 다른 예로는 슈팅 게임의 킬/데스 비율이나 격투 게임의 최대 콤보 크기가 있습니다.
순위표를 표시해야 하는 경우
타이틀에 언제든지 순위표를 표시할 수 있습니다. 순위표가 게임 플레이나 타이틀의 흐름을 방해하지 않는 시간을 선택해야 합니다. 예를 들어, 라운드 사이와 경기 후는 순위표를 표시하기에 좋은 시간입니다.
프로그래밍 가이드
순위표의 현재 상태를 가져오는 데 사용할 수 있는 몇 가지 Leaderboard API가 있습니다. 모든 API는 비동기식이며 차단하지 않습니다.
순위표 데이터를 가져오고 일반적인 게임 처리를 계속하도록 요청하세요. 서비스에서 순위표 결과가 반환되면 적절한 시기에 결과를 표시할 수 있습니다.
표시하고 싶은 시점보다 조금 앞서 서비스에 순위표 데이터를 요청하세요. 이렇게 하면 순위표가 표시되기를 기다리는 동안 플레이어가 차단되는 것을 방지할 수 있습니다.