스크랩 랭크시스템 : Elo, Trueskill
이강연은 30분 볼륨으로 진행되며, ELO 및 TrueSkill 방식의 랭킹 시스템 및 당신 자신만의 밸런싱 시스템을 만들기 위한 실용적인 고려 사항들에 대해 말해볼 것이다. 여러 이력들이 있지만, 강연자가 랭킹 시스템에 대해 집중적으로 다루기 시작한 것은, 그가 사이드 프로젝트인 를 진행하면서부터이다. 는 마리오메이커를 연상시키는 작은 프로젝트로, 플레이어들이 픽셀화된 맵을 만들고, 시스템이 맵의 난이도를 계산하여 플레이어에게 https://www.ottawainuitchildrens.com/ko-kr 스테이지로써 제공하는 형식의 게임이다. 즉, 플레이어들이 특정 맵에서 계속 죽어간다면 그 맵의 랭킹이 점점 오르는 형식이다.
인벤의 콘텐츠 및 기사는 저작권법의 보호를 받으므로, 무단 전재, 복사, 배포 등을 금합니다. Deque은 vector와 array와는 다르게 모든데이터가 하나의 연속된 메모리에 올라가 있지 않습니다. Ⓒ All rights reserved / 스크립트를 제외한 모든 창작물의 복제 및 재배포를 금합니다. 이 위쪽에서 RankScoreText와 RankNameText의 배열을 만들어서 텍스트UI를 여기에 참조해줬습니다. 1차원 배열을 선언하고, 그 배열을 내림차순으로 정리해서 PlayerPrefs에 넣어주는 코드입니다. 물론 정리 못한것들도 많이 있지만, 그건 일단 정식으로 출시를 하고, 정리를 한 후에 돌아오겠습니다.
C++/STL Ranking System 소개 및 구현 본문
전체 100,000 플레이어 중 임의의 50,000 명의 플레이어가 떼탈출을 플레이한다.
Expected란, 실제 있었던 결과에 의거하여, 시스템이 매치 결과를 예상한 승률을 의미한다. 체스 마스터 Arpad Elo가 고안하였으며, 체스에서 사용되던 실력 척도인 을 개선1한 것이다. Expected란, 실제 있었던 결과에 의거하여, 시스템이 매치 결과를 예상한 승률을 의미한다. 부매니저가 장기간(최소 10일 이상) 부재 시 부재중으로 표시되며, 매니저에 의해 해임될 수 있습니다.
이렇게 총 5번을 for문을 통해 반복하기 때문에, 자연스럽게 기존 5위 값은 사라지게 됩니다. 떼탈출에서 획득한 점수는 0~2,905,887,026점 사이의 정규분포값을 갖도록 설정한다. 챔피언스리그에서 점수는 0~1,112,670,384점 사이의 정규분포값을 갖도록 설정한다.
기존의 랭킹 시스템은 주로 누적 점수와 대회 성적을 기반으로 제공되었습니다. 이러한 방식은 배틀그라운드 이스포츠의 복합적인 리그 구조의 특성을 충분히 담아내지 못했습니다. 불필요한 컨테이너는 존재하지 않으며, 주어진 로직에 따라 컨테이너들의 고유 장점들을 비교분석하여 효율적인 로직을 완성시켜야합니다. 여러 이력들이 있지만, 강연자가 랭킹 시스템에 대해 집중적으로 다루기 시작한 것은, 그가 사이드 프로젝트인 를 진행하면서부터이다. 는 마리오메이커를 연상시키는 작은 프로젝트로, 플레이어들이 픽셀화된 맵을 만들고, 시스템이 맵의 난이도를 계산하여 플레이어에게 스테이지로써 제공하는 형식의 게임이다. 즉, 플레이어들이 특정 맵에서 계속 죽어간다면 그 맵의 랭킹이 점점 오르는 형식이다.
- 단순히 수학만 잘 한다고 당신 게임에 베스트한 형식의 랭킹 시스템을 만들 수는 없다.게임에 맞는 기획 의도가 반영된 랭킹 시스템이야말로 좋은 랭킹 시스템이라고 할 수 있을 것이다.
- 즉, K-Factor 설정을 통해 점수 이양의 스피드를 결정할 수 있으며K-Factor를 높게 설정할수록, 모든 플레이어들의 실력 스펙트럼을 넓게 펼칠 수 있다.
- 여기서 랭킹은, 게임오버 후 플레이어가 이름을 입력하면 랭킹 계산을 한 뒤 보여주도록 했습니다.
알림 설정
이 함수를 이용하게 되면 모바일 상에서 아래와 같은 페이지로 넘어가 랭킹을 확인 할 수 있습니다. 시퀀스 컨테이너는 정렬된상태라면 이진탐색이 가능하여 빠른 검색이 가능합니다. 이 코드를 시작하기 전에, 먼저 현재 플레이어의 이름과 점수를 PlayerPrefs를 통해 저장해줍니다. 플레이어가 게임을 즐기는 동안 진행 상태를 자동으로 저장하는 기능은 플레이어의 편의를 증진시킵니다. Redis의 Sorted Set 자료구조는 점수에 따라 데이터를 자동으로 정렬하므로 랭킹 시스템에 적합하다.
블록체인은 데이터의 무결성을 보장하고, 플레이어 간 거래의 투명성을 제공함으로써 더욱 안전하고 공정한 시스템을 구축하는 데 기여할 수 있습니다. 각 플레이어의 특정 정보를 저장하는 테이블을 구축하고, 이를 관계형 데이터베이스로 연결함으로써 일관성 있고 효과적인 데이터 구조를 만들 수 있습니다. 플레이어의 진행 상태를 올바르게 저장하고 관리하기 위해서는 데이터베이스의 사용이 필수적입니다. 이를 적극 활용하자면, 동일한 랭크 래더에서, 낮은 구간의 유저의 ELO K-Factor는 높은 구간의 그것보다 높게 설정할 수 있다. 이렇게 해 놓는다면, 실력이 높은 플레이어는 상위 랭크까지 적은 수의 매치를 통해서도 갈 수 있을 것이다. 이를 적극 활용하자면, 동일한 랭크 래더에서, 낮은 구간의 유저의 ELO K-Factor는 높은 구간의 그것보다 높게 설정할 수 있다.
랭킹시스템 프로젝트 또한 매번 값이 업데이트, 수정되야한다는 동일한 특성을 갖고있습니다. 프로젝트 실험결과 vector가 가장 적합한 컨테이너로 선택되었고 게임오브젝트를 검색하는 기능을 제공하기 위한 컨테이너도 vector가 가장 적합하다는 근거를 제시할 수 있습니다. 게임 분석 분야의 선두 주자인 OP.GG와의 파트너십을 통해 배틀그라운드 이스포츠 글로벌 파워랭킹을 새롭게 선보입니다! 더욱 개선되어 돌아온 파워랭킹 시스템은 경쟁의 공정성을 더욱 높이고 글로벌 무대에서 각 팀의 실력을 보다 정확하게 나타낼 것으로 기대되고 있습니다.
각 플레이어의 성과를 순위로 나타내어 경쟁의 장을 제공하고, 높은 랭크를 달성하는 것은 플레이어에게 자부심과 성취감을 주기도 합니다. 랭킹 시스템은 또한 소셜 네트워크와 연동하여 플레이어들 간의 경쟁과 협력을 도모하며 게임의 지속 가능성을 높입니다. OP.GG의 첨단 분석 기술과 탄탄한 점수 산정 방식을 통해 글로벌 파워랭킹은 이스포츠 랭킹 시스템의 새로운 기준을 세우게 되었습니다.