Loading..
Feedback Forums
For general feedback about the game.
Steam Support
Visit the support site for any issues you may be having with your account.
Contact the Team
To contact us directly about specific matters.





매치메이킹

저희는 지난 몇 달 동안 매치메이킹 시스템을 다듬는 작업을 진행했습니다. 이 글을 통해서 매치메이킹 시스템의 현황과 앞으로 매치메이킹 시스템에 어떤 변화가 있을지 미리 소개하고자 합니다.

랭크 매치메이킹 도입

다음 대규모 업데이트에서 랭크 매치메이킹이 도입됩니다. 랭크 매치메이킹 모드는 보다 도전적인 환경에서 실력을 겨루고 싶어하거나 자신의 매치메이킹 랭크(MMR, Matchmaking Rating)을 알고자 하는 플레이어들을 위한 것입니다. 도타 2는 예전부터 MMR 수치를 산출하여 매치를 결정하는 데 사용했습니다. 이제 랭크 매치메이킹에서 MMR 수치가 공개됩니다.

랭크 매치메이킹에 관하여 알아둘 사항들은 다음과 같습니다.

  • 약 150경기를 치른 플레이어만이 랭크 매치메이킹 게임을 플레이할 수 있습니다.
  • 파티 플레이 시 파티를 구성하는 모든 인원이 랭크 매치메이킹 게임을 플레이할 수 있어야 합니다.
  • 현재 자유 선택, 캡틴 모드, 캡틴 선발 모드에서 랭크 매치메이킹을 지원합니다.
  • 저우선도 징계 대상자일 경우 랭크 매치메이킹 게임을 플레이할 수 없습니다.
  • 멘토는 랭크 매치메이킹에 참여할 수 없습니다.
  • 일반 매치메이킹 게임의 결과는 랭크 매치메이킹의 MMR에 영향을 주지 않습니다. 그 반대도 마찬가지입니다.
  • MMR 수치는 자신과 친구에게만 공개됩니다. 일반 매치메이킹의 MMR은 공개되지 않습니다.
  • 랭크 매치메이킹을 플레이하게 되면, 첫 10경기는 측정 기간으로 간주됩니다. 이 동안에는 MMR이 공개되지 않습니다.

매치메이킹 랭크(MMR)

도타 2는 표준 기술을 이용하여 플레이어의 실력을 측정하고 기록합니다. 모든 플레이어들은 MMR 수치를 지정받게 되는데, 이 계량화된 수치가 도타 2에서 자신의 실력을 가늠하는 척도가 됩니다. 매치가 끝날 때마다 매치 결과에 따라 MMR이 업데이트됩니다. 일반적으로 승리 시에는 MMR이 올라가며, 패배 시에는 MMR이 떨어집니다. MMR에 영향을 미치는 주 요소는 승/패이지만, 개인이 얼마나 활약을 했는지도 MMR에 영향을 줍니다. 특히, MMR 수치에 대한 명확한 근거가 부족할 때는 더욱 그렇습니다. 게임에서 패배한 경우에도 MMR이 올라갈 수 있으며, 승리를 거두었을 때라도 MMR이 내려갈 수 있습니다. 그러나 일반적으로 승리 팀의 플레이어들은 MMR이 올라갈 것이며 패배 팀의 플레이어들은 MMR이 내려갈 것입니다.

저희는 MMR 수치를 명확히 하기 위한 근거를 추적합니다. 새로 만든 계정이나 처음으로 랭크 매치메이킹을 플레이한 플레이어의 경우 실력을 예측하기가 매우 어렵습니다. 이런 불확실성이 높을수록 매 경기마다 큰 조정 단계를 겪게 됩니다. 반대로 불확실성이 낮다면 조정의 폭도 상대적으로 작을 것입니다. MMR과 불확실성을 바탕으로 특정 플레이어가 다음 게임에서 어느 정도 실력을 발휘할 수 있을지 예측할 수 있습니다. MMR은 분포 척도로, 불확실성은 편차 척도로 사용됩니다. 승/패 및 개별 활약상 등 매치 결과가 반복적으로 예측을 벗어날 경우, 불확실성은 거의 0에 수렴할 때까지 감소합니다. 의외의 매치 결과가 나오면, 불확실성이 증가합니다.

저희는 플레이어마다 다음 네 가지 MMR 수치를 기록합니다.

  • 일반 매치메이킹, 개별 플레이
  • 일반 매치메이킹, 파티 플레이
  • 랭크 매치메이킹, 개별 플레이
  • 랭크 매치메이킹, 파티 플레이

