'크로스 플레이', 최근 출시하는 멀티플레이 게임의 화두 중 하나다. 다른 플랫폼에서도 그 게임을 즐길 수 있는 멀티플랫폼을 넘어 각자 다른 플랫폼으로 플레이하는 유저끼리도 협동이나 매칭이 가능하게끔 하는 기술로, 유저 수가 중요한 멀티플레이 게임에 있어서 가장 구미가 당길 수밖에 없는 기능이다.

최근 나온 게임들은 처음부터 이를 상정하고 나오는 케이스가 많지만, 5년 전 '데스티니2(한국명: 데스티니 가디언즈)'가 처음 출시될 무렵만 해도 일반적이지 않았다. 일부 소규모 멀티플레이 게임에서는 종종 사례가 있었지만 데스티니2처럼 MMO 계열, 즉 다수의 유저가 한꺼번에 동시 접속해서 플레이하는 유형에서는 PS 유저는 PS 유저끼리, Xbox 유저는 Xbox 유저끼리, PC 유저는 PC 유저끼리 하는 것이 거의 당연하게 여겨졌다.

그렇지만 점차 다른 멀티플레이 게임에서 크로스 플레이를 기본 탑재하고 나오는 만큼, 이러한 흐름을 데스티니2에서도 무시할 수는 없었다. 그래서 지난 2020년부터 크로스 플레이 지원을 공식 발표하고 2021년부터 크로스 플레이가 정식으로 지원됐다.

기존 크로스 플레이를 지원하지 않던 MMO 게임에서 라이브 서비스 중에 크로스 플레이를 지원하기까지 어떤 과정이 필요했으며, 또 어떤 문제를 극복해야 했을까? 번지의 존 추 선임 테크니컬 프로그램 매니저는 그 접근법부터 라이브, 그리고 관리 과정까지 설명을 이어나갔다.

▲ 존 추 번지 선임 테크니컬 프로그램 매니저

데스티니2는 헤일로와 데스티니를 만들 때 사용했던 타이거 엔진을 기반으로 제작한 MMOFPS로, 2017년 출시 후 지난 2022년 2월 추가된 '마녀여왕'까지 총 5개의 DLC가 추가됐다. 뿐만 아니라 여러 플랫폼에서 서비스하는 것을 고려해서 제작해 크로스플레이 지원 전에도 PS4, PS5, 스태디아, Xbox One, Xbox X/S 시리즈, 스팀, MS 스토어 총 7개 플랫폼에서 서비스되고 있었다.

그러나 추 매니저는 멀티플랫폼과 '크로스플레이'는 달랐다고 설명했다. 우선 타이거 엔진 자체가 크로스플레이를 상정하지 않아서 상당히 많은 부분을 고쳐야했고, 크로스플레이를 선택하게 되면서 조정할 부분이 생각보다 많았기 때문이다.

그런 수고에도 번지가 데스티니2 크로스플레이 지원을 결정한 이유는 간단했다. 데스티니 유저를 한 곳에 모을 수 있는 유니버스를 만들고자 했기 때문이다. 그리고 개발자들도 데스티니2를 직접 플레이하면서 크로스플레이를 지원하면 유저들에게 더 좋은 경험을 제공할 수 있으리라 확신했다.

실제로 추 매니저도 그랬다. 그는 Xbox로 플레이하고 있었는데, 친구와 같이 하려면 PC로 해야만 했다. 즉 번거로움을 줄이고 더 좋은 플레이 경험을 제공할 수 있는 유니버스를 구축해야 한다는 비전이 사내에서도 이미 어느 정도 공유된 상태였다. 특히 데스티니2는 MMO인 만큼, 더 많은 유저가 서로 만날 수 있는 것이 여러 PVE, PVP 콘텐츠를 즐길 때 더 유리하기도 했다.

그러나 데스티니2의 크로스플레이 구축 과정은 쉽지 않았다. 2020년 10월에 결정됐는데, 2021년 9월까지 구현해야만 했다. 그러면서도 신규 유저가 소외되지 않고 캐릭터 생성부터 첫 플레이, 그리고 그 이후까지 막힘 없는 플레이가 가능하게끔 수정 작업도 이어져야만 했다. 물론 크로스플레이를 위해서는 SIE, MS 등 플랫폼 파트너와 협의도 계속 진행해야만 했다.

▲ 헤일로 개발하던 시절에 쓰던 걸 개조한 자체 엔진을 바탕으로 한 터라

