기술 이야기
home
Programming
home
🤺

인텔리전스랩스 매칭팀을 소개합니다.

Upload date
2022/04/21
Tag
분석가
개발자
매칭
Editor
매칭팀
상태
3 more properties

Table of contents

들어가며

여러분은 게임의 매칭 시스템에 대해 들어본 적 있으신가요?  많은 온라인 게임은 유저가 여러 사람들과 만나서 플레이하는 구조를 갖고 있는데요. 매칭 시스템은 유저에게 맞는 상대를 추천해 주고, 유저에게 맞는 게임 환경을 세팅해 줌으로써 유저가 최적의 텐션으로 재미있게 플레이할 수 있도록 도와주는 시스템입니다.
카트라이더 매칭 대기 화면
넥슨은 오랜 기간 동안 매칭 시스템이 적용된 게임을 서비스해 오고, 이에 따라 매칭과 관련된 다양한 연구를 진행해왔는데요. ‘매칭 연구를 더 체계화하고 범용화하자’는 취지에서 인텔리전스랩스에 매칭팀을 별도로 조직하여 게임기획, 개발 조직과 함께 논의하고 연구하면서 매칭 기술과 노하우를 쌓아가고 있습니다.
오늘은 바로 그 매칭팀의 브레인! 개발자 박진형님(이하 진형님)과 분석가 권영주님(이하 영주님)을 만나 자세한 이야기를 들어보려고 합니다.

1. 먼저 자기소개 부탁드립니다  

매칭팀 개발자 진형님
안녕하세요! 매칭팀 개발자 박진형입니다. 스스로를 엔지니어가 아닌 테크니션으로 정의하고 있습니다. 과학이나 공학적인 문제를 푸는 분들은 팀 내에 많이 있기 때문에 저는 그런 분들이 문제 해결에 집중할 수 있도록, 어떤 도구에 대한 숙련이 필요한 일들을 주로 합니다.
매칭팀 분석가 영주님
안녕하세요~ 저는 매칭팀 분석가로 근무하고 있는 권영주입니다. 매칭과 더불어 길드 추천 서비스를 발전시키기 위한 분석 및 기획 업무를 담당하고 있습니다. 매칭의 관점에서 ‘카트라이더’ 게임을 분석하고 있고, 요즘은 ‘카트라이더 : 드리프트’ 게임을 메인으로 분석하고 있습니다.

2. 매칭팀은 어떤 곳이예요?

매칭팀의 Mission → 유저의 데이터와 게임의 다양한 맥락 정보(캐릭터, 맵, 아이템 등)를 분석해, 유저의 재미를 극대화 할 수 있는 매칭 시스템을 고도화한다.
진형님 꽤 오랜 기간 동안 매칭 시스템은 (유저의 승패 점수로 계산되는) ‘실력 점수’ 차이에 따라 정해진 승률이 나오도록 점수 단위가 적용돼 왔습니다. 유저와 실력이 비슷한 상대를 추천해 주기 위해서 이런 방식을 취했던 건데요. 하지만 이렇게 ‘실력 점수’에 기반한 매칭 시스템이 반드시 재미있는 게임을 보장하는 것은 아니었어요. 승률 말고도 게임의 재미에 영향을 주는 요소는 훨씬 더 많으니까요. 그래서 현재 우리 매칭팀은 유저 실력의 동등함을 고려하더라도, 유저의 데이터와 게임의 다양한 맥락 정보(캐릭터, 맵, 아이템 등)를 포함시켜서 더 정밀한 매치 메이킹이 가능하도록 매칭 시스템을 고도화하는 것에 집중하고 있어요. 다시 말해 ‘게임의 재미를 더할 수 있는 매칭’을 주된 목표로 삼게 되었죠.
영주님 특히 인텔리전스랩스의 매칭팀이 조직된 이유는 하나의 팀이 매칭 시스템 연구를 전담하여 매치 메이킹을 고도화하고, 이 노하우와 지식을 넥슨의 여러 게임에 효율적으로 전파하기 위해서인데요. 그래서 현재 매칭팀은 넥슨 내 여러 게임의 매치 메이킹을 전담하고 있는데, 그 과정에서 게임 팀의 요구나 필요에 따라 매칭 규칙을 변경하고 개선하기도 하고 있어요.

3. 매칭팀 개발자와 분석가는 어떤 일을 하나요?