랭크 매치메이킹의 개별 및 파티 플레이 수치는 각각 측정 기간을 거치게 됩니다. 만약 MMR이 정확하지 않다고 간주될 경우 다시 측정 과정을 거칠 수 있습니다.

MMR 수치를 대략적인 백분율로 환산하면 다음과 같은 결과를 얻을 수 있습니다.

 5% 1100
10% 1500
25% 2000
50% 2250
75% 2731
90% 3200
95% 3900
99% 4100

이 분포는 일반 매치메이킹의 수치라는 점을 참고하시기 바랍니다. 랭크 매치메이킹에서 어떤 결과가 나올지는 저희도 알지 못하며, 다만 이와는 다른 형태일 것으로 예상할 뿐입니다. 랭크 매치메이킹에 참가하는 플레이어들은 더 실력이 뛰어날 것이며 경험도 풍부할 것입니다. 랭크 매치메이킹에 참가하는 플레이어들은 일반 매치메이킹 게임을 할 때보다 더 높은 기대치를 가질 것이며, 그에 걸맞게 게임을 플레이하리라고 생각합니다.

바람직한 매치메이킹의 조건은 무엇일까요?

자동 매치메이킹 시스템의 궁극적인 목표는 도타 2를 즐기는 플레이어들이 만족할 만한 게임을 만들어 가는 것입니다. 매치메이킹 시스템은 다음의 요소를 고려하여 매치를 선정합니다. (번호는 우선순위가 아닙니다.)

  1. 양 팀의 실력이 균형을 이룹니다. (각각 50%의 승률을 지닙니다.)
  2. 가장 실력이 뛰어난 플레이어와 가장 실력이 부족한 플레이어 간의 차이가 작습니다. 이는 팀 간 실력 균형과 관련되어 있으나 동일한 요소는 아닙니다.
  3. 가장 경험이 많은 플레이어와 가장 경험이 적은 플레이어 간의 차이가 작습니다. 게임 경험은 플레이한 게임의 수로 측정됩니다. 이에 대해서는 아래에서 더 자세하게 다루어집니다.
  4. 가장 실력이 뛰어난 래디언트 플레이어와 가장 실력이 뛰어난 다이어 플레이어의 실력이 비슷해야 합니다.
  5. 팀에 파티가 있을 경우 파티의 규모가 동일해야 합니다. 예를 들어, 5인 파티로 이루어진 팀과 5인의 개별 플레이어로 구성된 팀이 매치 상대가 되는 일은 없도록 해야 합니다.
  6. 플레이어의 언어 설정에 공통으로 선택한 언어가 있어야 합니다. 팀원과 소통할 수 있는 공통 언어가 없다면 이는 기피 사항이 됩니다. 공통 언어가 없는 사유는 모든 매치에서 기피 사항이 되지만, 우선순위는 높지 않을 수 있습니다.
  7. 대기 시간이 길지 않아야 합니다.

매치메이킹 시스템도 항상 이 모든 사항을 완벽하게 충족시키지는 못합니다. 매치를 선정할 때, 매치메이킹 시스템은 각각의 항목에 가중치를 부여하여 그 평균값을 구합니다. 전체적인 산출값이 특정 임계점을 초과하게 되면, 해당 매치는 “합격”으로 인식되며 매치가 잡힙니다. 저희는 지속적으로 매치 항목들을 점검하고 어떻게 우선순위를 부여할지에 관해 다양한 시도를 하고 있습니다.

매치메이킹 시스템은 플레이어들에게 특정 승률을 맞추도록 설계되지 않았습니다. 그러나, 어느 매치이든 각 팀이 50%의 승률을 가질 수 있도록 조정하고 있습니다. (이는 위 목록에서 1번 항목에 해당합니다.) 저희는 개인의 연승/연패를 점검하거나 연승/연패를 어느 단계에서 끝내야 한다고 생각하지 않습니다. 그러나, 연승 가도를 달리는 중이라면 보통은 MMR이 올라가는 중이며, 이는 더 강한 상대와 팀을 만나게 된다는 것을 의미합니다. 승률은 플레이어 실력을 측정하는 데 유의미한 요소가 아닙니다.