▲ 이 7개 플랫폼 유저들이 크로스플레이 가능하게 하려면 엔진 상당 부분을 뜯어고쳐야만 했다

이를 진행하기 위해 번지에서는 크로스플레이를 구축하기 위해 엔진 클라이언트, UI-UX, 게임 서비스, 번지.net 총 4개 팀에서 인원을 따로 차출, 크로스플레이 팀을 따로 편성했다. 그렇게 해서 약 50명 정도가 크로스플레이 팀으로 나와 해당 업무에 주력했으며, 이외에도 각 분야 혹은 다른 분야에서 지원이 필요하면 그때마다 다른 팀에서 지원했다. 그리고 모든 업무는 코로나19 상황인 만큼 재택근무로 진행했다.

2020년 8월에 사전 제작을 거쳐 10월에 프로젝트가 본격적으로 시작, 11월부터 2021년 1월까지는 퍼스트 파티에 협력을 구하는 과정이 주로 진행됐다. 그 뒤로 여러 작업을 거친 뒤 5월 내부 테스트, 6월에 퍼블릭 베타에 이어 2021년 8월에 본격적으로 크로스플레이 지원이 이어졌다. 그리고 2022년 2월에는 마녀여왕 업데이트와 함께 콘솔에서도 문자 채팅을 지원하는 것으로 일단락됐다.

▲ 엔진 클라이언트 팀부터 번지넷 팀까지 4개 팀에서 인원 50명이 모여서

▲ 약 1년에 걸쳐 크로스플레이 지원 작업을 이어갔다

추 매니저는 흔히 말하는 '크로스플레이'는 이해를 돕기 위해 굉장히 단순화한 개념이라는 사실을 강조했다. 그 단어를 실현하기 위해서는 복잡한 과제들을 이행해야만 하기 때문이다. 특히나 데스티니2는 옛날 헤일로, 데스티니 때부터 쓰던 타이거 엔진을 개조했는데 그때는 크로스 플레이 개념이 없어서 필요한 기능을 다시 하나하나 만들고 API도 새로 구축해야만 했다.

또 처음에는 크로스플레이를 고려하지 않았으니 네트워킹 체계도 바꾸고 코드도 다시 짜야했다. 그러면서도 각 퍼스트 파티에 협조를 구하면서 조율하는 과정도 필요했다. 여기에 각 플랫폼별로 나뉘어져있던 유저들이 합쳐지면서 생길 각종 문제에 대해서도 대비해야했다.

중복 아이디 구분 문제, 친구창이나 클랜창 그리고 파이어팀 같은 기본적인 사항만 해도 이전과는 다르게 적용할 필요가 있었다. 예전에는 플랫폼 내에서 지원하는 기능이나 API로 처리가 가능했지만, 이제는 해당 기능을 쓰지 않고 자체적으로 처리하면서도 다른 플랫폼 유저끼리의 교류가 원활히 이어져야만 했기 때문이다.

우선 중복 아이디 문제는 번지 네임을 핵심 구분자로 해서 새로 아이디 체계를 바꾸는 식으로 해결했다. 그 뒤에 새롭게 친구창 및 클랜창, 그리고 출석 관련 서비스를 제공하기 위해서 내부에서 소셜 네트워크를 새로 구축하고 API도 따로 만들었다. 로스터 시스템을 만들 때는 유저가 어느 플랫폼에서 플레이하고 있나 등 새롭게 바뀌는 환경에서 유저들이 확인하고자 하는 정보들을 리스트업에서 적용했다.

▲ 친구창 같은 것도 플랫폼이 지원하는 기능을 쓸 수 없게 되면서 이를 대체할 새로운 시스템을 만들어야 했다

그리고 그간 보이스 채팅과 텍스트 채팅 역시도 플랫폼에서 지원하는 걸 사용하고 있었는데, 크로스플레이에서는 이를 활용할 수 없으니 다른 대안을 찾아야만 했다. 그래서 써드 파티 중 크로스플랫폼 보이스 서비스를 지원하는 회사를 찾아서 해당 서비스를 활용했으며, 텍스트 채팅은 처음에는 PC판에서는 큰 문제가 없을 거라 판단해 스팀 API를 썼으나 MS 스토어판에서는 적용이 안 된다는 걸 깨닫고는 새로 채팅 서비스를 구축했다.

