리더보드 인터페이스

Leaderboard Interface, 리더보드를 읽어오고 업데이트하는 온라인 서브시스템입니다.

Windows
MacOS
Linux

Leaderboard (리더보드)는 플레이어가 친구나 전세계 플레이어들과 게임의 최고 점수를 경쟁하도록 하는 수단을 제공합니다. 게임에는 점수가 있는 모드가 다수 있을 수 있으며, 각 모드는 저마다의 리더보드가 있을 수 있습니다. 점수 기록 모드에서는 전통적인 점수 기반 게임의 경우 내림차순으로, 시간을 재는 레이싱 게임의 경우 오름차순으로 순위를 매길 수도 있습니다. 리더보드 인터페이스는 게임 안에서 리더보드를 표시하고 업데이트하는 데 필요한 툴을 제공합니다.

점수 획득 방법

리더보드에서 점수를 매기는 방법은 세 가지가 있으며, 각각 열거형으로 정의됩니다.

  • ELeaderboardSort 는 점수를 정렬할지 나타내며, 정렬한다면 오름차순 또는 내림차순이 됩니다.

  • ELeaderboardFormat 은 형식을 제어합니다. 점수는 일반 원시 숫자일 수도, 초다 밀리초 단위 시간일 수도 있습니다.

  • ELeaderboardUpdateMethod 는 리더보드에 플레이어의 현재 점수를 표시할지, 아니면 (정렬 방식에 따른) 최고 점수를 유지할지 나타냅니다.

리더보드 데이터 검색

리더보드 데이터는 상당히 클 수 있는데, 게임을 한 번이라도 플레이한 적이 있는 사용자 계정 각각에 대해 게임이 지원하는 각 리더보드마다 항목이 있을 수 있기 때문입니다. 그래서 검색은 청크 단위로 이루어지며, 게임에서는 몇 가지 방식으로 리더보드 일정 부분을 요청할 수 있습니다. 리더보드 데이터를 검색하는 모든 방식은 FOnlineLeaderboardRead 유형 파라미터를 받고 (연관 데이터 유형은 FOnlineLeaderboardRead 참고), 여기에는 온라인 서비스에서 전송받으려는 테이블 정의가 저장되며, FOnLeaderboardReadComplete 유형 델리게이트에 완료 시 성공 또는 실패 여부를 나타내는 bool 값을 포함하여 호출합니다. 지원되는 쿼리 옵션은 다음과 같습니다.

함수

쿼리 설명

ReadLeaderboards

사용자 명시 목록을 (FUniqueId 로 지정하여) 받아 해당 사용자에 대한 리더보드 점수만 요청합니다.

ReadLeaderboardsForFriends

로컬 유저 인덱스가 지정된 경우, 해당 유저의 친구 각각에 대한 리더보드 점수를 찾습니다.

ReadLeaderboardsAroundRank

순위와 범위를 받으며, 전세계 최상위 플레이어를 검색할 때 좋습니다. 이 요청은 범위로 지정된 순위 이상 또는 이하 리더보드 점수를 검색합니다. 예를 들어 순위 100 에 범위 50 은 순위가 50 위에서 150 위 사이인 플레이어의 기록을 요청합니다.

ReadLeaderboardsAroundUser

ReadLeaderboardsAroundRank 와 비슷하지만 명시된 순위가 사용자의 FUniqueNetId 라는 점이 다르며, 해당 사용자 순위의 지정 범위 내 기록을 찾습니다. 이 방식은 호출을 여러번 하지 않고 한 플레이어의 전체 순위를 표시할 때 편리합니다.

리더보드 데이터 업로드

개별 플레이어의 점수를 작성하려면 WriteLeaderboards 를 사용하여 (FOnlineLeaderboardWrite 유형) 업데이트를 캐시에 저장한 뒤 나중에 온라인 서비스에 전송합니다. 각 FOnlineLeaderboardWrite 오브젝트에는 세션 이름과 (FUniqueNetId 로 식별되는) 플레이어가 연결됩니다. 게임이 온라인 서비스의 기록에 세션 데이터를 커밋할 준비가 되면, FlushLeaderboards 는 캐시에 저장된 데이터를 전송한 뒤 로컬 시스템에서 지우고, 완료되면 온라인 서브시스템의 OnLeaderboardFlushComplete 델리게이트를 호출합니다.

한 번에 WriteLeaderboards 로 캐시에 저장할 수 있는 업데이트는 최대 5 개입니다. 초과 업데이트는 버리므로 그 전에 FlushLeaderboards 를 호출해야 합니다.

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