승수 역시 실력의 척도로 유용하지 않으며, 매치메이킹 시스템도 실력을 가늠할 때 승수를 고려하지 않습니다. 저희는 경험 수준으로 플레이어를 그룹화합니다. (이는 위 목록에서 3번 항목에 해당합니다.) 왜냐하면 실력이 비슷한 플레이어들이라 할지라도 경험의 차이가 있을 경우 게임에서 더 좋은 결과를 낼 것으로 예상할 수 있기 때문입니다. 매치메이킹 시 “경험치”를 측정하는 척도는 플레이한 게임 수를 대수함수에 넣어 얻는 대략의 값이라고 말씀드릴 수 있습니다. 40게임과 120게임의 경험 차이는 120게임과 280게임의 경험 차이와 비슷합니다.
2번 항목과 3번 항목의 차이를 시각화하면 플레이한 게임 수를 X축으로 하고 MMR 수치를 Y축으로 하는 그래프를 얻을 수 있습니다. 만약 두 플레이어가 그래프상에서 비슷한 궤적을 그린다면, 함께 매치에 참여할 수 있는 좋은 후보로 간주됩니다. 같은 매치에 참가한 플레이어들의 그래프상 궤적이 크게 벌어진다면 해당 매치는 좋지 않은 매치입니다. 도타 2에 새로 입문한 플레이어라면, 경험이 쌓이면서 실력이 증가함에 따라 점차 우상향하는 그래프를 그릴 것입니다. 이미 실력이 있는 플레이어가 신규 계정을 만들어서 플레이한다면, 그 궤적은 다소 다를 수 있습니다. MMR이 그래프 좌상단까지 빠르게 올라갈 것입니다. 그 다음에는 경험에 비해 실력이 뛰어난 다른 플레이어들을 만날 것입니다.

Not pictured: My MMR as computers are too slow to calculate such a small fraction

파티 플레이는 어떻게 되나요?

파티가 들어가게 되면 상황은 더 복잡해집니다. 보통 파티의 구성원들은 실력과 경험이 제각각이기 마련입니다. 매치메이킹 시스템은 상기 목록의 2번 및 3번 항목의 적합도를 측정하기 위해 파티마다 실력 및 경험의 합산 점수를 부여합니다. 매치메이킹에는 개인의 수치보다 파티의 합산 수치가 사용됩니다. 일반적으로, 파티원 간 실력과 경험차가 큰 파티의 경우, 개별 매치를 신청한 플레이어들과 매치가 이루어집니다. 해당 파티를 상대하는 개별 플레이어들은 파티의 평균적인 실력과 경험에 근접한 수치를 지닌 플레이어들입니다. 만약 특정 매치에서 다른 플레이어들에 비해 현저히 실력이 떨어지는 플레이어가 있을 경우, 해당 파티에는 상대적으로 실력이 뛰어난 플레이어가 포함되어 있을 가능성이 높습니다.

또한 파티를 구성한 플레이어들은 보통 서로 모르는 플레이어들로 이루어진 팀보다 더 좋은 결과를 내곤 합니다. 저희는 이를 두 가지로 받아들입니다. 먼저, 개별 매치와 파티 매치의 실력을 각각 구분하여 기록합니다. 다음으로, 파티에 속한 플레이어 수와 파티 내 실력의 분포 정도를 고려하여 MMR 수치를 효과적으로 조정합니다.

오늘 진행된 예시 매치를 통해 이 두 가지 기준이 적용되고 있음을 알 수 있습니다.

        RADIANT                        DIRE
  Party     MMR   AdjMMR        Party     MMR  AdjMMR
  D        2994     3003        C        3046    3062
  F        2788     2788        C        2920    2936
  A        2687     2687        E        2716    2716
  F        2626     2627        B        2672    2672
  D        2401     2410        C        2100    2116
  TOTAL            13515        TOTAL           13502

두 파티 모두 조정된 MMR 평균값이 2700에 수렴합니다. 위의 예시처럼 조정값을 기준으로 팀의 구성원들을 배치할 때 개별 매치를 선택한 플레이어들은 파티 매치를 선택한 플레이어의 위나 아래의 위치에 들어가곤 합니다. 또한, MMR 편차가 적은 파티(F파티)는 MMR 편차가 큰 파티(D파티)와 묶이는 경향이 있습니다. 이는 정형화된 패턴이라 할 수 있습니다. 그리고 D파티는 MMR 편차가 크기 때문에 조정되는 MMR 수치 역시 크다는 것을 알 수 있습니다. 서로 실력이 비슷한 플레이어로 구성된 F파티는 낮은 보너스를 받습니다. 이런 조정 과정은 통계 도구(아래에서 더 자세하게 다루어집니다.)를 통해 이루어지지만, 직관적으로 설명하자면 자신보다 실력이 뛰어난 플레이어와 파티를 이룰 경우 실력이 비슷한 플레이어와 파티를 이루었을 때보다 더 뛰어난 활약을 펼칠 수 있다는 의미입니다.