아울러 크로스플레이에 맞춰서 공식 홈페이지인 번지넷과, 데스티니2 컴패니언 앱도 개편해나가는 등 예상보다 더 많은 작업이 필요했다. 그나마 다행이 번지넷과 컴패니언 앱 개편은 게임 내 크로스플레이 관련 기능을 넣는 것보다 쉽게 진행됐으며, 그 덕에 게임 내에서 처음 플레이어 검색 기능이 먹통이 된 동안 번지넷과 컴패니언 앱을 좀 더 빨리 수정해 어느 정도 대응할 수 있었다.

이렇듯 크로스플레이는 개념적으로 보면 각 플랫폼 유저끼리 같이 만나서 플레이할 수 있다는 것이지만, 이를 위해서 전방위적인 지원이 갖춰져야만 한다. 이를 구축하는 과정에서 추 매니저는 크게 일곱 가지를 배웠다고 설명했다. 우선 앞서 강조했듯, 자체 엔진을 쓴다는 건 앞으로 어떤 변화가 일어났을 때 코어나 기본적인 부분을 상당히 많이 바꿔야 한다는 걸 의미했다. 시스템뿐만 아니라, 서비스를 위해 필요한 여러 기능까지 다 포함해서 전방위적으로 뜯어고쳐야 한다. 그 과정에서 앞서 말한 번지넷과 컴패니언앱처럼 멀티플레이 게임의 경우 서포팅할 수 있는 웹, 혹은 모바일 앱을 같이 쓰면 상당히 도움이 된다는 걸 깨달았다고 밝혔다.

아울러 크로스플레이 지원은 어느 한 팀만의 문제가 아닌 만큼, 각 팀이 유기적으로 움직일 수 있도록 업무를 다듬는 것도 필요하다. 더군다나 데스티니2의 크로스 플레이 적용은 마감 시간도 짧았고, 코로나19로 재택 근무라 더욱 난제였다. 이를 해결하고자 매주 테스트를 진행하되, 미팅은 되도록 짧게 가지는 식으로 조율했다. 그리고 작업에 들어가기 전에 공조할 포인트를 미리 정해두는 것에 주력하고, 그것이 다 정해진 뒤에 업무를 진행했다.

크로스플레이 지원 기능을 구축할 때 가장 크게 신경을 썼던 부분은 매치메이킹, 그리고 욕설이나 비매너 혹은 악질 유저를 걸러내는 일이었다. MMOFPS인 만큼 키보드와 마우스 유저가 더 유리한데, 경쟁 모드에서 PC와 콘솔 유저가 마주치게 되면 콘솔 유저가 불공평하다고 느낄 여지가 많았다. 더군다나 PC는 콘솔보다 해킹이나 치팅이 쉬워서 더 그렇게 인식할 가능성이 높았다. 그런 상황에서 어떻게 해야 콘솔 유저가 PC 유저와 동등한 조건에서 플레이한다고 느끼게 할지 궁리해야만 했다.

이를 위해서 우선 풀을 보안 단계 및 플랫폼에 따라 그리고 키보드-마우스/컨트롤러 풀로 나눴다. 그래서 PS-Xbox-스태디아와 스팀-MS가 1차적으로 묶이고 상황에 따라 풀이 바뀌는 형태로 적용됐는데, PC 유저도 컨트롤러로 플레이하면 콘솔 유저와 매칭이 되게 하고 콘솔 유저가 키보드-마우스를 쓰면 PC와 마주치게끔 설계했다. 한편, PVE나 파이어팀은 플랫폼에 제한 없이 팀업이 되도록 했다.

▲ PC-콘솔 크로스플레이시 예상되는 보안 및 매치메이킹 밸런스는 중요한 문제였다



▲ 그래서 각 조건에 따라 풀을 나눈 뒤, 콘텐츠별로 다르게 적용하면서 조율해나갔다

그간 사용했던 플랫폼 단위의 필터링이나 차단이 의미가 없어진 만큼, 번지에서는 새롭게 필터링과 차단 기능을 제작해야만 했다. 더군다나 각 플랫폼마다 유저 성향이 다르고, 데스티니2는 20개 언어를 지원하고 있으니 관련 기능을 빨리 갖추고 조율하지 않으면 유저끼리 충돌할 여지가 높았다. 번지는 우선 플랫폼별 API를 못 쓰는 상황인 만큼 모든 플랫폼에 적용할 수 있는 써드 파티 솔루션을 구해서 필터링을 적용했다. 채팅 시스템도 처음에는 자체로 제작하고자 했으나 유지관리 및 데이터 구축 등 문제로 결국 써드 파티 솔루션을 채택해야만 했다. 그 뒤에 차단 시스템은 번지 네임을 기준으로 모든 플랫폼에 일괄적으로 적용이 되도록 새로 구축했다.

