<배틀그라운드>의 인기를 모르는 사람은 없을 것이다. ‘배틀로얄’ 열풍을 이끈 <배그>는 높은 인기를 타고 재빠르게 지원 플랫폼을 확장했다. 현재 <배그>는 스팀, 카카오게임즈, Xbox, PS4, 구글 스테디아에서 서비스되고 있으며, 라이브 서비스 기간도 4년에 이르렀다.
그렇다면 <배그>는 플랫폼 확장을 위해 어떤 노력을 기울여 왔을까? 플랫폼 확장에 어려움은 없었을까? 4년 동안 라이브 서비스를 이어오며 얻은 노하우는 무엇일까?
<배그>의 콘솔 프로덕션을 담당한 PUBG 김상기 개발자는 펍지가 멀티 플랫폼 구성을 위해 어떤 노력을 해 왔는지 상세히 밝히며, 멀티 플랫폼 서비스를 위해 미리 알면 좋은 노하우에 대해 공유했다. 해당 강연 내용은 펍지 개발팀 구성원들이 함께 구성했다. /디스이즈게임 김승주 기자
강연자: 김상기
소속 : PUBG <배틀그라운드> 콘솔 개발책임
이력:
▲ 네오플 <던전 앤 파이터> 개발 참여
▲ 넥슨 인프라기술팀
▲ 액션스퀘어 <블레이드 2> 개발
▲ 니오스트림 인터렉티브 <리틀 데빌 인사이드> 개발
# 파트 1 : 멀티 플랫폼 런칭의 현실
라이브 서비스 중인 게임이 새로운 플랫폼 확장을 할 때 가장 먼저 발생하는 일은 TFT 구성이다. 해당 팀은 엔진, 그래픽, 시스템을 처리할 엔지니어와 PM으로 구성된다.
그리고 런칭 시점에는 게임 서비스를 함께 진행할 것인지, 분리할 것인지 결정한다. <배그>는 밸런스가 중요하기에 서비스를 분리했다. 이후 특정 시점의 게임 버전으로 게임 콘텐츠를 포팅한다. 이후 플랫폼 정책 구현 및 최적화 과정을 거친다.
이런 과정을 진행한 후에야 해당 플랫폼에 게임을 런칭하게 된다. 그다음 TFT는 사라지고, 기존 개발팀에 다시 합류하거나 콘솔 팀이 신설된다.
문제는 콘솔 런칭이 끝이 아니라는 것이다.
먼저 런칭 기간 동안 발생하는 업데이트의 차이다. PC 1월 업데이트를 바탕으로 2월에 Xbox 버전을 런칭하면, PC와 콘솔 간 1달의 업데이트 차이가 발생한다. 런칭 이후로 해당 업데이트를 다시 콘솔에 포팅해야 하는데, 다음 업데이트까지 1달의 기간이 있더라도 QA 과정을 생각하면 실 작업 기간은 2주밖에 되지 않는다.
게다가 콘솔 유저는 PC 유저보다 한 달 늦게 업데이트를 경험해 불만이 생긴다. 개발사 측에서도 게임 개발 중 콘솔을 신경 쓰지 못해 기술 부채가 발생하며, PC와 콘솔 간 개발 경험이 공유되지 않는 문제가 발생한다. 신규 콘텐츠가 PC에서 이미 공개돼 마케팅 효과도 적었다.
콘솔 런칭에 성공하더라도, 계속해서 문제가 발생할 수밖에 없는 것.
그리고 김상기 개발자는 앞으로 이어질 강연 내용은 콘솔 런칭 이후 과정을 다루고 있으며, 콘솔 포팅 관련해 궁금한 내용이 있다면 2018 NDC에서 발표한 '<테라> 콘솔 포팅기'를 참고해 달라고 당부했다.
XBOX 런칭 이후, PS4 런칭까지 결정되면서 PUBG 내부에서는 콘솔 서비스 통합에 대한 의견이 나왔다. PC와 콘솔은 다르지만, 각 콘솔끼리는 성능 제한도 비슷하고, 컨트롤러도 비슷해 콘솔 서비스를 하나의 형태로 서비스할 수 있지 않을까 하는 의견이 나왔기 때문.
이를 위해 ▲콘솔 인프라 통합 ▲콘솔 개발 통합 가이드라인 ▲콘솔 서비스 운영 방침이라는 세 가지 기준을 세웠다.
콘솔 인프라 통합이 완료되자, 이내 크로스 플레이에 대한 논의가 나왔다. 크로스 플레이는 각기 다른 플랫폼 유저가 서로 게임을 즐기는 것을 말한다. 간단히 말하면 PS4와 XBOX 유저가 같은 서버에서 게임을 즐기는 것이다.
크로스 플레이를 위해서는 콘솔 유저 데이터를 모두 통합 관리해야 한다. 가장 중요한 것은 플랫폼별 정책이 상이해 이를 모두 확인해 겹치는 부분을 찾아 재가공해야 한다. 김상기 개발자는 이 과정이 반드시 필요하지만, 시간이 오래 걸리기 때문에 크로스 플레이를 검토하고 있다면 넉넉한 기간을 가질 것을 당부했다.
그리고 크로스 플레이에 대한 플랫폼 정책 예시를 들었다. ▲반드시 타 플랫폼과 가시적으로 구분될 것 ▲반드시 타사 로고 및 브랜치명은 사용하지 말 것 ▲인 게임 메뉴에서 차단/음소거/신고 기능을 제공할 것이다. 외에도 많은 플랫폼 정책이 있다.
결과는 성공적이었지만, 콘솔 부분에서만의 성과였다. 여전히 PC와 콘솔 간 1달의 업데이트 차이로 인한 어려움은 계속해서 발생했다. 김상기 개발자는 이 문제를 고민하는 과정에서 "그렇다면 모두 통합해 개발하면 되지 않을까?"라는 의견이 나왔고, 여기서 나온 개념이 '심쉽 개발'이라고 한다.
심쉽은 멀티 플랫폼에 대응에, 함께 게임을 개발하고 동시 업데이트를 하는 것이다.
쉼쉽을 통해 예상되는 장점은 ▲콘솔 업데이트 일정을 당길 수 있음 ▲프로덕션 단계에서 전체 플랫폼 개발 비용을 산정할 수 있음 ▲담당자들이 한 달 뒤 콘솔 대응을 하지 않아도 됨 ▲불필요한 PM, QA 추가 리소스가 없어지는 등이 있다.
하지만 많은 어려움도 예상됐다. 콘솔 개발팀 인원은 기존 PC 개발팀 인원보다 적었으며, 기존에 가지고 있던 개발 로드맵과 프로세스를 크게 변경해야 했기 때문. PUBG는 심쉽 개발이 장기적인 관점에서는 꼭 필요하다고 생각했고, 개발 과정 통합에 들어갔다.
# 파트 3: 심쉽 개발 파이프라인
심쉽 개발을 위해 먼저 PUBG는 오픈마인드 개발 문화 형성에 힘썼다.
PUBG의 개발 문화 중 하나는 "함께 하는 열린 마음"이다. PC 개발자는 콘솔 개발을 함께 진행해, 문제가 발생하면 기존 콘솔 인원이 도와 팀 내 개발력을 내재화 할 수 있도록 협업했다. 그리고 개발에 관련된 프로덕션, 퍼블리싱 회의를 모두 통합해 함께 진행하도록 했다.
그리고 콘솔과 PC로 나뉘어 있던 QA를 하나의 팀으로 통합했다. 기존에는 각각의 조직에서 플랫폼별로 게임 내용을 체크했다면, 통합된 환경에서는 신규 피쳐에 대해 프로덕션 QA팀이 모든 플랫폼에서 체크했다. 그리고 최종 업데이트 전 라이브 QA팀에서 각각 플랫폼별 검수를 하는 형태로 변경했다.
또한 브랜치 전략에 대해서도 강조했다.
PUBG는 서울, 메디슨, 도쿄, 상하이 등 글로벌 지사에 있는 개발자가 하나의 브랜치에서 <배그>를 개발하고 있다. 김상기 개발자는 이 부분은 심쉽 이전부터 가지고 있는 개발 방식이었지만, 이후 심쉽을 적용해 개발 과정을 통합하는 데 있어 상당히 중요했다고 언급했다.
심쉽 이전에는 PC에서 정규 업데이트를 위해 라이브 브랜치를 분화시킨 후 게임에 적용하면, 콘솔은 이를 바탕으로 새로이 브랜치를 형성해 QA를 진행했다. 하지만 심쉽 이후에는 개발 사이클을 맞추기 위해 라이브 브랜치가 분화되면 PC와 콘솔 QA가 같이 테스트를 진행하도록 만들었다. 그다음 빌드가 완성됐을 때 콘솔 브랜치를 생성하도록 했다.
즉, PC에 적용된 업데이트 빌드를 바탕으로 콘솔 브랜치를 분화 시켜 따로 업데이트하는 것이 아니라는 이야기다. 업데이트는 함께 이루어진다.
다만 엄밀히 말하면 PC와 콘솔 업데이트 일자가 동일하진 않다. 1주일의 간격이 있다. 모든 콘솔 업데이트를 위해서는 버퍼 기간이 필요하고, QA 과정에서 발견하지 못한 버그가 PC 테스트 서버에서 발생하면 이를 콘솔에 적용해야 했기 때문. 마지막으로, 콘솔에서는 더욱 복잡한 빌드 플랫폼 제출과정이 있어 업데이트 일자를 완전히 동일하게 하기는 힘들다.
김상기 개발자는 이런 정책적인 부분에는 정답이 없다고 밝혔다. PUBG는 여러 시행착오 끝에 이런 방침을 정했으며, 각각의 프로젝트에 맞는 브랜치 전략을 찾아갈 것을 당부했다.
멀티 플랫폼을 위한 개발 가이드라인 설정에 관해서도 설명했다. PC는 하드웨어를 자유롭게 교체할 수 있지만, 콘솔은 성능이 제한되어 있어 명확한 개발 기준이 필요했다. PUBG는 플랫폼 중 가장 저사양인 'Xbox One S'로 플랫폼 기준을 설정했다.
또한 내부에서 사용하는 시스템 가이드 '펍지 오르도 디자인 시스템'에 대해서 설명했다. 해당 시스템은 4가지 카테고리를 통해 개발자들에게 가이드라인을 제공하며, 이를 사내 웹페이지로 구성해 개발자들이 쉽게 이해할 수 있도록 했다.
마지막으로 통합만큼 분리의 기준도 필요하다고 설명했다. 예를 들어 콘솔은 키보드/마우스를 사용하지만, 콘솔은 게임 패드를 사용한다. 같은 게임이더라도 다른 컨트롤러에서 오는 차이가 있기 때문이다.
# 파트 4: 심쉽 개발 포스트모템
그렇다면 심쉽 개발은 효과가 있었을까?
먼저 콘솔 유저는 콘솔 업데이트와 PC의 차이가 좁혀졌다는 점을 호평했다. 김상기 개발자는 당시 콘솔 유저들이 생각지 못한 선물을 받았다며 좋아했다는 것이 가장 기억에 남는다고 언급했다.
또한 PUBG 측에서는 통합 과정을 통해 ▲콘솔 업데이트 일정을 당길 수 있음 ▲프로덕션 단계에서 전체 플랫폼 개발 비용을 산정할 수 있음 ▲담당자들이 한 달 뒤 콘솔 대응을 하지 않아도 됨 ▲불필요한 PM, QA 추가 리소스가 없어지는 등 많은 이득을 얻었다.
하지만 실제 과정은 생각만큼 쉽지 않았다. 가령 콘솔 개발킷 수량에 제한이 있음에도 모든 팀에게 콘솔 개발환경 세팅을 해야 했으며, 모든 개발자가 콘솔 개발환경을 이해해야 하는 어려움이 있었다. 또한 통합 과정을 위해 많은 구성원을 설득해야 했다.
그러나 이런 과정을 반복하면서, 어느새 라이브 퀄리티가 높아지고 개발 속도도 빨라지는 경험을 하게 됐다.
즉, 심쉽을 통해 PUBG는 개발자들에게 명확한 가이드라인을 제시하고 개발 과정을 통합했다. 덕분에 커뮤니케이션 부담과 반복 작업의 어려움이 줄었으며, 이는 제작 시간 단축과 퀄리티 상승으로 이어졌다.
또한 심쉽을 통한 가장 큰 성과는 "개발팀이 하나의 팀으로 일하는 방식을 깨닫게 된 것"이다.
김상기 개발자는 강연을 마무리하며 "라이브 중인 프로젝트에서 신규 플랫폼을 런칭하면 기본 프로세스에 큰 변화가 있을 수 있다. 이는 모든 구성원의 일이 된다"며 "추후에 콘솔 확장 계획이 있다면, 이런 고민거리가 있자는 점을 미리 인지해 보다 멀티 플랫폼에 유연한 서비스를 만들어나가는 것이 좋을 것 같다"고 밝혔다.