데이터 기반 프로세스

매치메이킹의 성공을 평가하는 것은 어려운 작업입니다. 매치메이킹 품질에 대한 플레이어의 평가는 자신의 최근 승률과 매우 밀접한 관련을 보입니다. 심지어 도타 2 개발팀도 비슷한 성향을 보입니다! “매치매이킹은 문제없어. 내가 연승을 거두고 있잖아.”로 귀결되는 감정적 반응과 소규모 표본의 문제점을 극복하기 위해, 저희는 데이터를 기반으로 의사결정을 내립니다. 다행히도 데이터는 무척 많습니다. 예를 들어, 저희가 MMR을 효과적으로 조정한다고 했을 때, 여러분은 파티에 속한 플레이어가 개별 매치를 돌리는 플레이어보다 더 좋은 결과를 보인다는 사실을 어떻게 설명할 수 있는지 궁금해하셨을 수도 있습니다. 저희는 로지스틱 회귀분석이라는 통계 도구를 이용해서 승률을 예측하는 함수를 만들어냅니다. 해당 함수에는 몇 가지 계수가 포함되며, 파티에 있는 플레이어들에게 부여할 MMR 보너스를 결정합니다. 그런 다음 수학적 계산을 통해 계수를 풀어내고 함수를 완성하면, 매치 결과를 매우 정확하게 예측할 수 있습니다.

매치메이킹 시스템 설계에 데이터를 어떻게 이용하는지를 보여주는 또 다른 예를 하나 들겠습니다. 어떻게 매치가 “합격”인지 알 수 있고, 어떻게 정확도를 보장할 수 있으며, 어떻게 하면 플레이어들에게 다음 매치가 괜찮을 것이라고 기대하게 할 수 있을까요? 이러한 기준을 만들기 위해 저희는 매치 품질이라는 것을 생각했습니다. 매치메이킹의 궁극적인 목표는 재미일 것입니다. 저희는 몇 가지 측정 도구를 만들어서 매치 품질을 진단합니다. 그중에는 게임에서 획득한 골드의 양을 기준으로 밸런스를 보는 측정 도구도 있습니다. 더 정확하게 말하자면 획득한 골드 차이를 시간 적분으로 환산한 값인데, 골드 차이가 0이 되는 마지막 시점을 기준으로 그 차이를 측정합니다. 이는 골드 차이 그래프로 아주 쉽게 시각화할 수 있습니다. 그래프가 0을 통과한 마지막 시간대를 찾아보세요. 그리고 X축과 그래프 사이에 만들어지는 공간을 측정합니다. 일반적으로 이 넓이가 작을수록 막상막하의 경기를 펼쳤다고 할 수 있습니다.

BALANCE

이 경기에서는 다이어가 만 골드가량 차이를 벌린 때가 있었지만, 래디언트는 반전의 계기를 마련하여 골드 획득에서 다시 앞서 가기 시작했습니다. 그리고 격차는 반대로 뒤집혔습니다. 특정 시점에서 편차가 크게 벌어질 수 있으나, 도타 2의 밸런스 계산에 따르면 이 경기는 박빙의 경기로 간주됩니다.

저희는 이러한 측정 도구들을 활용하여 대기 시간을 조정하는 실험을 시도하려 합니다. 대기 시간 임계치에 조정을 가하고, 밸런스 측정으로 분포도를 확인하면 이러한 변화가 매치 품질에 어떤 영향을 미치는지 관찰할 수 있습니다. 사실상 일방적인 경기였으나 박빙인 경기로 측정되는 등 일부 극단적인 사례가 잘못 분류될 수도 있지만, 변경 사항을 적용한 후 보통은 전체적인 반응을 살피기 때문에 큰 문제가 되지는 않습니다.

결론

매치메이킹 시스템이 어떻게 작동하고, 매치메이킹의 성공 여부를 어떻게 평가하며, 어떤 방식으로 시스템을 조정하는지 이해하는 데 본 글이 도움이 되었기를 바랍니다. 저희가 진행하는 다른 대부분의 것들과 마찬가지로 매치메이킹은 끝없이 평가하고 다듬어 가야 할 시스템입니다. 매치메이킹은 절대 완벽하지 않을 것이며, 본 글에서 다룬 기술적인 사항들도 현재 상태를 설명한 것일 뿐 더 좋은 대안을 찾는다면 얼마든지 변경될 수 있습니다. 저희는 여러분의 의견에 귀를 기울일 것이며 항상 개선을 위해 노력할 것입니다.