응답하라 라이엇

리그 오브 레전드나 라이엇 게임즈에 대해 궁금한 점을 남겨 주시면, 일부를 선정하여 담당자가 격주 금요일 오전 5:30(한국시간 기준)마다 답변을 드립니다.

무엇이 궁금하신가요?

오류가 발생하였습니다. 다시 시도해 주세요.

질문이 등록되었습니다. 감사합니다!

다음 글

[개발 인사이드] 대전 매칭 개선사항

역할군 자동 선택, 대전 검색 시간, 그래프를 통해 알아보는 2017년의 대전 매칭

얼마 전 게임 기획자들이 게임 준비 과정에 대한 몇 가지 질문에 답해드린 바가 있습니다. 이번 마지막 게시물에서는 리그 오브 레전드의 대전 매칭을 개선하기 위해 저희가 어떤 작업을 해왔는지 말씀드리겠습니다.

앞으로 계속해서 말씀드리겠지만 리그 오브 레전드의 대전 매칭 시스템은 세 가지 요건을 균형적으로 충족해야 합니다. 공정한 대전을 만들고, 플레이어 여러분에게 주 역할군을 최대한 많이 배정해야 하며, 대전을 찾는 시간을 짧게 유지해야 합니다. 지난 2년간 저희는 보이지 않는 곳에서 대전 매칭 개선 작업에 매진해왔으며, 오늘 관련 데이터 중 일부를 플레이어 여러분과 공유하고자 합니다!

본론으로 들어가기 전에 한 가지 짚고 넘어가도록 하겠습니다. 작년 한 해 동안 대부분의 실력 수준대에 걸쳐 대전의 공정함을 유지할 수 있었다고 생각합니다. 따라서 이번 게시물에서는 역할군 선택과 대전 검색 시간에 중점을 두겠습니다. 플레이어 여러분께서 이 두 가지 요소에 대한 문제가 심각하다는 의견을 제시해주셨기 때문에 개선을 위해 작년 개발 시간 중 대부분을 관련 작업에 투자한 바 있습니다.


역할군 선택 

먼저 역할군 선택에 대해 알아보겠습니다. 2016년에 도입한 ‘역할군 선택/자유 팀 랭크’ 시스템은 그리 매끄럽게 운영되지 못했습니다. 이러한 문제를 보완하기 위한 조치의 일환으로 역할군 자동 선택 기능이 추가되었습니다. 역할군 자동 선택으로 인해 대전을 검색하는 시간이 대폭 감소했지만, 역할군이 자동으로 선택되는 비율이 너무 높다는 점을 많이 지적해주셨습니다.

저희는 이를 염두에 두고 역할군 자동 선택 비율을 향상시킬 방안을 모색했습니다. 리그 오브 레전드에서 역할군 선택을 보완하는 기능으로서 역할군 자동 선택의 중요성을 말씀드린 적이 있지만, 그렇다고 해서 개선할 점이 없다는 의미는 아닙니다. 2017년에는 플레이어 여러분이 주 역할군에 배정되는 비율을 훨씬 더 높이고 역할군이 자동 선택되는 비율을 줄이기 위한 작업이 진행되었습니다. 아래 그래프는 북미 데이터지만 모든 지역이 유사한 패턴을 보이는 점 참고 부탁 드립니다. 

모든 역할군 조합에 대한 역할군 배정 (북미, 2016년 1월 ~ 2018년 1월)

Primary(주황색): 주 역할군 Secondary(빨강색): 부 역할군 Autofill(파랑색): 역할군 자동 선택

(a) 주 역할군 우선 – 대기 시간이 더 길어지더라도 주 역할군에 더 자주 배정되도록 알고리즘을 변경했습니다.
(b) 역할군 자동 선택 – 모든 플레이어 대상으로 역할군 자동 선택을 도입했습니다.
(c) 역할군 자동 선택 및 주 역할군 수정 – 주 역할군 배정 확률과 관련된 구성을 변경했습니다.
(d) 역할군 자동 선택 실험 – 역할군 자동 선택의 여러 버전 중 가장 좋은 버전을 찾기 위해 테스트를 진행했습니다.
(e) 납치 알고리즘- 팀 구성 방식을 변경했습니다. 이름만큼 나쁜 건 아닙니다.
(f) 셔플 알고리즘- 주 역할군 배정 확률을 높이기 위한 알고리즘입니다.

