로그인

회원가입 | ID/PW 찾기

NDC

[NDC 2021] 실력점수와 랭킹의 차이점을 알고 계신가요?

네오플 액션스튜디오 BBQ 개발실 김호용 디자이너

에 유통된 기사입니다.
이형철(텐더) 2021-06-09 14:50:45
네오플 액션스튜디오 소속 김호용 디자이너는 과거 MMORPG <A>의 신규 PVP 콘텐츠에 솔루션을 제공한 바 있는데요, 당시 그는 <A>가 체스에서 비롯된 ELO 시스템을 활용했기에 큰 문제가 없다고 판단했습니다. 실력점수로 유저를 비교하고 승패로 점수가 변동되는 구조였기 때문이죠. 하지만 유저는 물론, 게임팀의 불만 곳곳에서 터져 나왔습니다. 예상과 전혀 다른 그림이 펼쳐진 겁니다.

이에 김호용 디자이너는 NDC 2021을 통해 랭킹, 실력점수 시스템이 어떻게 다른지 확인한 뒤 시뮬레이션을 통해 다양한 시스템을 비교하고자 했습니다. 낯설지만, 곱씹을수록 흥미롭게 다가오는 '실력과 랭킹점수'에 관한 이야기를 만나보시죠. / 디스이즈게임 이형철 기자

네오플 액션스튜디오 BBQ 개발실의 김호용 디자이너

 

 

강연자: 김호용

소속: 네오플 액션스튜디오 BBQ 개발실

이력:

▲ 넥슨 인텔리전스랩스 매칭팀

▲  네오플 게임 밸런스 / 시스템 디자이너

 

 

# 실력점수 시스템부터 알고 갑시다!

 

앞서 말씀드린 '불만'들을 온전히 이해하려면 실력점수 시스템에 대한 명확한 이해가 필요합니다. 


실력점수 시스템을 축약하자면 '기대되는 플레이어 간의 실력'이라고 볼 수 있는데 '기대'라는 말이 포함된 만큼, 오차가 존재할 수 있는 추정치라는 뜻도 담고 있습니다. 실력점수가 1,300일 경우 정말 그 정도 실력일 수도 있지만, 아닐 수도 있는 셈입니다. 또한, 실력점수 시스템은 '상대적'인 개념에 속합니다. 게임에서 내가 잘한다는 건 '누군가보다는 이 게임을 잘한다'는 뜻과도 연결되기 때문이죠.

이러한 특징을 기반으로 실력점수 시스템의 중요한 부분을 나열하면 다음과 같은 다이어그램으로 연결할 수 있습니다. 모델을 설정하고 예상하는 초기 단계를 거쳐, 결과에 대한 해석을 두고 고민하는 과정도 포함됐죠. 반복적 관측을 통해 실력점수와 실제 유저의 실력 간의 오차를 줄일 수 있는 겁니다.

반복적 관측을 통해 오차를 줄일 수 있다

 

 

대결 게임을 플레이한다는 건 '누가 더 실력 발휘를 했나'를 관측하는 거로 모델링할 수 있습니다. 다만, 실력이 좋아도 게임에서 항상 이기는 건 아닙니다. 변수를 만들 다양한 요소가 존재하기 때문이죠.

 

이에 김호용 디자이너는 매번 달라지는 플레이를 나타내기 위해 '실력 발휘'라는 개념을 도입했습니다. 실력 발휘는 유저가 특정 게임에서 발휘한 결과를 의미하는데요, 단순히 게임을 잘하는 것뿐만 아니라 인내심, 컨디션, 10강 무기, 캐릭터 성능 등 다양한 요소의 영향을 받는다는 개념입니다. 따라서 승리에 결정적 영향을 미친 요소를 찾는 것보다 예측된 결과가 실제와 얼마나 일치하는지가 더 중요합니다. 

 

게임을 잘하는 것 외에도 수많은 요소가 존재한다

  

실력 발휘 차이의 분포를 도표로 나타내면 다음과 같은 결괏값을 확인할 수 있다

 

# 실력점수 시스템이 아닌, '랭킹점수 시스템'이 필요한 이유

 

그렇다면 게임에서 실력점수 시스템을 활용할 경우 어째서 문제가 발생하는 걸까요? 

 

김호용 디자이너에 따르면 실력점수 시스템은 ELO 레이팅과 일치하며 이를 랭킹점수로 활용할 수 있습니다. 다만, 두 시스템을 동일하게 취급하긴 어렵습니다.

 

