다음을 통해 공유


이벤트 기반 순위표 개요

이 항목에서는 순위표가 게임에 대해 선택된 통계를 표시하여 플레이어를 비교하는 방법을 설명합니다.

순위표는 플레이어의 참여를 유도하고 플레이어 간의 경쟁을 유도하는 재미있는 방법입니다. Xbox 서비스는 하드코어 플레이어(전체 Xbox 모집단에 대한 글로벌 순위) 및 일반 플레이어(플레이어 친구에 대한 소셜 순위)에 적합한 기능을 제공합니다.

글로벌 및 소셜의 두 가지 유형의 순위표를 사용할 수 있습니다. 매우 유사한 개념을 가지고 있지만 구성 및 의도 측면에서 근본적인 차이점이 있습니다.

글로벌 대 소셜 순위표

글로벌 순위표

  • 글로벌 순위표는 전체 Xbox 사용자 기반의 순위를 매기며 구성해야 합니다.

  • 글로벌 순위표는 수집 시점(타이틀이 출시되기 전이나 출시된 후 언제든지)에 서비스에서 구성하는 미리 정의된 보기입니다.

소셜 순위표

  • 소셜 순위표는 동적으로 생성되고 플레이어의 친구 순위를 매깁니다.

  • 소셜 순위표에는 플레이어의 소셜 그래프에 있는 플레이어만 포함됩니다.

  • 서비스가 기존 사용자 통계를 기반으로 런타임에 동적으로 순위표를 생성하므로 수집 시 소셜 순위표를 미리 정의할 필요가 없습니다.

순위표 이해

순위표에는 두 가지 주요 구성 요소가 있습니다.

  • 순위를 매길 값입니다(Xbox 서비스에서 이것은 항상 플레이어 통계 인스턴스입니다).

  • 정렬 순서(높거나 낮은 값이 더 좋음).

순위 대상 값으로서의 통계

순위표는 플레이어 통계에서 파생됩니다. 필요한 항목에 대해 올바른 통계 규칙을 정의하는 것이 중요합니다. 게임을 디자인할 때 플레이어의 순위를 매길 순위표를 염두에 두세요.

글로벌 순위표

글로벌 순위표는 Xbox 커뮤니티에서 플레이어가 기록한 최고의 점수를 추적합니다. 글로벌 순위표의 주요 차이점은 순위표 식별 이름, 순위표가 수집 시 순위 대상 통계 및 정렬 순서(오름차순 또는 내림차순)를 지정하여 미리 정의된다는 것입니다.

타이틀은 글로벌 순위표를 개수 제한 없이 정의하고 서비스 구성을 통해 언제든지 추가할 수 있습니다. 글로벌 순위표당 최대 레코드 수는 현재 10,000개로 제한되어 있습니다. 즉, "최고" 점수가 상위 10,000위 안에 들지 않은 플레이어의 경우 점수가 순위표에 표시되지 않습니다.

한 번에 최대 100개의 순위표 항목(플레이어 XUID, 게이머태그, 글로벌 순위 및 점수)의 "페이지"를 읽고 페이지의 시작 순위를 지정하거나 지정된 게이머태그를 중심으로 하는 순위표 항목을 검색할 수 있습니다. 결과는 항상 전체 기간으로 범위가 지정됩니다. 일, 주 및 월 보기는 아직 지원되지 않습니다.

글로벌 순위표는 GET (/scids/{scid}/leaderboards/{leaderboardname})을 사용하여 Xbox Services API(XSAPI) 또는 REST API를 통해 액세스할 수 있습니다.

다음은 레이싱 게임을 위해 샘플 순위표를 구성하는 방법에 대한 스크린샷입니다.

순위표 이름이 FastestLap인 순위표 세부 정보 UI의 스크린샷입니다. 정렬 순서는 낮은 값이 더 낫다는 것을 보여줍니다.

소셜 순위표

소셜 순위표는 캐주얼 플레이어가 친구들과 자신을 비교하고 순위를 매길 수 있는 훌륭한 인센티브입니다. 커뮤니티의 최고 순위가 아니더라도 아는 플레이어를 이길 수 있습니다. 소셜 순위표는 기존 사용자 통계를 기반으로 동적으로 생성됩니다. 결과적으로 수집 시 미리 정의할 필요가 없으며 특정 플레이어의 소셜 그래프에 플레이어만 포함됩니다.

소셜 순위표의 주요 이점은 사전 정의되지 않는다는 것입니다. 게임의 모든 통계에 대한 소셜 순위표를 만들 수 있습니다. 호출자는 소셜 순위표를 요청할 때 두 가지를 지정할 수 있습니다. 통계 인스턴스와 정렬 순서(기본값은 등급 내림차순)입니다. 결과는 항상 전체 기간으로 범위가 지정됩니다. 일, 주, 월 보기는 지원되지 않습니다.

글로벌 순위표와 마찬가지로 호출자는 한 번에 최대 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 통계의 경우 이러한 추가 속성을 통계 컨텍스트로 구성할 수 있습니다. 다음은 그들이 어떻게 생겼는지에 대한 스크린샷입니다.

CarModel, WeatherCondition 및 TrackId의 통계 컨텍스트 이름이 있는 통계 컨텍스트 UI의 스크린샷.

이제 통계가 컨텍스트와 함께 유지되므로 다중 열 순위표를 검색하면 다음 표와 같이 표시됩니다.

연산자 값(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는 비동기식이며 차단하지 않습니다.

순위표 데이터를 가져오고 일반적인 게임 처리를 계속하도록 요청하세요. 서비스에서 순위표 결과가 반환되면 적절한 시기에 결과를 표시할 수 있습니다.

표시하고 싶은 시점보다 조금 앞서 서비스에 순위표 데이터를 요청하세요. 이렇게 하면 순위표가 표시되기를 기다리는 동안 플레이어가 차단되는 것을 방지할 수 있습니다.

참고 항목

이벤트 기반 통계와 타이틀 관리 통계.