1. 유저간 맞대결 게임과 매치메이킹

한국 게임 시장에 유저간 맞대결 구조의 게임들이 나타난지는 꽤 오래 됐습니다.
여기서 유저간 맞대결 구조의 게임이란 일종의 PvP 구조 게임을 의미합니다.
서든어택류의 fps 게임들 대부분이 여기에 속합니다.
프리스타일이나 피파 등의 게임들도 그렇습니다.

한편 유저간 맞대결 구조의 게임 뿐 아니라 모든 게임에서,
난이도 조절은 무시하기 어려운 중요한 문제들 중 하나입니다.
게임이 너무 쉬우면 흥미를 잃기 쉽습니다.
게임이 너무 어려워도 계속하기 싫어지죠.

유저간 맞대결 구조의 게임에서 특정한 유저에게 알맞는 상대를 찾아주는건 아주 중요합니다.
'상대 유저'가 바로 '난이도' 이거든요.

너무 쉬운 상대를 자주 만나면 게임에 흥미를 잃기 쉽습니다.
도전적인 면모를 찾을 수 없게 되거든요.
너무 어려운 상대를 자주 만나도 게임에 흥미를 잃기 쉽습니다.
좌절하고, 게임에 대해 더 학습하려는 동기를 잃거든요.
엎치락 뒤치락 아슬아슬하게 진행되다가 결국은 자기가 이기는게 ^^;;
가장 재미있겠지만, 때로는 지기도 해야 흥미가 유지됩니다.

즉 유저간 맞대결 게임에서 매치메이킹이란 '난이도 조절장치' 인 겁니다.

2. 우리나라 게임들의 난이도 조절방법

그간 우리나라 대부분의 (유저간 맞대결) 게임들은 이런 부분을 '계급별 채널' 시스템으로 커버해왔습니다.
소위 '양학'을 줄이기 위해서
계급 또는 레벨이 높은 (실력이 높을 것으로 기대되는) 유저들은 고수채널에 모아놓고,
계급 또는 레벨이 낮은 (실력이 낮을 것으로 예상되는) 유저들은 하수채널에 모아놓습니다.
그리고 같은 채널에 있는 사람들끼리 싸우도록 만드는거죠.

나름 나쁘지 않은 장치라고 생각합니다만 한계도 분명히 있습니다.
유저의 실력이라는 측면을 반영하기보다는
캐릭터 계급 또는 레벨을 반영하므로써 괴리가 생긴다는 점이 가장 큰 문제이고,
채널의 갯수가 너무 많으면 유저들이 지나치게 분산되므로
채널의 갯수는 일정 이하로 유지해야 하는데,
그렇게 되면 실력차 보정에 일정 이상의 오류가 내재된다는 점이 아무래도 문제였죠.

3. 매치메이킹 레벨1

그래서 나온게 매치메이킹 !! 은 아닙니다 물론 ^^;;
계급별 채널 시스템이 나오기 한참 전부터도 매치메이킹이라는건 있어왔거든요.
근데 초창기의 매치메이킹이라는건 무척 조악했죠.

레벨1 매치메이킹은 '레이팅'이라는 개념이 없었습니다.
그냥 특정 유저의 '승률' 또는 '연승'만을 시드로 잡고 매치메이킹을 합니다.
승률이 높거나 여러번 연승하고 있는 유저들을 고수로,
승률이 낮거나 여러번 연패하고 있는 유저들을 하수로 잡는거죠.
'승률' 자체를 시드로 잡는다는 점에서 왠지 정확할 것 같지만 의외로 안그랬습니다.

'상대편의 수준' 을 고려할 수가 없었거든요.
무쟈게 잘하는 상대를 만나서 1패를 한 사람과
엄청 못하는 상대를 만나서 3승을 한 사람의
지표상 격차는 엄청 크지만, 실제 실력은 오히려 후자쪽의 플레이어가 못할 수 있는 겁니다.

4. 매치메이킹 레벨2

그래서 '레이팅' 이라는 개념이 나왔습니다.
각 개별 유저들의 실력을 수치로 환산해서 기록하고,
앞서 말씀드린 '상대 유저와의 실력 격차' 까지도 고려하기 위한 장치였죠.

사실 요건 국제 체스 챔피언전에서 대진을 짜는 장치를 살짝 업어온 겁니다.
ELO라고도 하는 시스템인데,
여기에 레이팅은 물론이고 서로 다른 레이팅간의 난이도를 맞추기 위한 최적화 공식이 다 들어있거든요.
(ELO가 뭐의 약잔지 찾지 마세요. 사람 이름 따온거거든요)

그리고 적어도 지금까지는 이 ELO 시스템이 체스계에서 꽤 잘 동작해왔으니,
게임에서도 충분히 제 기능을 하지 않겠느냐 ... 하는 기대였습니다.
물론 꽤 괜찮았다고 합니다.
문제는 상성 없는 1 vs 1 대전에서만 그랬다는거죠.

5. 매치메이킹 레벨3

실제로 게임에서 벌어지는 대전은 1 vs 1을 보기가 쉽지 않거든요.
못해도 2 vs 2로 벌어지고, 3 vs 3 이나 5 vs 5 심지어 20 vs 20 이런것도 많으니까요.
여기에 더해서 상성문제가 ELO에는 빠져 있습니다.

체스에는 상성이라는 개념이 없죠. 모두가 같은 말과 같은 위치에서 시작하니까요.
물론 처음에 누가 두느냐라던가하는 요소가 있긴 하겠습니다만,
스타크래프트의 토스vs테란vs저그와 같은 격한 차이는 없습니다.
ELO 시스템은 이걸 반영하지 않은 장치였죠.

한 판의 경기의 결과를 여기에 참가한 유저들의 ELO에 나누어서 잘 계산하고,
이를 다시 합산하여 계산 (경기 시작전 상대 물색시) 하고,
그 와중에 각 유저들의 상성을 계산에 넣는 방법은 지금까지도 계속 연구 중입니다.
전보다 좀 나아지긴 했지만 여전히 최적화된 공식을 찾기 위해 세계의 밸런서들이 분주히 노력 중입니다.

그 와중에 스타2에서 이번에 들고 나온게
'레이팅 직접 적용'이 아니라 본 레이팅 위에 하나의 값을 더 씌우는 겁니다.
자세한건

http://katz.egloos.com/4487715

여기를 참고하시구요. (제가 쓴 것 아닙니다. 혹시나 오해하실까봐)
매치메이킹을 통해서 최적화 된 상대를 골라주는 시스템은 앞으로도 쭈욱 발전하겠죠.




** 빼먹거나 모르고 지나간 내용 제보 받습니다~