강연자: 김호용
소속: 네오플 액션스튜디오 BBQ 개발실
이력:
▲ 넥슨 인텔리전스랩스 매칭팀
▲ 네오플 게임 밸런스 / 시스템 디자이너
앞서 말씀드린 '불만'들을 온전히 이해하려면 실력점수 시스템에 대한 명확한 이해가 필요합니다.
대결 게임을 플레이한다는 건 '누가 더 실력 발휘를 했나'를 관측하는 거로 모델링할 수 있습니다. 다만, 실력이 좋아도 게임에서 항상 이기는 건 아닙니다. 변수를 만들 다양한 요소가 존재하기 때문이죠.
이에 김호용 디자이너는 매번 달라지는 플레이를 나타내기 위해 '실력 발휘'라는 개념을 도입했습니다. 실력 발휘는 유저가 특정 게임에서 발휘한 결과를 의미하는데요, 단순히 게임을 잘하는 것뿐만 아니라 인내심, 컨디션, 10강 무기, 캐릭터 성능 등 다양한 요소의 영향을 받는다는 개념입니다. 따라서 승리에 결정적 영향을 미친 요소를 찾는 것보다 예측된 결과가 실제와 얼마나 일치하는지가 더 중요합니다.
그렇다면 게임에서 실력점수 시스템을 활용할 경우 어째서 문제가 발생하는 걸까요?
김호용 디자이너에 따르면 실력점수 시스템은 ELO 레이팅과 일치하며 이를 랭킹점수로 활용할 수 있습니다. 다만, 두 시스템을 동일하게 취급하긴 어렵습니다.
실력점수 시스템의 목적은 최대한 적은 게임 수로 유저의 실력을 정확히 추정하고 점수로 나타내는 것입니다. 이상적으로 구축되기만 하면 손쉽게 유저의 실력을 가늠할 수 있지만, 이를 그대로 랭킹에 반영하면 약간의 문제가 생깁니다. 단 한 번의 경기로 1등과 꼴찌가 결정되고, 랭킹도 거의 변하지 않을 테니까요. 실력점수 시스템을 랭킹에 사용하는 게 정답이 아닐 수 있음을 알 수 있는 대목입니다.
물론 실력점수 시스템(ELO)이 잘못된 건 아닙니다. 실제로, 체스에서는 유저들의 실력을 비교함에 있어 이 시스템을 적극적으로 활용하고 있으니까요. 하지만 이를 게임에 도입하면 조금 다른 상황이 펼쳐집니다. 일정 실력 이상인 사람만이 ELO 점수를 부여받는 체스와 달리, 게임에는 순수 실력 외에 수많은 요소가 '실력'이라는 범주 안에 포함됩니다. 양상이 복잡해진 만큼, 조금 다른 접근이 필요한 셈입니다.
다양한 게이머에게 동기를 부여하려면 아래 이미지에 포함된 항목들을 고려해야 합니다. 이중 별개의 문제에 해당하는 게임 코어의 재미를 제외하면 나머지 요소는 모두 랭킹점수가 중추이자 기준이 됩니다. 물론, 이것 외에도 친구와 함께하면 점수를 추가로 부여하는 방법을 활용할 수도 있을 겁니다.
이처럼 랭킹점수 업데이트 방식은 사람들의 플레이 동기에 영향을 미칩니다. 플레이 횟수와 랭킹점수가 연결돼야 한다는 걸 어렵지 않게 인지할 수 있죠.
정리하자면 랭킹점수는 실력을 반영하는 부분과 플레이 횟수를 반영하는 부분이 적절한 지점에서 만나는 '트레이드 오프'에 해당합니다. 만약 실력만 반영하면 큰 변동이 없어 동기를 잃을 거고, 반대 경우엔 게임이 아니라 노동에 가까워지기 때문에 적절한 지점을 찾는 게 필요합니다.
도입부에 등장한 '불만 사례'를 통해 랭킹점수 시스템에 필요한 지표가 무엇인지도 고민해봅시다.
'너무 강한 상대를 자꾸 만나 피곤하다'는 불만은 랭킹에 실력 반영이 얼마나 되는지와 연결되어 있습니다. 이것이 제대로 되지 않으면 같은 등급임에도 나보다 강한 상대를 자주 만날 수밖에 없죠. 반대로, 약한 상대를 만나 싱거운 승리를 얻을 수도 있습니다. 실력이 높은 사람일수록 랭킹이 높아지는 경향이 있어야만 PVP 콘텐츠의 '경쟁'도 의미를 갖습니다. 즉, 실력은 랭킹점수의 가장 중요한 축에 속합니다.
두 번째 불만 '아무리 플레이해도 랭킹 변화가 없다'는 횟수가 랭킹에 반영되지 않는 상황으로 보입니다. 따라서 플레이를 거듭할수록 점수가 증가하는 경향을 도입해 반복 플레이에 의미를 부여할 수 있죠. 실력과 플레이 횟수는 적절한 지점에서 만나야 하기에 둘을 동시에 다뤄야 합니다.
표를 이용해 다시 정리해봅시다.
가로축은 실력, 세로축은 플레이 횟수의 변화를 나타냅니다. 첫 번째 이미지에서 노란색으로 표시된 부분은 횟수는 동일하지만 실력이 다를 경우, 누가 더 랭킹점수가 높아야 하는지를 보여줍니다. 따라서 A는 B보다 높고, C는 D보다 높게끔 실력에 따라 설정되어있습니다.
반면, 실력은 동일하지만 플레이 횟수가 다른 케이스도 있습니다. 이 경우 많이 플레이한 유저에게 이득을 주는 형태가 되어야 하는 만큼 A는 C보다, B는 D보다 높은 등급이 부여됩니다. 여기서 언급되지 않은 A와 D, B와 C 사이의 등급은 해당 게임이 실력과 플레이 횟수를 어떻게 반영하냐에 따라 달라질 수 있습니다. 시스템 구성에 따라 나열하는 순서가 바뀔 수도 있고요.
이에 더해, '매치메이커'와 '보상'도 중요합니다. 검색방식의 기본은 정해진 MMR 범위에서 찾는 것이지만, 분포를 예측하지 못한 채 검색 범위를 설정할 경우 유저는 한없이 매칭을 기다려야 합니다. 보통 특정 점수에 유저가 몰려있거나, 예상보다 점수분포가 성길 때 일어나는 현상이기도 합니다.
보상은 랭킹의 주요 동기 중 하나입니다. 플레이 동기는 유저들의 등급이 보상 기준점 바로 직전에 위치할 때 가장 큰 편이죠. 따라서 기준점이 시간에 따라 변하지 않는다면 특정 점수 달성 시 플레이를 멈추는 '주차 플레이'가 유행하게 됩니다. 점수를 올려서 받는 이득보다 리스크가 더 커지기에 발생하는 현상이죠. 따라서 전반적인 점수 컷이 이동해야 플레이를 지속적으로 유도할 수 있습니다.
김호용 디자이너는 세션 말미, 앞서 설명한 개념들을 활용한 시뮬레이션도 공개했습니다. 실력을 하나의 확률 분포로 정의했기에, 모델을 기반으로 시뮬레이션을 진행할 수 있다고 판단한 거죠.
예시를 하나 살펴봅시다. 두 번째 케이스는 '승리 시 무조건 승점 30점을 얻고 패배하면 점수를 유지하는' 규칙을 갖고 있었습니다. 이를 토대로 적합성을 따진 결과 실력 반영 비율은 감소했지만, 플레이를 거듭할 수록 랭킹이 오르는 경향이 생겼습니다. 다만, 상위권을 제외하면 점수 이동률이 낮았기에 유저들의 동기 부여를 떨어뜨릴 수 있는 단순한 구성이라는 결론을 도출할 수 있었습니다.
시뮬레이션만으로도 해당 규칙의 결과를 어느 정도 예상하고, 위험을 방지할 수 있는 셈입니다.
김호용 디자이너는 오늘(9일) 세션을 다음과 같이 요약했습니다. 이번 세션을 통해 훗날 개발될 게임의 PVP가 현명한 랭킹 구조를 갖출 수 있길 바라봅니다.
▲ 랭킹점수 시스템은 실력점수 시스템과 목표가 다르다.
: 게임과 의도에 따라 다르게 설정할 필요가 있다.
▲ 기획 의도를 측정할 수 있는 지표를 만들 수 있다.
: 지표는 결과를 요약해서 보여주는 도구니, 다양한 방법으로 사용해보자.
▲ 시뮬레이션은 강력한 기획 도구다.
: 기획을 검증해보는 방법론이 더 많은 곳에서 사용되길 바란다.