영주님 매칭팀 개발자와 분석가는 서로 밀착해서 매칭 시스템 연구 개발을 함께 하고 있어요.
매칭팀에서는 분석가 각자가 특정 게임을 전담하기 때문에, 주로 분석가의 주도 하에 ‘OO게임의 매칭 규칙을 변경해서 OO지표를 개선해보자' 는 프로젝트가 시작됩니다. 프로젝트가 시작되면, 분석가는 매칭 품질을 어떻게 구성할지 가설을 세워 검증한 후 이를 바탕으로 매칭 품질 모델을 개발하고 기존의 탐색 로직(최적화 방법)을 바꿔야 한다면 어떻게 바꿔야 할지 등등을 개발자와 함께 논의하면서 연구를 진행하죠. 개발자는 분석가와는 다르게 게임 별로 전담을 하고 있기보다 개발 컴포넌트(서비스 구성요소)를 기준으로 담당을 나누고 있습니다.
 매칭팀 분석가
 매칭팀 개발자
매칭 품질을 정의하는 일 (매칭 품질을 어떻게 평가할 것인지에 대한 모델) → 현재 상황에서 개선이 필요한 매칭 기능에 대한 기획 → 매칭을 평가하는 지표 변경에 대한 논의
평가 함수를 최대화하는 조합을 찾는 일 (품질 최대화 = 수학적 최적화) → 주어진 매칭 풀의 상황에서 최적의 조합을 어떻게 찾아낼 것인가 → 분석가들의 모델을 어떻게 구현하여 서빙할 것인가 → 서비스를 BM에 맞게 최적으로 가동하려면 어떤 시스템을 취해야 하는가

4. 팀만의 특별한 문화가 있다면요?  

기록과 공유의 문화

영주님 매칭팀이 4-5년 가까이 운영되면서 기술 서비스 경험이 쌓이다 보니, 자연스럽게 보유하고 있는 소스 코드 덩치도 커지게 되고 그에 따른 기술적인 부채가 어느 정도 생기게 되었어요. 이게 단순하게만 보면 새로운 분들이 합류하실 때, 혹은 업무를 이어받을 때, 어려운 점으로 작용할 수 있다고 생각할 수 있는데요. 우리는 이 문제점을 복합적으로 바라보고, ‘업무 적응’ 뿐만 아닌 ‘업무 연결성’에도 도움이 될 수 있도록 기록과 공유의 문화를 구축하는게 중요하다고 생각했어요. 그렇게 우리는 기록과 공유의 문화를 주축으로 업무하면서 비슷한 이력과 규모의 다른 조직에 비해 의사결정의 이유나 히스토리 파악을 용이하게 할 수 있게 되었고, 이는 결과적으로 업무 적응이나 업무 연결성에 많은 도움이 되었죠.

다양성이 존중되는 문화

진형님 매칭팀은 인텔리전스랩스 다른 조직과 마찬가지로 다양성이 높은 조직이라고 생각해요. 개발자들의 이력이 게임 개발에만 한정되어있지 않기도 하고, 분석가들 또한 매칭팀에 합류하기 전에 경험했던 도메인이 정말 다양하거든요. 그래서 어떤 문제를 풀 때, "이건 반드시 이렇게 해야 해" 또는 "이 문제는 '원래' 이런 거야" 라고 말하는 경우는 거의 없어요. 다양한 관점을 참고해서 연구와 개발을 진행할 수 있는 환경을 갖췄다는 점에서 큰 메리트가 있는 조직이라고 생각해요. 

5. 팀에서 근무하면서 가장 만족스러운 점은 무엇인가요?