크로스플레이로 변경하기 위해서는 SIE, MS 등 퍼스트 파티와 협조도 필수였는데, 이 과정이 생각보다 오래 걸렸다는 점을 추 매니저는 강조했다. 왜냐하면 각 퍼스트 파티마다 요구하는 사항이 다 달랐고, 이를 중간에서 개발사가 전달하고 조율해나가는 역할까지 다 맡아야만 했기 때문이다. 일례로 크로스 플레이에서 각 유저가 어떤 플랫폼에 접속했는지 알아보기 쉽게끔 아이콘을 노출하는 것조차도 각 플랫폼마다 기조가 달랐다. 어떤 곳에서는 된다고 하고, 어떤 곳에서는 절대 안 된다고 하는 등 극과 극인 경우도 있었기 때문이다.

이를 빨리 처리하기 위해서는 우선 퍼스트 파티의 요구사항을 빠르게 받아서 정리한 뒤, 자신들이 구축하고자 하는 기능을 그에 맞추는 한편 각 퍼스트 파티와 조율해나가는 걸 최우선시해야만 했다. 이것만큼은 개발팀의 의지로 되는 것이 아니라, 다른 파트너의 진행상황과 발맞춰나가야 하기 때문이었다.

▲ 더 많은 유저와 만나게 되면서 악질 유저와 만날 확률이 높아진 만큼 이에 대비할 필요가 있었고

▲ 플랫폼 단위의 차단 시스템도 크로스플레이에 맞춰서 새로 구축해야만 했다


▲ 이러한 문제를 번지 자체에서 다 해결할 수 없어서 써드 파티 솔루션도 찾아나서야 했고

▲ 각 퍼스트 파티가 요구하는 사항이 다 다르기 때문에 조율은 필수였다

더군다나 데스티니2는 라이브 서비스 중이었던 만큼, 크로스플레이가 라이브 서비스 빌드에 스무스하게 적용되어야만 했다. 그러기 위해서 번지 자체에서 매번 스튜디오급 단위로 빌드가 변경될 때마다 내부 테스트를 진행하고 문제가 발생할 때마다 안정화를 진행했다. 그러다 어느 정도 작업이 진행됐다 판단했을 때 내부 알파로 전환하고, 그 뒤 퍼블릭 베타를 한 달 정도 거쳐서 크로스플레이를 라이브에 적용했다.

그럼에도 라이브 초기에는 글리치라는 말을 들을 정도로 평이 좋지 않았다. 추 매니저는 그런 평가에 연연하지 말고, 어느 정도 핵심이 구축됐다 싶으면 베타를 빨리 열어버리는 게 좋다고 강조했다. 적어도 어느 정도 규모의 베타는 빨리 열어야 어떤 문제가 발생할 수 있을지 사전에 판단하고 빠르게 안정화할 수 있기 때문이다.

이처럼 크로스플레이는 구현하기 위해서는 방대한 작업이 요구되는 사항이다. 게임만으로 한정지어도 새로운 기능뿐만 아니라 때로는 시스템의 중핵, 엔진 내부 코드까지도 건드려야만 한다. 더군다나 멀티플레이에 필요한 주요 기능 특성상 개발사에서만 소화할 수 있는 영역이 아니라서 써드 파티와의 협조도 필요하다. 퍼스트 파티의 기능 대부분을 쓸 수 없기 때문이다. 각 퍼스트 파티의 요구 사항을 보고 협조를 구하고 조율하는 과정도 물론 필요하다.

그럼에도 추 매니저는 크로스플레이가 유저의 경험과 다양한 플레이의 가능성을 넓혀주는 가장 좋은 방법 중 하나라고 설명했다. 물론 경험이 넓어진다는 건, 긍정적인 것뿐만 부정적인 것도 포함된다는 점을 언급하면서 이에 대한 대처방안을 기획 단계부터 필히 강구할 것을 조언했다. 해당 영역은 어지간해서는 개발사 자체만으로는 처리하기 어려우니, 믿을 만한 써드 파티 솔루션을 찾고 이를 적용한 뒤 여러 차례 테스트를 거쳐야 하기 때문이다.