실력점수 시스템의 목적은 최대한 적은 게임 수로 유저의 실력을 정확히 추정하고 점수로 나타내는 것입니다. 이상적으로 구축되기만 하면 손쉽게 유저의 실력을 가늠할 수 있지만, 이를 그대로 랭킹에 반영하면 약간의 문제가 생깁니다. 단 한 번의 경기로 1등과 꼴찌가 결정되고, 랭킹도 거의 변하지 않을 테니까요. 실력점수 시스템을 랭킹에 사용하는 게 정답이 아닐 수 있음을 알 수 있는 대목입니다.


반면, 랭킹점수 시스템은 유저를 비교하고 순위를 나열할 점수를 결과에 따라 업데이트합니다. 여기까지만 보면 실력점수 시스템과 유사해보이는데요, 두 개념은 '목표'에 있어 확연한 차이를 보입니다. 랭킹점수 시스템의 목표는 '유저가 경쟁 게임을 반복적으로 플레이할 수 있는 동기를 제공하는 겁니다. 실력점수 시스템과는 사뭇 다른 느낌이죠.

실력점수 시스템은 최대한 적은 게임 수에 포인트를 두지만...

랭킹점수 시스템은 플레이 동기를 제공하는 것에 중점을 둔다

 

 

물론 실력점수 시스템(ELO)이 잘못된 건 아닙니다. 실제로, 체스에서는 유저들의 실력을 비교함에 있어 이 시스템을 적극적으로 활용하고 있으니까요. 하지만 이를 게임에 도입하면 조금 다른 상황이 펼쳐집니다. 일정 실력 이상인 사람만이 ELO 점수를 부여받는 체스와 달리, 게임에는 순수 실력 외에 수많은 요소가 '실력'이라는 범주 안에 포함됩니다. 양상이 복잡해진 만큼, 조금 다른 접근이 필요한 셈입니다.

 

다양한 게이머에게 동기를 부여하려면 아래 이미지에 포함된 항목들을 고려해야 합니다. 이중 별개의 문제에 해당하는 게임 코어의 재미를 제외하면 나머지 요소는 모두 랭킹점수가 중추이자 기준이 됩니다. 물론, 이것 외에도 친구와 함께하면 점수를 추가로 부여하는 방법을 활용할 수도 있을 겁니다.

  

랭킹점수는 동기부여의 핵심 역할을 수행한다

 

  

이처럼 랭킹점수 업데이트 방식은 사람들의 플레이 동기에 영향을 미칩니다. 플레이 횟수와 랭킹점수가 연결돼야 한다는 걸 어렵지 않게 인지할 수 있죠.

 

정리하자면 랭킹점수는 실력을 반영하는 부분과 플레이 횟수를 반영하는 부분이 적절한 지점에서 만나는 '트레이드 오프'에 해당합니다. 만약 실력만 반영하면 큰 변동이 없어 동기를 잃을 거고, 반대 경우엔 게임이 아니라 노동에 가까워지기 때문에 적절한 지점을 찾는 게 필요합니다.

 

실력과 플레이 횟수를 반영하는 적절한 지점을 찾는 것이 과제다

 

 

# 랭킹점수 시스템에 필요한 지표에 대하여

  

도입부에 등장한 '불만 사례'를 통해 랭킹점수 시스템에 필요한 지표가 무엇인지도 고민해봅시다.

 

'너무 강한 상대를 자꾸 만나 피곤하다'는 불만은 랭킹에 실력 반영이 얼마나 되는지와 연결되어 있습니다. 이것이 제대로 되지 않으면 같은 등급임에도 나보다 강한 상대를 자주 만날 수밖에 없죠. 반대로, 약한 상대를 만나 싱거운 승리를 얻을 수도 있습니다. 실력이 높은 사람일수록 랭킹이 높아지는 경향이 있어야만 PVP 콘텐츠의 '경쟁'도 의미를 갖습니다. 즉, 실력은 랭킹점수의 가장 중요한 축에 속합니다.

 

실력은 랭킹점수의 핵심축에 해당한다

 

두 번째 불만 '아무리 플레이해도 랭킹 변화가 없다'는 횟수가 랭킹에 반영되지 않는 상황으로 보입니다. 따라서 플레이를 거듭할수록 점수가 증가하는 경향을 도입해 반복 플레이에 의미를 부여할 수 있죠. 실력과 플레이 횟수는 적절한 지점에서 만나야 하기에 둘을 동시에 다뤄야 합니다. 

 

