하스스톤

개발자의 관점: 하스스톤 전장의 개인 평점

Blizzard Entertainment

안녕하세요! 전 하스스톤 팀의 선임 데이터 과학자 Tian입니다. 하스스톤 전장의 평점 뒤에 숨은 과학에 관해 이야기하러 나왔습니다!

전략적인 선술집 첫 구매 라운드, 꼼꼼한 하수인 배치와 동일한 하수인 카드 세 장 합체를 거치고 난 뒤 등수에 따라 여러분의 평점이 올라가거나 내려간 걸 보셨을 겁니다. 숫자가 바뀌는 걸 보고 난 뒤, 어쩌면 '대체 이게 뭘 뜻하는 거지?' '내 평점은 상대방과 함께 어떻게 결정된 거지?'라고 의문을 품었을지도 모르겠군요.

전 이에 관한 질문에 대해 답하고... 그 외 여러 가지를 얘기해 드리고자 나왔습니다! 여러분의 전장 평점이 어떻게 책정이 되는 지 쉽게 이해할 수 있게 말이죠.

HS-divider.png
평점 점수는 무엇을 뜻하나요?

하스스톤 전장의 평점에는 단순한 숫자 이상의 의미가 있습니다. 평점 수치는 여러분의 하스스톤 전장 실력 수준을 나타냅니다. 즉 숫자가 높을수록 더욱 실력이 좋다는 것이죠. 하지만 실력이 비슷한 일곱 명의 다른 플레이어를 찾아 대전을 성사하여 매 게임이 최대한 공정하다는 것을 보여주기도 합니다. 

저희는 평점 시스템을 통해 모든 하스스톤 전장 플레이어를 볼 때 플레이어 대다수가 '평점 스펙트럼' 중앙에 위치하도록 하고자 합니다. 수학 용어로 말하자면 평점 분포는 정규분포라 하는 종 모양의 곡선을 따릅니다. 저희가 평점 시스템을 설계한 방식에 따르면, 오픈 베타 둘째 날에 평점이 4,200점이었다면 대략 전장을 플레이하는 플레이어의 77%보다 실력이 좋은 것이며, 평점이 5,000점이었다면 99%의 플레이어보다 잘하는 것입니다..


어떻게 제 평점이 대전이 끝날 때마다 업데이트되나요?

평점 시스템의 주요 목표 중 하나는 여러분의 실제 실력을 빠르게 판별하여 경쟁적이며 공평하게 느껴지는 대전을 만드는 것입니다. 이를 달성하기 위해서는 제가 지금부터 소개할 '분산'이라는 개념이 필요합니다.

분산은 여러분의 평점과 연관되어 있지만, 명쾌하게 드러나지는 않는 값입니다. 이 값은 여러분의 평점이 얼마나 정확한 지를 나타냅니다. 전장이 아예 처음이시라면 대전을 몇 판 하지 않았기에 여러분의 실제 실력 수준이 얼마나 되는지 명확히 알 수가 없습니다. 여러 대전을 거치며 여러분의 성적이 어떻게 변했는지에 관한 데이터가 부족하기에 분산은 매우 높게 설정됩니다. 대전을 몇 번 치른 뒤에는 여러분의 실제 평점을 더욱 확실하게 측정할 수 있으므로 분산 또한 떨어질 것입니다. 하지만 단판 게임을 놓고 봤을 때 예상하지 못한 결과가 나온다면 여러분의 분산 수치는 상승할 것입니다. 예를 들어 높은 평점을 얻은 플레이어가 훨씬 낮은 평점을 지닌 플레이어에게 진다면 분산 값이 상승할 수 있습니다.

플레이어 여덟 명의 평점과 분산을 각각 알게 된다면, 다른 일곱 명의 플레이어를 상대로 한 각 플레이어의 승리 확률을 계산해야 합니다. 계산마다 위에서 논한 모든 요소가 반영됩니다. 어쨌든 계산이 아주 많이 들어가는데, 정확히는 56번의 계산이 소요됩니다!

