#쿠키런: 마녀의 성과 퍼즐봇
쿠키런: 마녀의 성(이하 '마녀의 성')은 탭(Tap to blast) 방식의 퍼즐을 풀어 쿠키들을 마녀의 성에서 탈출시키는 퍼즐 게임입니다. 데브시스터즈에서는 마녀의 성을 AI가 학습하여 플레이하는 강화학습 기반의 퍼즐봇을 만들어 게임 레벨 밸런싱에 사용해왔습니다. 전작이었던 또 다른 퍼즐게임인 쿠키런: 퍼즐월드에서도 퍼즐봇을 만들어 게임 밸런싱에 사용했었는데요, 이 때의 경험을 바탕으로 한층 더 정교한 퍼즐봇을 만들어서 사용할 수 있었습니다. 마녀의 성은 각 레벨마다 독창적인 매력을 가진 스테이지들로 이루어져있고, 퍼즐봇은 이러한 각각의 스테이지 (레벨) 를 하나의 단위로 하여 학습하고 플레이를 하게 됩니다.
#밸런싱과 폴리싱, 그리고 스테이지 평가 지표
퍼즐 게임에서 밸런싱의 핵심은 각 스테이지에서 유저들이 사용할 수 있는 제한 무브 수를 결정하는 것입니다. 각 스테이지에는 주어진 미션이 있으며, 이 미션을 제한된 무브 수 안에 모두 해결해야 다음 스테이지로 넘어갈 수 있습니다. 따라서 제한 무브 수가 적으면 게임이 어려워지고, 많이 주어지면 비교적 쉬워집니다. 기획팀과 게임 디자인팀에서 제작한 스테이지는 이러한 밸런싱 과정을 거쳐 유저들에게 선보여집니다.
폴리싱 단계도 유저들에게 스테이지를 선보이기 전에 필수적으로 거쳐야 합니다. 폴리싱(Polishing; 연마) 단계란 제작된 스테이지들을 직접 플레이해 보며, 유저들에게 더 나은 플레이 경험을 제공하기 위해 스테이지를 다듬는 과정입니다. 스테이지를 플레이해보고 아쉬운 점을 개선하는 작업입니다. 또한, 폴리싱 단계는 제작된 스테이지를 그대로 사용할 수 있을지 판단하는 중요한 과정이기도 합니다.
저희는 퍼즐봇의 이점을 극대화하기 위해 폴리싱 단계에서도 퍼즐봇 데이터를 활용하고자 했습니다. 결과적으로, 기존의 폴리싱 과정에서 발생할 수 있는 문제점을 보완하고 더 효율적으로 스테이지 제작 과정을 수행하기 위해 퍼즐봇 데이터를 활용하여 각 스테이지를 평가할 수 있는 "스테이지 평가 지표"를 만들었습니다. 본 글에서는 그 이야기를 들려드리려고 합니다.
요약하자면, 저희는 "스테이지 평가 지표" 를 통해 폴리싱 단계에서 제작된 스테이지를 그대로 출시할 수 있을지 판단할 기준을 제공하고자 했습니다. "좋은 스테이지"라고 말할 수 있는 유저의 행동을 기준으로 잡고, 그 행동 비율과 높은 상관관계를 보이는 지표를 만들었습니다. 이렇게 만들어진 스테이지 평가 지표는 실제로 데브시스터즈 내부에서 진행된 사내 테스트 데이터를 기준으로도 유의미하게 높은 상관관계를 보였습니다. 이 지표는 기존 수작업으로 진행되던 폴리싱 단계에서 데이터 관점의 시각을 제공하여 더 효율적인 폴리싱 수행이 가능하게 했습니다.
#지표의 필요성과 목표
기존의 폴리싱 과정은 [ 퍼즐맵 제작 → 플레이 후 피드백 → 부족한 점 보완 → 이 후 밸런싱 과정 진행 ] 의 순서로 이루어집니다. 이러한 작업은 소수의 폴리싱 작업자의 직감에 의존적일 수 밖에 없고, 이로 인해 개인 성향에 따라 편향되기 쉽습니다. 또한 스테이지의 개수가 늘어남에 따라 폴리싱에 소모되는 시간이 비례하여 증가될 수 있다는 문제가 있습니다.
물론, 기획자 및 게임 디자이너분들의 감은 아주아주 중요한 요소이지만, 스테이지 제작 과정을 보다 효율적으로 확장하기 위해 폴리싱 단계에서의 추가적인 판단 기준이 될 수 있는 지표를 제공하고자 했습니다. 이는 보다 객관적인 성격의 지표로 사용이 가능하며 폴리싱 과정을 효율화 시키는데 도움이 될 수 있습니다. 정성적인 평가에 대한 의존성을 낮춤으로써, 하나의 레벨에 대해서 [ 여러 맵을 제작 → 지표를 통한 1차적인 판단 → 기획자 / GD 분들의 정성적 평가 → 폴리싱 ] 과 같은 방식으로 프로세스를 개선시킬 수 있습니다.
#스테이지 평가 지표
#기준이 되는 유저의 행동
스테이지 평가 지표는 유저들이 스테이지를 플레이했을 때의 반응을 예측할 수 있는 지표로 생각해볼 수 있습니다. 이를 위해 기준이 되는 유저의 행동을 설정해야 했습니다. 기획팀과의 논의 끝에 "게임을 클리어하지 못했을 때, 얼 마나 높은 비율로 이어하기 및 하트 구매 후 재시도가 이루어지는지"를 기준으로 삼게 되었습니다. 이는 곧 게임 클리어에 실패했을 때, 결제를 해서라도 클리어하고 싶은 스테이지라는 뜻으로 해석할 수 있습니다.
게임 성공 시의 행동에 대해서는 실패 경험이 유저 경험에 더 큰 영향을 미치며 레벨이 진행될수록 실패 케이스의 비중이 커지기 때문에 기준에 포함시키지 않는 방향으로 결정했습니다.
스테이지 평가 지표는 이러한 '유저의 행동'을 예측할 수 있는 지표여야 한다(= 상관관계가 높다) 는 것을 목표로 두고 지표 제작 과정을 시작하게 되었습니다.
#스테이지 평가 지표를 위한 EDA - 쿠키런: 퍼즐월드 데이터
우선, 마녀의 성의 전작인 <쿠키런: 퍼즐월드> 의 실제 유저 플레이 데이터를 활용하여 스테이지 평가 지표를 만들기 위한 힌트를 얻고자 했습니다. 마녀의 성을 플레이한 유저 데이터를 사용할 수 있다면 더 좋았겠지만, 게임 런칭 전에 스테이지 평가 지표가 제작되어야 했기에, 오랜 기간 운영되어 유저 분석이 가능한 기존의 쿠키런: 퍼즐월드 데이터를 활용했습니다. 디테일한 인게임 로직은 차이가 있지만, "미션"과 "유저의 행동"은 퍼즐 게임이라면 어느 정도 공통적인 특성이 있을 것으로 판단했습니다.
우선, 유저가 게임 클리어에 실패했을 때 남는 기록은 "남은 미션 수" 밖에 없습니다. 제한된 무브 수를 다 사용했지만 남은 미션의 수가 0이 되지 못했다면 게임에서 실패한 것이기 때문입니다.
위 차트는 기존에 정한 "유저의 행동" 비율을 기준으로 상위 50%에 해당하는 스테이지들(Good, 파란색)과 하위 50%에 해당하는 스테이지들(Bad, 빨간색)의 남은 미션 수 분포를 나타낸 것입니다. 남은 미션 수가 1인 지점에서 파란색이 약 25%였고, 이는 상위 50%에 해당하는 모든 스테이지의 평균을 냈을 때 남은 미션 수가 1개인 플레이 비율이 약 25%였다는 것을 의미합니다.
위 차트를 그리면서 상위, 하위의 극단적인 스테이지들을 가져온 것이 아니라 모든 스테이지를 포함시켜 단순 평균을 낸 것임에도 유의미한 차이가 발생했다고 판단되었습니다. 즉, 유저 행동의 비율이 높은 경우, 남은 미션 수가 적은 실패 플레이 비율이 더 높다는 것을 의미합니다. 전체 스테이지가 아닌 성공률을 기준으로 보았을 때나 미션별로 스테이지를 구분하여 보았을 때도 대부분의 경우 위 차트와 유사한 경향이 나타났습니다. 다만, 미션에 따라 총 미션 수에 큰 차이가 있었고, Good과 Bad(파란색, 빨간색)가 달라지는 지점에도 조금씩 차이가 있었습니다.
위 분석을 통해 "남은 미션 수가 적게 남은 플레이 비율이 얼마나 많은가"를 스테이지 평가 지표에서 활용하는 것이 합리적이라는 결론을 내렸습니다. 다음 문제는 "그러한 정도를 어떻게 측정할까"와 "총 미션 수에 따라 달라지는 디테일을 어떻게 반영할까"였습니다.
#스테이지 평가 지표 설계 및 분석
“남은 미션 수가 적게 남은 플레이 비율이 얼마나 많은가”를 두 가지 방식으로 활용해 보고자 했습니다. 첫 번째는 남은 미션 수의 분포가 얼마나 0에 가깝게 존재하는가, 두 번째는 총 미션 수 대비 남은 미션 수의 비율 혹은 남은 미션 수가 특정 갯수 이하인 플레이의 비율이 어느 정도인가의 기준이었습니다.