표를 이용해 다시 정리해봅시다. 

 

가로축은 실력, 세로축은 플레이 횟수의 변화를 나타냅니다. 첫 번째 이미지에서 노란색으로 표시된 부분은 횟수는 동일하지만 실력이 다를 경우, 누가 더 랭킹점수가 높아야 하는지를 보여줍니다. 따라서 A는 B보다 높고, C는 D보다 높게끔 실력에 따라 설정되어있습니다.

  

실력에 따라 등급에도 차별성이 부여된다

 

 

반면, 실력은 동일하지만 플레이 횟수가 다른 케이스도 있습니다. 이 경우 많이 플레이한 유저에게 이득을 주는 형태가 되어야 하는 만큼 A는 C보다, B는 D보다 높은 등급이 부여됩니다. 여기서 언급되지 않은 A와 D, B와 C 사이의 등급은 해당 게임이 실력과 플레이 횟수를 어떻게 반영하냐에 따라 달라질 수 있습니다. 시스템 구성에 따라 나열하는 순서가 바뀔 수도 있고요.

  

실력이 동일하다면, 플레이 횟수에 따라 등급을 나눈다


이에 더해, '매치메이커'와 '보상'도 중요합니다. 검색방식의 기본은 정해진 MMR 범위에서 찾는 것이지만, 분포를 예측하지 못한 채 검색 범위를 설정할 경우 유저는 한없이 매칭을 기다려야 합니다. 보통 특정 점수에 유저가 몰려있거나, 예상보다 점수분포가 성길 때 일어나는 현상이기도 합니다.

 

보상은 랭킹의 주요 동기 중 하나입니다. 플레이 동기는 유저들의 등급이 보상 기준점 바로 직전에 위치할 때 가장 큰 편이죠. 따라서 기준점이 시간에 따라 변하지 않는다면 특정 점수 달성 시 플레이를 멈추는 '주차 플레이'가 유행하게 됩니다. 점수를 올려서 받는 이득보다 리스크가 더 커지기에 발생하는 현상이죠. 따라서 전반적인 점수 컷이 이동해야 플레이를 지속적으로 유도할 수 있습니다.

  

점수 분포를 예상해 매칭 시 발생할 수 있는 문제를 예방할 수 있다

전반적인 점수 컷을 이동시키지 않으면, 주차 플레이가 유행하게 된다


# 김호용 디자이너 "지표와 시뮬레이션이 더 많이 활용되길"

  

김호용 디자이너는 세션 말미, 앞서 설명한 개념들을 활용한 시뮬레이션도 공개했습니다. 실력을 하나의 확률 분포로 정의했기에, 모델을 기반으로 시뮬레이션을 진행할 수 있다고 판단한 거죠. 

 

예시를 하나 살펴봅시다. 두 번째 케이스는 '승리 시 무조건 승점 30점을 얻고 패배하면 점수를 유지하는' 규칙을 갖고 있었습니다. 이를 토대로 적합성을 따진 결과 실력 반영 비율은 감소했지만, 플레이를 거듭할 수록 랭킹이 오르는 경향이 생겼습니다. 다만, 상위권을 제외하면 점수 이동률이 낮았기에 유저들의 동기 부여를 떨어뜨릴 수 있는 단순한 구성이라는 결론을 도출할 수 있었습니다. 

 

시뮬레이션만으로도 해당 규칙의 결과를 어느 정도 예상하고, 위험을 방지할 수 있는 셈입니다.

  

특정 규칙을 설정한 뒤

   

시뮬레이션을 돌려 지표를 분석하면 리스크를 예방할 수 있다

쿨백 라이블러 발산값을 통해 유사성을 비교하는 것도 가능하다

  

 

김호용 디자이너는 오늘(9일) 세션을 다음과 같이 요약했습니다. 이번 세션을 통해 훗날 개발될 게임의 PVP가 현명한 랭킹 구조를 갖출 수 있길 바라봅니다.

  

▲ 랭킹점수 시스템은 실력점수 시스템과 목표가 다르다.  

  : 게임과 의도에 따라 다르게 설정할 필요가 있다.

 

▲ 기획 의도를 측정할 수 있는 지표를 만들 수 있다.

  : 지표는 결과를 요약해서 보여주는 도구니, 다양한 방법으로 사용해보자.

 

▲ 시뮬레이션은 강력한 기획 도구다.

  : 기획을 검증해보는 방법론이 더 많은 곳에서 사용되길 바란다.

 


 

최신목록 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10