이제 어떻게 평점이 업데이트되는지 살펴보죠. 대전마다 여러분의 평점, 상대의 평점, 게임 등수, 예상 승리 확률, 분산과 그 외 몇 가지 요소를 종합하여 평점이 업데이트됩니다. 일반적으로 말하자면 분산이 클수록 대전이 끝난 뒤 평점 변동 폭이 큽니다. 처음으로 전장을 플레이하면 여러분이 얼마나 실력이 있는지에 관한 기존 데이터가 없습니다. 따라서 저희의 주된 목표는 적절한 평점 범위에 여러분을 배치하는 것입니다. 따라서 대전이 끝날 때마다 높은 분산과 큰 평점 변동을 보시게 될 겁니다. 게임을 여러 번 한 뒤에는 여러분에게 적합한 평점이 몇 점인지 파악할 데이터가 점점 쌓이기에 여러분의 평점은 크게 바뀌지 않을 것입니다.

저희는 최근 여러분이 처음 전장을 플레이할 때 적용되는 평점 계산 방식을 업데이트했습니다. 평점이 너무 큰 폭으로 변동하여 잘못된 평점 그룹에 플레이어를 배치하는 일을 방지하는 동시에 대전을 할 때마다 여러분이 적합한 MMR에 다가갈 수 있도록 하고자 합니다. 저희는 충분히 많은 게임을 플레이해 평점이 안정된 뒤의 평점 획득, 손실 폭을 늘렸습니다. 따라서 평점이 더욱 많이 오르거나 내리는 걸 확인하실 수 있을 겁니다.

모든 상대방이 여러분과 정확히 동일한 평점을 보유했다고 가정할 때, 기존 시스템에서는 첫 게임에서 1등을 하면 대략 240점을 얻고 150번째 게임과 그 이후 게임에서는 약 24점을 얻습니다. 11월 20일 변경 사항이 적용된 뒤로는 첫 게임에서 1등을 하면 대략 195점을 얻고 150번째 게임과 그 이후 게임에서는 1등을 할 때 약 98점을 얻습니다. 위에서 볼 수 있듯 수식 업데이트 시에는 수많은 요소가 달려 있다는 걸 강조하고 싶습니다. 실제로 평점 업데이트를 다룰 때 저희는 요소 하나만 택하지 않습니다. 그렇다고 앞으로 발전이 없을 거라는 건 아니라는 걸 알아주세요. 만약 정확한 평점을 보유했다면 평점이 올라가거나 내려가기야 하겠지만, 충분한 수의 대전을 한 뒤에는 전반적으로 동일한 평점에 머무를 것입니다.

또한 게임을 마친 뒤 평점에 아주 작은 급수 조정값을 더했습니다. 이 조정값은 여러분의 평점이 6500점 이상이 아니라면 언제나 양수이며 현재 평점에 따라 바뀝니다. 여러분의 평점이 낮을수록 조정값은 커집니다. 따라서 이론적으로 평점이 6500점 미만이라면 전장 게임을 많이 할수록 여러분의 평점을 '끌어올리는' 데 있어서 조금 더 유리해집니다. 이 값은 여러분이 이기든 지든 관계없이 참인 값이라는 걸 염두에 두세요. 전장을 플레이할 때마다 양의 값을 더하는 상수 급수 조정값이 적용된다고 생각하시면 됩니다.

마지막으로 알고리즘 전문가들에게 말씀드리자면, 왜 대전 상대 찾기에 널리 쓰이는 Elo나 Glicko가 좋지 않은 선택인지 말씀드리고자 했습니다. 수많은 시뮬레이션 결과 저희의 알고리즘이 가장 빠른 실행 시간과 가장 높은 정확도를 보였으며, 이는 각각 빠른 대전 상대 찾기와 더욱 긍정적인 게임 플레이 경험에 기여합니다. 또한 Elo와 Glicok는 애초에 2인 게임에 맞게 설계되었지 8인용 게임을 위한 건 아닙니다.

하스스톤 전장을 재밌게 즐기시기 바랍니다! 저희는 항상 여러분의 의견을 듣고 있습니다. 대전 상대 찾기와 평점에 관한 여러분의 생각을 알려주세요. 그럼 선술집에서 뵙겠습니다!

참고: 공식 블로그의 새로운 덧글 시스템이 12월 중순에 도입될 예정입니다. 해당 변경과 함께 향후 블로그에서의 토론은 공식 토론장을 대체하게 됩니다. 모든 이전 블로그의 덧글들이 보이지 않게 될 예정이니, 참고 부탁드립니다.