넥슨이 주최하는 국내 최대 규모의 게임 개발자 콘퍼런스 '넥슨 개발자 콘퍼런스(이하 NDC)'가 6월 16일부터 18일까지 사흘간 판교 넥슨 사옥에서 개최됐다. 게임 기획과 프로그래밍, 데이터 분석, 인공지능(AI) 등 다양한 분야의 개발 노하우가 공유되는 가운데 글로벌 게임 스튜디오의 데이터 활용 사례도 소개됐다.

17일 진행된 데이터·프로그래밍 세션에서는 스웨덴 게임 개발사 엠바크 스튜디오의 마티아스 안데르손(Mattias Andersson)이 'data@embark - How we track and analyze every bullet fired in our games'를 주제로 발표를 진행했다.
엠바크 스튜디오는 FPS 게임 '더 파이널스'와 '아크 레이더스' 등을 개발한 스튜디오다. 이번 발표에서는 게임 내에서 발생하는 방대한 플레이 데이터를 어떻게 수집하고 분석하는지, 그리고 이를 실제 게임 개발에 어떻게 활용하는지를 공개했다.
안데르손은 "모든 것을 추적한다(We track every bullet fired)"는 표현을 사용하며 데이터 수집 범위를 소개했다. 이처럼 방대한 데이터를 수집하는 이유는 단순한 통계 확인에 그치지 않는다.

현재 엠바크 스튜디오의 데이터 플랫폼이 처리하는 일일 이벤트 규모는 약 1,000억 건 이상이며, 일일 데이터 처리량은 30TB를 초과한다. 이처럼 거대한 규모의 데이터 스케일에도 불구하고, 게임 클라이언트에서 발생한 이벤트가 수집 파이프라인을 거쳐 구글 클라우드의 데이터 웨어하우스인 'BigQuery(빅쿼리)'에 적재되어 쿼리 가능한 상태가 되기까지 걸리는 시간(지연 시간)은 2초 이내로 유지되고 있다. 플레이어가 총을 발사한 지 2초 뒤면 엔지니어가 실시간으로 그 결과를 확인할 수 있는 수준이다.
엠바크 스튜디오가 이토록 방대한 데이터를 정밀하게 수집하는 이유는 명확하다. 개발진이 마주하는 수많은 질문에 데이터로 해답을 내리기 위함이다.
대표적인 예가 히트맵이다. 개발진은 특정 맵에서 플레이어들이 주로 이동하는 경로와 교전이 자주 발생하는 지역, 사망이 집중되는 구간 등을 시각화해 확인할 수 있다. 이를 통해 맵 구조나 오브젝트 배치가 의도한 대로 작동하는지 검증하고, 밸런스 조정에 활용한다.

또한 총알 단위의 궤적과 대미지 데이터를 수집함으로써 무기별 명중률, 사용 빈도, 전투 기여도를 분석해 정교한 무기 밸런싱을 수행한다. 이 외에도 유저 행동 패턴에 기반한 매치메이킹 세그멘테이션, 유저 인게이지먼트 측정, 그리고 비정상적인 플레이를 잡아내는 안티 치트(Anti-Cheat) 시스템에도 이 데이터 플랫폼이 핵심적인 역할을 하고 있다.
발표에서는 데이터 접근성의 중요성(Democratizing Data)도 강조됐다. 데이터의 가치는 단순히 쌓아두는 데 있는 것이 아니라, 조직의 구성원 모두가 손쉽게 접근하고 활용할 수 있을 때 발현된다는 뜻이다. 엠바크는 단순히 데이터팀만 활용할 수 있는 분석 환경이 아니라, 디자이너와 기획자, 개발자가 손쉽게 데이터를 확인할 수 있는 대시보드 시스템을 구축했다.

라운드 뷰어(Round Viewer)를 통해 매치메이킹된 라운드별 테이블을 한눈에 보고, 맵 리플레이 툴로 플레이 상황을 시각적으로 빠르게 복기할 수 있다. 한 발 더 나아가 2D 대시보드의 한계를 넘어, 개발자들이 가장 친숙한 환경인 언리얼 엔진 내부에 복셀(Voxel) 기반의 히트맵과 텔레메트리 뷰어 등 통합 툴을 제공함으로써 개발 공정의 효율성을 극대화했다.
데이터 파이프라인 설계 방식도 소개됐다. 엠바크는 이벤트 기반 구조를 중심으로 플랫폼을 구축했다. 게임 클라이언트에서 발생한 이벤트는 수집 과정을 거쳐 실시간으로 데이터베이스에 적재되며, 이후 다양한 분석 시스템과 대시보드에서 활용된다.

발표에서는 복잡한 전용 시스템을 늘리기보다 검증된 범용 기술을 적극 활용한 점도 소개됐다. 구글 클라우드의 BigQuery를 중심으로 이벤트 데이터를 처리하고, Pub/Sub 기반 이벤트 전송 구조를 사용해 대규모 데이터를 안정적으로 관리하고 있다. 또한 데이터 저장에는 Parquet 포맷을 활용하고, 분석 단계에서는 DuckDB를 적극 활용해 빠른 조회 성능을 확보했다고 설명했다.
특히 게임 서버 단에서는 이벤트 리액터(Event Reactor)라는 가벼운 Go 언어 기반 사이드카 애플리케이션을 두어, 프레임 단위로 뭉쳐진 이벤트 매치를 집계하고 Pub/Sub으로 전송하는 구조를 택했다. 이를 통해 대규모 ETL 공정을 상시 가동하지 않고도 연산 복잡도를 크게 낮추고 비용을 획기적으로 절감할 수 있었다. 파이프라인의 정의 역시 복잡한 전용 오케스트레이션 툴 대신 Python 클래스 기반으로 큐브를 선언하고 배포 시 자동 반영되는 심플한 구조를 고수하고 있다.

안데르손은 발표 말미에 "가능한 한 복잡성을 줄이는 것(Avoid complexity)이 중요하다"고 강조했다. 모든 문제를 해결하기 위해 새로운 도구를 만드는 대신, 이미 기초적인 기술(Foundational technologies)을 조합해 운영 복잡도를 낮추는 것이 장기적으로 더 효율적이라는 설명이다. 이어 데이터 플랫폼의 목적은 단순히 데이터를 쌓는 것이 아니라, 개발자들이 필요한 정보를 쉽게 얻고 더 나은 의사결정을 내릴 수 있도록 만드는 데 있다고 덧붙였다.
[김규리 기자 gamemkt@chosun.com] [gamechosun.co.kr]
ⓒ기사의 저작권은 게임조선에 있습니다. 허락없이 무단으로 기사 내용 전제 및 다운로드 링크배포를 금지합니다.