작년의 변경사항으로 인해 플레이어 여러분께서 어느 역할군을 선택하시든 상관없이 주 역할군에 배정되는 확률이 90%까지 상승했습니다. 위 그래프는 플레이어 여러분이 작년에 주 역할군, 부 역할군, 자동 선택된 역할군에 배정된 확률을 나타내는 그래프입니다.

역할군 선택 기능 도입 초기에는 미드를 주 역할군으로 선택하고 서포터를 부 역할군으로 선택할 경우 10게임 중 1 게임만 미드를 플레이할 수 있어 주 역할군으로 게임을 즐길 기회가 적었죠. 저희는 2016년 초반부터 이러한 상황을 개선하기 위해 노력해왔습니다. 부 역할군에 배정될 확률이 다른 역할군 조합보다 높은 역할군 조합(대부분 서버에서 미드/서포터 조합)에 대해서도 서포터를 부 역할군으로 택하기가 훨씬 더 “안전한” 역할군으로 만들기 위해 노력했습니다.

미드/서포터 조합에 대한 역할군 배정 (북미, 2016년 1월~2018년 1월)

Primary(주황색): 주 역할군 Secondary(빨강색): 부 역할군 Autofill(파랑색): 역할군 자동 선택

(a) 역할군 선택 시행 – 서포터를 부 역할군으로 선택하면 영락없이 서포터로 배정된다는 점이 파악되어 역할군 선택 시스템의 의미가 퇴색되었습니다.
(b) 주 역할군 우선 – 일시적으로는 효과가 있었지만 결국 다시 무색해졌습니다.
(c) 역할군 자동 선택 – 역할군 자동 선택이 시행되었고 더 많은 플레이어가 서포터로 배정되었습니다.
(d) 역할군 자동 선택 및 주 역할군 수정- 주 역할군 배정 확률 조정을 위한 구성 변경을 통해 미드 배정 확률이 처음으로 서포터 배정 확률을 넘어섰습니다.
(e) 역할군 자동 선택 실험 – 역할군 자동 선택의 여러 버전 중 가장 좋은 버전을 찾기 위해 테스트를 진행했습니다.
(f) 자야와 라칸 출시 – 자야와 라칸 봇 듀오가 출시되고 라칸이 인기를 얻자 미드/서포터 조합을 선택한 플레이어들이 미드에 배정될 확률이 대폭 상승했습니다. (서포터를 주 역할군으로 선택한 플레이어가 많아졌기 때문이죠! #서포터대동단결)
(g) 역할군 자동 선택 테스트 – 역할군 자동 선택 관련 구성을 변경했습니다.
(h) 납치 알고리즘 – 팀 구성 방식을 변경했습니다. 진짜 나쁜 게 아닙니다.
(i) 조이 출시 – 조이를 선택하는 플레이어가 많아져 미드 배정 확률이 일시적으로 낮아졌습니다. 새로운 챔피언이 출시되면 나타나는 전형적인 현상이죠.
(j) 2018 시즌 시작 – 현재 상태라고 보시면 되겠네요.
.

위 그래프는 가장 배정하기 까다로운 역할군 조합인 미드 주 역할군 및 서포터 부 역할군 조합의 주 역할군, 부 역할군, 자동 선택된 역할군에 배정된 확률을 나타내는 그래프입니다. “최악의 시나리오”에서도 결과가 괜찮기 때문에, 플레이어 여러분께서 어떤 역할군을 택하더라도 거의 모든 게임에서 주 역할군을 배정받는다고 판단할 수 있었습니다.


대전 검색 시간 게임 시작까지 걸리는 시간

작년 한 해에 이른바 “게임 시작까지 걸리는 시간”을 줄일 기회가 몇 번 있었습니다. 이 시간은 “대전 찾기” 버튼을 클릭한 시간부터 로딩 스크린이 표시되는 시점까지의 시간을 의미하죠. 챔피언 선택 시간, 플레이어 이탈로 지체된 시간, 대전 검색 시간이 이에 포함됩니다. 8분에 걸쳐 챔피언을 선택했더니 누가 마지막에 이탈해버리면 기분이 좋을 순 없습니다. 2017년에 챔피언 선택에 얼마나 많은 시간이 걸렸는지 아래에서 알아보시죠.

챔피언 선택 시간 (지역, 2017년)

Percentile*(1/1000 games): 백분위수 (1/1000 게임 기준) Mean: 평균

(a) 10밴 시스템 시행 – 교차 방식의 6밴 시스템을 동시 10밴 시스템으로 변경함으로써 챔피언 선택 시간이 평균 30초 이상 감소했습니다.
(b) 교차 선택 시 챔피언 동시 선택 방식 시행 – 같은 팀에서 두 명이 순차적으로 챔피언을 선택하는 방식을 동시 선택으로 바꾸어 챔피언 선택 시간을 대폭 줄일 수 있었습니다.

위 기능 도입과 더불어, 플레이어가 자신이 챔피언을 선택할 차례가 온 것을 보다 잘 확인할 수 있도록 챔피언 선택 화면의 시각적 요소를 개선했습니다. 챔피언 선택 화면의 시각적 요소를 개선했습니다. 그 결과 챔피언을 선택하지 못해 비고의적으로 이탈하는 빈도가 10게임 중 한 번에서 15게임 중 한 번으로 감소했습니다.

다음은 대전 검색 시간입니다. 게임을 할 때마다 대전을 찾느라 오래 기다리고 싶은 플레이어는 없겠죠. 팀 이름인 “대전 준비 팀”에서 알 수 있듯 저희는 플레이어 여러분께서 얼른 대전 준비를 끝내고 게임을 즐길 수 있길 바랍니다. 2016년에 최상위급 플레이어들은 단 한 게임을 플레이하기 위해 몇 시간을 기다려야 하는 경우도 있었습니다. 전혀 바람직한 상황이 아니었죠.

대전 검색 시간 (지역, 2017년)

Percentile*(1/1000 games): 백분위수 (1/1000 게임 기준) Median: 중위수 Average: 평균

(a) 최적 연산 괄호 솔루션 – 수학적인 내용이라……저희에게 가급적 묻지 말아 주시면 정말 감사하겠습니다.
(b) 이탈 수정- 이탈로 인해 플레이어들이 대전 매칭 화면에서 빠져나갈 수 없는 문제를 해결했습니다.
(c) 납치 테스트 – 약 한 달 동안 다른 납치 설정을 테스트했습니다.
(d) 납치 테스트 종료- … 그 다음 다른 설정이 어떤 영향을 주었는지 파악하기 위해 설정을 이전으로 되돌렸습니다
(e) 상자 알고리즘 – 대전 검색 시간을 줄이기 위해 하드웨어 설정에 대한 코드를 최적화했습니다. 창의력이 필요한 작업은 아니었습니다.
(f) 납치 알고리즘 – 이전 그래프에서 언급한 것과 동일한 수정입니다. 이로 인해 게임 시작까지 걸리는 시간도 감소했습니다.

2017년 초반에 비해 전반적으로 대전 검색 시간이 훨씬 더 짧아졌습니다. 최악의 상황에도 일부 상위 MMR 구간을 제외한다면 검색 시간이 약 4분밖에 되지 않습니다. 대전 검색 시간 동안 화장실에 다녀오던 분들께는 이번 기회를 빌어 사과의 말씀을 드립니다.

그래프를 하나만 더 보도록 하겠습니다. 이번엔 좀 더 먼 과거까지 들여다보겠습니다. 플레이어 여러분도 아시겠지만 대전 매칭을 개선한다는 것은 반복 작업을 필요로 하는 장기적인 작업이며 결코 끝나지 않는 작업입니다. 아래 그래프는 2015년부터 2018년 1중 5일에 걸친 동일 기간(대략적으로 시즌이 시작하는 기간) 동안 대전 검색 시간을 나타내는 그래프입니다.

대전 검색 시간 (전 서버, 2015~2018년 1월)

Percentile*(1/1000 games): 백분위수 (1/1000 게임 기준) Median: 중위수 Average: 평균

2015년 초 – 대전 검색 시간은 괜찮은 수준이었지만, 최악의 경우에는 12분이 넘어가기도 했습니다.
2016 년 초 – 역할군 선택 기능 시행 초기에는 매우 비효율적이었기 때문에 실력 수준이 높은 플레이어들은 한 게임을 하려면 26분 이상 대기해야 했습니다.
2017년 초 – 역할군 자동 선택 기능과 함께 기타 소규모 수정사항들이 도입되어 대전 검색 시간이 2015년 수준으로 정상화되었습니다.
2018년 초 – 2017년에 있었던 개선사항, 버그 수정, 구성 변경으로 인해 리그 오브 레전드의 대전 매칭 효율이 역사상 가장 높은 수준으로 개선되었습니다.


정리하자면, 대전 매칭 시스템이 완벽하지는 않지만 이제는 공정한 대전을, 원하는 포지션에서 더 높은 빈도로 즐길 수 있으며, 게임을 시작하기까지 기다리는 시간도 길지 않습니다. 그렇다면 앞으로는 어떤 작업이 이루어져야 할까요?

2018 이후 계획

2018년에는 몇 가지 과감한 아이디어를 검토할 예정입니다. 이 아이디어들은 각기 다른 개발 과정에 있습니다. “확실히 도입될 거야”라는 생각이 들게 하는 아이디어가 있는 반면 “구현 가능한지 전혀 모르겠어”라는 생각이 들게 하는 아이디어도 있습니다. 저희가 검토 중인 몇 가지 아이디어를 아래에 소개합니다.

너무나도 짧은 대전 검색 시간?

다른 요소를 희생하지 않고 모든 플레이어 여러분의 대전 검색 시간을 20~30초로 단축하는 일이 가능한지 타진해보고 있습니다. 불가능한 일일지도 모르지만, 아직 단정할 순 없는 단계입니다. 작으나마 실현 가능성이 있는지 검토할 예정입니다.

신규 플레이어와 부계정 MMR

플레이어를 정확한 MMR에 현재보다 훨씬 더 빨리 배치할 수 있을 것으로 보이는 새로운 알고리즘을 만들어 몇 가지 테스트를 거쳤습니다. 부가적인 효과로 부계정으로 게임을 즐기는 플레이어들을 더 빨리 원래 위치로 보낼 수 있을 것 같습니다. 이 알고리즘 테스트가 끝나고 기대했던 효과를 낼 것이라고 생각되면 여러분께 공지할 예정입니다.

역할군에 대한 고찰

어떠한 묘책도 랭크 게임의 문제를 모두 해결할 수는 없습니다. 현재 시스템의 큰 문제는 어떤 역할군을 플레이하더라도 만만치 않은 실력이 요구된다는 것입니다. 익숙하지 않은 환경에서 플레이 경험이 부족한 플레이어에게는 부담이 되고, 원하지 않은 역할군에 배정된다면 더 큰 부담을 지게 되는 것이죠. 악용의 여지가 크지 않으면서도 이 문제를 해결할 수 있는 여러 가지 방안을 검토 중입니다. 아직 구상 초기 단계이니 이 문제에 대한 플레이어 여러분의 의견이 큰 도움이 될 것입니다.


이 게시물은 리그 오브 레전드 대전 매칭에 관한 마지막 게시물입니다. 아래에서 대전 매칭에 관한 전체 게시물을 확인해보세요.

[개발 인사이드] 대전 매칭에 대한 진솔한 이야기 – 대전 매칭에 대한 까다로운 질문에 답해드립니다. 근거 없는 소문에 대해 해명할 기회가 된다면 더 좋겠습니다. 

[개발 인사이드] 대전 매칭 개선사항 – 지난 몇 년간 보이지 않는 곳에서 이루어져 온 대전 매칭 관련 개선사항을 살펴봅니다.

다음 글

[개발자 일기] 스킨 개발 현황