‘FIFA 온라인 4’ 매칭 대기 화면
영주님 매칭 기술을 실제 서비스에 적용할 수 있고, 저도 그 게임을 하면서 체감할 수 있을 때 가장 보람을 느껴요. 특히 얼마 전에 ‘FIFA 온라인 4’를 하면서 매칭 기술이 게임 플레이에 중요한 역할을 한다는 것을 체감했어요. 이 게임의 매칭 평가 시스템이 변경되기 전, 후에 제가 직접 플레이 해보면서 저의 승률이 확연하게 달라지는 걸 몸소 체험했는데, 이 때 좋은 매칭 기술을 만드는 게 진짜 중요하다고 느꼈어요. 축구 게임을 처음 하긴 했지만 그래도 10전 10패를 경험하게 될 줄은 몰랐거든요... 그래서 ‘난 게임을 너무 못한다’, ‘나는 이 게임을 잘할 수는 없는 건가’ 생각하게 되더라고요. 그런데 매칭이 개선되고 나서 게임을 하는데 조금씩 제가 이기는 게임이 생기는 거예요. 그러다보니 자연스럽게 더 오랫동안 게임을 플레이하면서 게임을 온전히 즐길 수 있게 되더라고요. 물론 ‘FIFA 온라인 4’ 매칭 모델을 제가 작업했던 건 아니었지만, 저도 이렇게 유저에게 좋은 경험을 선사해줄 수 있는 모델을 만들기 위해 분석에 힘을 쏟아야겠다고 다짐하는 계기가 됐어요. (웃음)
진형님 맞아요. 이렇게 매치 메이킹은 아주 조금씩 튜닝을 해도 다른 기술보다 그 결과에 대한 피드백이 빠르게 보이는 편이라고 생각하는데요. 그렇기 때문에 짧은 사이클로 이터레이션을 돌면서 성장할 수 있는 기회가 많다고 느끼기도 해요. 매도 빨리 맞고, 칭찬도 빨리 받을 수 있어서 내가 한 일에 대한 의미나 보람도 즉각적으로 얻을 수 있는 점이 가장 좋은 점 중 하나라고 할 수 있죠.

6. 혹시 어려웠던 점도 있나요?

진형님 해외 컨퍼런스를 보면, 매칭 기술 연구는 주로 정교한 MMR(Match Making Rate) 만들기처럼 유저의 실력을 ‘정확히’ 측정하는 것에 집중돼 있다고 생각해요. 하지만 우리 매칭팀은 MMR 이상으로 ‘불쾌한 경험은 적게, 재밌는 경험은 더 크게’하기 위한 연구도 중요하게 생각하고 있는데, 이런 연구는 활발하게 공유되고 있지는 않는 것 같아요. 매칭 기술은 노하우 그 자체라 더 그런 것 같긴 한데요. 다른 회사도 이 부분에 대해서 연구, 개발하는 조직이 물론 있겠지만 외부에 많이 공유되고 있지는 않아요. 특히 개별 게임에 특화된 매칭 시스템이 많기도 하다보니 Vision이나 NLP와 같은 다른 연구 분야에 비해 참고할 수 있는 리소스가 부족하기도 하죠.
영주님 (제가 분석가라서 하는 이야기는 아니지만) 그래서 더더욱 분석가의 인사이트나 데이터를 보는 능력이 정말 중요하다고 생각해요. 분석가가 가설을 세우고 검증해 나가면서 직접 그 기술의 노하우를 쌓아가는 게 매치 메이킹 연구에서 주요한 포인트라고 할 수 있어요. 그런 의미에서 인텔리전스랩스가 노하우를 쌓는 연구를 위해서 조직 간 유기적인 협업이 잘 이루어지고 있는 곳이라고 생각해요. 실제로 매칭 시스템을 개발할 때 뿐만 아니라 게임을 위한 추가적인 솔루션을 개발할 때에는, 게임기획 조직과 연구 조직 간 의견도 많이 나누고 있고, 서비스 서빙을 위해 개발팀이랑 ‘모델을 어떻게 구현할지’ 등 다양한 논의와 연구를 진행하고 있는데, 이런 활발한 소통과 유기적인 협업이 인텔리전스랩스의 장점인 것 같아요.

7. 앞으로 더 집중할 과제는 어떤 것들이 있나요?

