포털에서 통계/리더보드 생성
Steamworks
Steamworks 관리자 포털에서 Stats & Achievements > Leaderboards로 이동합니다. 다음 스크린샷(Steamworks 문서에서)과 같이 양식을 완성합니다.XBOX Game Development Kit(GDK)(이벤트 기반)
Partner Center에서 게임으로 이동한 뒤 XBOX services > Gameplay settings를 선택합니다. 오른쪽 창의 탐색 표시줄에서 Player Stats > Stat Rules를 선택하고, 통계의 요구 사항을 충족하도록 구성해 Show로 통계 규칙을 추가합니다. 통계 업데이트에는 마지막 업데이트 이후 플레이어(사용자)가 이동한 거리의 계산된 값이 포함되므로, 서비스가 이 값을 얻을 측정 필드를 지정합니다.이벤트를 업데이트할 데이터를 이벤트의 Measurements 또는 Dimensions 필드에 저장하는 것 사이에 기능적 차이는 없습니다. 두 필드는 Application Insights와 함께 사용하기 위해 존재합니다. 자세한 내용은 [Application Insights API for custom events and
점수 업로드
Steamworks
Steamworks에서는 이동한 새 총 피트 값을 계산하고ISteamUserStats::UploaderLeaderboardScore 메서드로 API에 전송해야 합니다.
XBOX Game Development Kit(GDK)(이벤트 기반)
XBOX Game Development Kit(GDK)의 이벤트 기반 통계에서는 이벤트 수신 시 이 통계를 증가시키기를 원한다고 지정했고 이diff 값을 어디서 찾을지 measurements JSON 문자열에서 지정했으므로, 다음과 같이 이동한 피트의 차이를 XblEventsWriteInGameEvent에 전달하기만 하면 됩니다.
글로벌 리더보드 가져오기
글로벌 리더보드는 Steamworks SDK로ISteamUserStats::GetLeaderboardEntries를 호출한 뒤, 각 항목 또는 리더보드의 “행”을 얻기 위해 callback 함수에서 ISteamUserStats::GetDownloadedLeaderboardEntry를 호출해 가져올 수 있습니다.
Steamworks
XBOX Game Development Kit(GDK)(이벤트 기반)
XBOX Game Development Kit(GDK) API는 유사한 패턴을 따릅니다. 원하는 리더보드, 범위, 정렬 방법, 포함할 추가 필드(있는 경우) 등을 지정하는 쿼리를 만듭니다. 쿼리로XblLeaderboardGetLeaderboardAsync를 호출한 후, 다음 코드 예시와 같이 XblLeaderboardGetLeaderboardResultSize와 XblLeaderboardGetLeaderboardResult를 사용해 결과를 지정된 버퍼에 넣고 반복할 수 있습니다.
소셜 리더보드 가져오기
Steamworks에서는ELeaderboardDataRequest::k_ELeaderboardDataRequestFriends 열거형을 사용해 리더보드를 현재 사용자의 친구로 범위화할 수 있습니다.
XBOX Game Development Kit(GDK)에서는 이를 _소셜 리더보드_라고 합니다. XBOX 서비스에서 소셜 리더보드를 가져오려면 XblLeaderboardQuery 구조체에서 xboxIUserId를 XBOX 서비스에 로그인된 현재 사용자의 XBOX User ID(XUID)와 같게 설정하고, leaderboardName을 nullptr로, socialGroup을 XblSocialGroupType::People 또는 XblSocialGroupType::Favorites로 설정하세요. 앞서 표시한 대로 XblLeaderboardGetLeaderboardAsync를 호출합니다.
자세한 내용은 XblSocialGroupType을 참조하세요.
