한국어
    • 한국어
    • ENGLISH
    • 日本語
    • 中文-繁體

    2022.05.04 Technology: Push the Boundaries

    툴 카펜터: 게임 세계 속 변화의 파장을 예측하다

    MMORPG에 하나의 콘텐츠가 업데이트되면 그 안의 세상은 요동하며 변합니다. 작은 요소 하나가 수많은 요소의 변화를 가져오기 때문이죠. 기획자는 항상 이를 고려하고 대비하며 콘텐츠를 기획하지만 게임 속 세상의 모든 변화를 예측할 순 없습니다. 만약 기획한 콘텐츠가 게임에서 어떻게 펼쳐질지 미리 알 수 있다면 어떨까요? 게임을 보다 정교하게 설계할 수 있지 않을까요?

    엔씨의 테크니컬 게임 디자인실의 김환희, 최영만, 박진언, 윤지니 개발자는 이러한 예측을 실현하기 위해 게임의 로그를 시각화하여 인사이트를 얻는 툴을 만들기로 했습니다. 목수처럼 게임의 로그(Log, 영어로 ‘통나무’와 철자가 같다)를 다듬어 그에 맞는 콘텐츠를 기획할 수 있도록 기반을 마련하는 툴, ‘Technology: Push the Boundaries’ 시리즈 네 번째에서는 ‘카펜터(Carpenter)’를 소개합니다.


    New Craving: 새로 개발한 콘텐츠가 미칠 영향을 미리 알 수 있을까?

    기획자를 돕는 기획

    엔씨 테크니컬 게임 디자인실의 목표는 기획자들이 더 자유롭고 창의적으로 일할 수 있도록 기술적인 도움을 주는 것이다. 테크니컬 게임 디자인실의 디자이너들은 그동안 여러 게임 개발실과 협업하며 어떤 기능이 게임 제작에 가장 도움이 될지를 고민했다. 그 과정에서 이들은 엔씨의 주력 장르인 MMORPG 콘텐츠들의 관계가 밀접하다는 사실을 발견했다. 게임의 콘텐츠 하나를 변경하면 게임 전체에 큰 영향을 미쳤던 것이다. 따라서 개발자가 콘텐츠를 업데이트하기 전에 이것이 게임에 어떤 영향을 미칠지 미리 알 필요가 있었다. 하지만 새 콘텐츠가 예상하지 못한 부분에 미치는 영향을 모두 예측할 순 없었다. 그래서 테크니컬 게임 디자인실은 이를 좀더 촘촘하게 예측할 수 있는 툴을 만들기로 했다. 추가한 콘텐츠에 따라 게임 세계가 변화하는 모습을 알 수 있는 툴을 구현하면 게임 개발의 양상이 엄청나게 달라질 것이고, 이를 통해 개발자들이 미지의 영역을 통제할 수 있는 상황이 오리라 꿈꿨다.

    첫 번째 스텝은 게임의 현재 상태를 효율적으로 관찰하고 분석하는 툴을 만드는 것이었다. 이 과정에는 대량의 게임 데이터가 필요한데, 라이브 중인 게임 개발실의 로그를 많이 활용했다. 게임 개발실이 대량의 로그를 제공하면, 게임의 현재 상태를 잘 관찰할 수 있도록 툴을 제공하기로 했다. 이러한 선순환의 관계를 정립하여 실시간 데이터에 바탕한 정확한 예측 도구를 탄생시킬 수 있었다. 그렇게 태어난 카펜터는 게임의 로그를 시각화하고 실시간 모니터링하며, 게임에 적용한 변화의 결과를 예측하는 시뮬레이션 기능을 제공하는 툴이다.

    Never-ending Challenge: 콘텐츠를 개선하는 기준과 방법을 찾아주는 툴 ‘카펜터’

    한눈에 쉽게 파악하는 게임 정보

    카펜터의 첫 번째 강점은 무엇보다 편리한 사용성이다. 기획자들은 그동안 게임 세계의 현재 상태를 SQL과 파이썬으로 복잡하게 파악할 수밖에 없었다. 그러나 카펜터는 정보를 정제된 화면에서 편안하게 볼 수 있게 해준다. 카펜터의 메인 화면인 월드맵은 MMORPG에서 유저가 활동하는 영역과 진행 상태를 파악하는 가장 효율적인 화면이다. 개발자는 월드맵에서 사냥터 단위로 묶인 유저들의 현재 상태를 여러 가지 숫자로 빠르게 파악할 수 있다. 또 카펜터는 용도에 따라 여러 뷰(view)를 제공한다. 이것을 이용하면 간단한 조작만으로도 신규/복귀/이탈 유저, 길드 단위의 분쟁, 아이템 시세, 서버에 관한 전반적 통계 등을 확인할 수 있다.

    유저의 활동 영역과 진행 상태를 파악하는 데 가장 효율적인 화면인 ‘월드맵’ 방식으로 구현 된 툴 카펜터의 모습
    (*예시로 보여주는 화면은 보안상 임의로 생성한 데이터를 사용했습니다.)

    또한 카펜터는 ‘지표’를 편하게 조합, 확장하여 사용할 수 있다. 지표란 미리 계산되어 적재된 값이다. 예를 들어 캐릭터, 사냥터, 아이템 등의 지표 카테고리 중 원하는 항목인 ‘아이템’을 선택하여 상세 지표를 검색하면 ‘영웅 등급 스킬북 드랍량’, ‘희귀 등급 아이템 드랍량’ 등의 상세 지표를 선택하여 볼 수 있다. 이에 더해 카펜터는 ‘수식 편집’ 기능을 제공하므로 사용자가 직접 사칙연산과 서로 다른 뷰의 지표를 조합하며 활용할 수 있다. ‘A 사냥터에서 사냥한 모든 캐릭터의 경험치 획득량 총합’, ‘A 사냥터에서 드랍된 모든 희귀 등급 아이템의 수량 총합’처럼 여러 지표를 더해 새로운 지표를 만들 수 있다. 또한 특정 지표의 총합을 캐릭터 수로 나누면 캐릭터별 지표를 쉽게 구할 수 있다. 이것을 다시 ‘사냥터에 머물렀던 시간’으로 나누면 시간당 한 캐릭터가 획득한 경험치, 금화 등의 지표도 구할 수 있다. 현재 시점의 지표에서 7일 전의 지표를 빼서 증감량을 구할 수도 있다.

    지표를 보고 판단하여 결정하라

    카펜터 활용 과정을 정리하면 다음과 같다. 첫 번째로 게임 내 현황을 파악하여 업데이트 시점을 판단한다. 현재 유저들의 활동 양상을 시각화하고 그 정보를 다음 업데이트 시점이나 추가 패치 여부에 활용하는 방향이다. 예를 들어 유저는 계속 성장하려 하는데 게임에서 새로운 지역 추가가 멈춘 상황이라고 가정하자. 유저들은 현재 도달할 수 있는 최종 사냥터 지역에 계속 쌓이게 될 것이다. 그러면 해당 지역의 혼잡도가 얼마나 증가했는지, 이 점이 유저들에게 어떤 영향을 주는지가 시각적으로 드러난다. 이러한 문제가 이탈(15일 이상 접속하지 않은 유저)을 가속화하거나 게임 플레이 시간을 감소시킨다면 업데이트 시점을 앞당기는 편이 낫다고 판단할 수 있다.

    상위 지역 사냥터 이용 캐릭터 수 증가는 주의 깊게 살펴야 하는 지표 중 하나다. 위 그림의 캐릭터 수 비중의 경우 전체(사냥터 지역)의 1.1%(35위)만 차지하던 수치가 이틀 만에 6.1%(5위)로 상승하는 것을 확인할 수 있다.

    두 번째로 게임 내 이상 현상을 감지하고 대응한다. 특히 출시 초기에는 버그나 밸런스 오류 때문에 예상하지 못한 문제가 발생한다. 비정상적인 재화 획득, 해킹 툴로 인한 비정상인 유저의 행동 등을 빠르게 감지할 필요가 있다. 카펜터는 유저를 1~2개의 지표 축 위에 표시하여 이상 지표를 빠르게 감지할 수 있는 ‘유저 히트맵’이라는 뷰를 제공한다. 여기서 해당 이상 지표가 발견되면 툴 내 알림이나 사용자 메일로 경고하고, 문제에 신속하게 대응할 수 있다.

    캐릭터 레벨이 아주 낮지만 일간 아데나 획득량이 아주 높은 유저가 있다면 버그나 해킹을 의심해볼 수 있다

    세 번째로 유저 집단을 클러스터링하여 변화를 관찰한다. 유저 클러스터링은 유저가 많은 엔씨에 반드시 필요한 기능이다. 특히 글로벌 유저들은 지금까지 개발자들이 경험하여 알던 정보와 다르게 행동하기도 한다. 주목해야 할 유저 집단을 카펜터의 모든 뷰에서 관찰할 수 있다. 시간이 지남에 따라 캐릭터 수, 주요 사냥터, 기타 지표가 어떻게 변했는지 분석할 수 있다. 예를 들어 런칭 첫 주에 과금이 없지만 레벨이 높았던 유저 집단과, 레벨이 높고 과금도 많았던 집단에서 시간이 지날수록 캐릭터 레벨, 주요 사냥터 등이 어떻게 변했는지 관찰하고 각 게임을 비교하면 흥미로운 인사이트를 얻을 수 있다.

    게임의 특정 시점에 존재하는 유저들을 클러스터로 묶은 화면이다. 카펜터는 유저 클러스터 동시 비교, 클러스터 캐릭터 구성 리스트, 시간에 따른 지표 변화 확인 등을 제공한다.

    Next Change: 게임 개발의 불확실성은 줄이고, 생산 효율성은 높이고

    카펜터는 ‘게임 세계에 가한 변화의 결과를 예측할 수 있을까?’라는 물음에 대한 대답을 찾는 과정에서 개발되었다. 이 구체적인 툴은 상상을 현실로 바꾸었다. 여기서 한 발 더 나아가 테크니컬 디자인실은 카펜터를 모델러와 모니터라는 두 개의 모듈로 구성하려 한다. 현재 카펜터는 모니터라는 이름으로 회사의 3개 게임에 서비스되고 있는데, 이 게임들의 주요 기획 요소를 미리 시험할 수 있는 카펜터 모델러란 툴을 개발하려 준비하고 있다. 모델러로 기존 게임의 기획 요소를 모델링하고, 이를 토대로 시뮬레이션하여 나오는 주요 지표를 모니터를 통해 실제 지표와 비교하도록 할 예정이다. 이 과정에서 지표를 충분히 예측하면, 개발 팀에서 계획하는 콘텐츠를 반영한 결과를 모니터로 바로 예상할 수 있을 것이다. 이런 순환 구조를 통해 게임 개발의 불확실성을 줄이고 개발 과정에서 다양한 콘텐츠의 토대를 만들 수 있다.

    테크니컬 디자인실의 목표는 궁극적으로 엔씨의 모든 게임 프로젝트에 ‘기술’을 사용하여 게임 콘텐츠의 퀄리티와 생산 효율성을 높이는 툴을 제공하는 것이다. 여러 게임 개발 팀이 공통적으로 사용할 수 있는 툴을 도입하여 서비스 노하우를 연결하는 것이다. 툴을 사용하면 각 프로젝트의 경험이 꾸준히 축적될 수 있다. 또한 툴을 사용하는 개인의 노하우도 쌓여 회사의 자산이 될 것이다. 여기에 더해 테크니컬 게임 디자인실은 올해 카펜터 2.0을 개발하고 있으며, UX의 사용자 친화성을 더욱 개선하고 있다. 라이브 게임이 계속 업데이트되는 것처럼 카펜터도 그 진화를 멈추지 않을 것이다.