진형님 매칭팀의 강점은 담당 분석가가 특정 게임을 전담하면서 연구 개발하는 매칭 규칙이나 품질 함수에 우리 팀에서 추구하는 ‘핵심 가치’를 잘 녹여내고 있는 것이라고 생각하는데요. 이게 강점이지만 한편으로는 어려움을 주기도 하는데요. 게임이 늘어날수록 전담 인력에 대한 수요가 늘어나기 때문이에요. 그래서 앞으로는 게임이 늘어난다고 해도 필요한 인력이 선형적으로 늘어나지 않게 하기 위해 과제를 세팅하고 있어요.
매치 메이킹 모델 최적화, 모델 평가 자동화 (개발)
분석가분들이 게임마다 다른 방법으로 진행하고 있는 모델 성능 평가 같은 과제들을 공통의 정량적인 지표로 평가할 수 있는 시스템을 구축해나가고자 해요. 그래서 이와 관련해 MLOps의 경험이 있는 분들이 오신다면 정말 좋을 것 같다고 생각합니다.
각 게임 특성에 맞는 매칭 품질을 고도화해 나가는 작업 (분석)
게임마다 좋은 매칭과 나쁜 매칭의 기준이 다 달라요. 예를 들어, ‘카트라이더’는 여러 명의 플레이어가 함께하는 레이싱 게임인 반면 ‘FIFA 온라인 4’는 1:1 매칭이 주력인 축구 게임인 점에서 두 게임이 지향해야하는 좋은 매칭의 기준은 달라지게 되죠. 지금까지도 게임 특성에 맞게 매칭 기준을 정의하고 연구를 해오고 있었지만 좀 더 고도화된 모델에 대한 연구는 앞으로도 계속 집중하려고 합니다.
범용적인 매치 메이킹 모델 고도화 (분석)
지금까지도 단순 데이터를 보고 매칭 설정을 하거나, 룰 관리자의 경험적 판단이 매칭 기준에 적용되는 경우가 종종 있었는데요. 이러한 방식이 아니라, 매칭 시스템 내부에서 매칭 풀에 있는 유저들의 실력 분포나 유저 수, 대기 시간 등을 시스템적으로 판단해서 신뢰 가능한 특정 수준의 세팅을 자동화하는 것을 과제로 진행하고 있어요.

8. 예비 매칭팀원분들께 한마디 부탁드립니다

진형님
사실 저희 팀에 ‘매치 메이킹’에 대한 경험을 가지고 합류하신 분은 아무도 없는 것 같습니다. 기술 스택도 다 팀에 오신 뒤에 새로 배워서 사용하시는 경우가 더 많은 것 같고요. 그래서 지금 채용 공고에 있는 기술 스택 정보는 매칭팀에서 어떤 라이브러리를 쓰는지, 어떤 언어를 쓰는지 정도로 참고해주시면 좋을 것 같아요. 또한 협업해서 큰 문제를 풀기 위해서는 짧은 제한 시간 내에 알고리즘 문제를 푸는 능력 이외에도 다양한 역량이 필요하다고 생각하고, 채용 절차에 이런 부분을 반영하고 있다는 점을 말씀드리고 싶습니다. 게임 플레이에 큰 영향을 주는 매칭 시스템을 고도화해보고 싶은 마음이 있다면 망설이지 말고 매칭팀에 지원해 주시면 좋겠습니다.
영주님
분석가 직무로 지원하시는 분이라면 물론 데이터를 다루고, 뽑고, 정제해 본 경험이 있다면 좋을 것 같아요. 개인적으로는 머신러닝, 딥러닝 방법론에 관심이 많은데, 이 부분에 대해 경험이 많은 분이 오시면 더 다양한 연구를 같이 해볼 수 있을 거라고 생각합니다. 추가로, 분석 업무는 전체적인 흐름을 잘 잡고 분석을 진행하는 게 중요하다고 생각하는데요. 지금 이 분석을 진행하는 목적이 무엇이고, 이 목적을 수행하기 위해서는 어떤 데이터를 심도 있게 봐야 하고, 이 분석 결과를 가지고 어떤 효과를 낼 수 있는지, 그리고 이 분석 결과를 어떤 방식으로 팀과 조직에 공유하고 설득할 것인지 이러한 일련의 과정이 중요하다고 보는데, 이렇게 데이터를 바라보실 수 있는 분이라면 함께 연구해서 좋은 시너지를 낼 수 있을 것 같다고 생각합니다.

나가며

지금까지 인텔리전스랩스 매칭팀의 브레인 두 분의 이야기를 들어봤는데요. 매칭팀의 멋진 미션이 앞으로 수많은 넥슨의 라이브 게임의 재미와 몰입도를 배가시킬 것이라는 생각이 듭니다. 매칭팀 미션에 공감하고 함께 매칭 시스템을 연구하고 싶으신 분들은 아래 채용 공고를 꼭 확인해주세요.
추가로 매칭팀에 대한 이야기는 매칭팀의 성의경님이 발표해주신 [NDC]어떻게 매칭시켜드릴까요? - 매칭 시스템 만들기 을 통해서도 확인할 수 있습니다. 많은 관심 부탁드려요. 고맙습니다
채용 공고는 일정 기간 이후 마감될 수 있습니다.
Related Sites
 넥슨 게임 포탈
회사 소개
인텔리전스랩스 소개
 테크블로그 문의 devrel@nexon.co.kr