우리나라에서는 보통 "밸런스"라고 하면 "힘의 균형"으로 많이 쓰이기 때문에 "각 진영의 균형을 맞춰주는 건가?"라고 생각하기 쉽지만
그저 "인원 수 균형"을 맞추는 데에만 사용되고 있는 것이 현실입니다.
요즘 펑크부스터가 그다지 치트 유저들을 잡아내지도 못하는 거 같고 해서,
저는 이렇게 개선했으면 좋겠네요.
일단 준비가 다소 필요할 거 같습니다.
첫째로, 각 레벨별 총점의 평균값이 필요합니다.
둘째로, 각 레벨층의 인원이 어떻게 되는지 비율값이 필요합니다.
오토 밸런스가 단순히 사람 수 균형을 맞추는 데에 그치지 않고
진정한 "밸런스"를 위한 시스템으로 거듭나기 위해서는
위의 두가지 준비가 필요할 거 같네요.
일단 저 준비를 마치고 나면, 이렇게 돌아가면 될 거 같습니다.
한 라운드가 끝나고 결과창이 나오고, 포상 내역 및 각종 통계 기록이 나오는 결산창에서
서버가 유입/잔존 유저들의 레벨 및 총점의 평균을 계산해냅니다. 그리고 이 총점의 평균이 가장 균등하게 유지된다고 생각되는 수준에서 마구잡이로 섞습니다.
이 과정에 있어서 총점의 평균을 "비약적으로 올리는" 사람은 치트키를 사용하는 사람일 가능성이 높으므로 서버에서 추방합니다. (비약적으로 깎는 사람이라면 모를까, 혼자서 자신이 속한 팀의 점수 평균을 무조건 높게 만드는 사람이 있다면. 심지어 레벨도 그다지 높지 않고, 플레이 시간도 그다지 길지 않다면. 그는 매우 높은 확률로 치터일 가능성이 있겠죠.)
또한, 게임 진행중에 유입되는 유저가 로딩하는 과정에, Connecting 작업에 들어갈 때.
해당 유저의 정보를 서버에서 접하여 현재 게임이 돌아가는 상황을 계산하면 되겠습니다.
예를 들어,
러시아 팀의 평균 S/D가 1.5 그리고 평균 분당 점수가 280점인데,
현재 러시아 팀의 게임 진행상 S/D가 0.9 그리고 평균 분당 점수가 190점이라고 합시다.
반대로 미군은
평균 S/D가 1.5 그리고 평균 분당 점수가 280점인데,
게임 진행상 S/D가 1.8이고 평균 분당 점수가 330점이라고 한다면
새로 들어오는 사람은 되도록 러시아쪽으로 먼저 배치합니다.
또한, 배틀필드 특성상, 1개 분대의 인원 수 차이가 나면 한 분대라도 적은 쪽이 불리하게 돌아가게 됩니다.
그러므로
러시아쪽이 지고 있는 경우, 3~4명 차이까지는 솔직히 너무 많은 차이를 내므로
현재 게임 진행상의 S/D와 평균 분당 점수보다 점수가 높은 사람을 러시아쪽에 최대 2명까지 우선적으로 넣어주고
러시아쪽 진영의 S/D, 분당 점수보다 점수가 낮은 사람을 미군쪽으로 우선적으로 넣어줍니다.
이렇게 해서도 러시아가 진다면 그것은 정말 컨디션(혹은 분대플레이) 차이겠죠.
그리고 진다고 하더라도, 이 다음판이 진행되기 전.
결산창에서 또 한 번 서버에서 계산이 이루어지고, 남은 유저는 "방금 전 전투 기록"을 이용하여 평균을 계산.
새로 유입되는 유저는 "이전 전투 기록"이나 "병적부 전투 기록"을 활용하여 평균을 계산합니다.
남은 유저들은 이전판에 컨디션이 좋지 못했을 수 있으니 컨디션의 회복을 돕는 차원에서 방금 전 전투 기록을 활용하면 좋을 거 같습니다.