모든 경우에 딱 맞는 해결책은 없다는 걸 금방 깨닫게 된다.
<허 스토리>와 <이모탈리티>의 개발사 하프 머메이드의 CEO 샘 발로우는 10년 넘게 비디오 코덱 문제와 씨름해 왔다. 게임 시작 시 스플래시 화면을 띄우거나 엔진 외부에서 제작된 컷신을 재생할 때 쓰이는 이 압축·압축 해제 소프트웨어는, 눈에 띄지 않지만 항상 어딘가에서 문제를 일으키는 존재다.
오랫동안 쌓여온 이 불만은 4월 한 인터뷰에서 수면 위로 올라왔다. 선셋 비지터의 설립자 레미 시우가 비디오 코덱을 고민하고 뜯어고치는 데 얼마나 많은 시간을 쏟는지 토로한 것이다.
PC에 최적화된 코덱을 택할지, 화질을 낮추더라도 모든 플랫폼에서 돌아가는 코덱을 고를지, 이런 결정들이 <1000x레지스트> 개발 내내 발목을 잡았다.
현재 스튜디오의 차기작 <프루브 유어 휴먼>은 배우들의 실제 촬영 영상을 담은 풀모션 비디오(FMV)를 활용하는 게임이라, 이 문제는 한층 더 심각해졌다.
시우의 이야기를 듣고 나서 발로우를 비롯한 다른 개발자들의 코덱 고충을 직접 들어봤다. PC에서는 멀쩡히 재생되던 컷신이 스팀 덱에서는 아예 나오지 않는다거나, 멀티플랫폼 출시가 부르는 온갖 복잡함을 감당해야 한다는 이야기들이 쏟아졌다.
비디오 코덱이 예상보다 더 큰 문제를 일으키며, 게임 개발 작업을 불필요하게 가로막고 있다는 사실이 드러났다./ 작성= 게임디벨로퍼, 번역 및 편집= 디스이즈게임

# 비디오 코덱은 언제 문제가 되는가
영상 등 모든 종류의 시각 미디어를 압축해 파일 크기를 줄이려면 비디오 코덱이 필요하다. 그런데 이 과정은 완벽하지 않아서, 원본 데이터 일부가 손실된 파일이 만들어지기 마련이다.
파일이 얼마나 손상되는지, 어떤 방식으로 손상되는지는 코덱의 종류와 재생 기기의 하드웨어에 따라 천차만별이다. 그러니 게임에 어떤 코덱을 쓸지 결정하는 일은 수많은 변수를 따져야 하는 작업이다.
프로젝트에 따라 코덱 하나로 해결되는 경우도 있다. 하지만 영상을 여러 형식으로 제공해야 하는 상황이라면, 수백 개의 파일을 형식별로 정리하고 일일이 검증하는 과정을 반복해야 한다. 발로우의 말처럼, 하프 머메이드는 이런 상황을 누구보다 잘 안다.
샘 발로우: 성능을 끌어올리려면 모바일에서는 네이티브 플레이어를 써야 하고, 콘솔에서는 성능이 안 나와서 빙크를 써야 한다는 걸 금방 알게 됐다.
그러다 보면 어느새 영상 플레이어가 여러 개가 되고, 영상 하나하나를 각기 다른 파일 형식으로 내보내야 하는 상황이 된다. 콘텐츠 파이프라인이 얼마나 유연하게 갖춰져 있느냐에 따라 다르겠지만, 최악의 경우 악몽이 따로 없다.
예를 들어, <이모탈리티>는 총 10시간 분량의 영상을 사용한다. 이를 위해 세 편의 영화 분량에 달하는 후반 작업, 색보정과 사운드 처리, 올바른 파일 버전 추적, 코덱 변환까지 거쳐야 했다. 결과적으로 다양한 파일 형식에 걸쳐 수백 개의 영상 파일이 만들어졌다.
%20(1).jpg)
▶ <이모탈리티>.
<스커지브링어>를 개발한 플라잉 오크 게임즈의 CEO 토마스 알텐버거는 모든 콘솔이 H.264 하드웨어 가속 디코딩을 지원한다고 말한다. 이론적으로는 좋은 일이지만, 콘솔마다 구현 방식이 다르다는 게 문제다.
토마스 알텐버거: 각 콘솔마다 영상 스트림을 재생하는 방식이 제각각이라서, 'video.Play()' 한 줄 쓰고 끝나는 법이 없다.
하드웨어 디코딩을 초기화하는 코드를 짜야 하고, 디코더에 프레임을 요청하는 코드도 짜야 하고, 그래픽 엔진이 표시할 수 있도록 YUV 이미지를 RGB로 변환하는 셰이더도 만들어야 하고, 그 프레임을 렌더링하는 코드까지 따로 작성해야 한다.
플랫폼 하나만 놓고 보면 그리 큰 일이 아니지만, 서너 개의 콘솔에 데스크톱 운영체제 세 종류, 스마트폰 시스템 두 개까지 포팅해야 한다면 이게 쌓이는 속도가 무섭다.
게임 시작 시 퍼블리셔나 미들웨어 로고, 혹은 애니메이션 인트로를 담은 영상 스플래시 화면을 넣는 건 인디 개발자에게 기본 중의 기본이다. 하지만 이렇게 단순해 보이는 작업조차 뜻밖에 복잡해질 수 있다.
토마스 알텐버거: 일정이 빠듯한데 퍼블리싱 계약서를 뜯어보니 '이 영상 파일을 수정 없이 게임 시작 부분에 반드시 넣어야 한다'는 조항이 있다. 그 5초짜리 영상 하나 때문에 며칠, 심하면 몇 주를 날려야 할 수도 있다는 생각을 하면 암담하다.
다행히 대부분의 퍼블리셔는 고정 이미지로 대체하는 걸 받아들이지만, 가끔은 꼼짝없이 막히는 경우도 있다.
고정 이미지로 대체할 수 없었던 한 경우, 알텐버거의 팀은 영상을 수백 장의 개별 PNG 파일로 잘라 슬라이드쇼처럼 수동으로 재생하는 방법을 택했다.
토마스 알텐버거: 그 탓에 파일 크기가 터무니없이 커졌고, 최적화도 엉망이 되어서 그 5초 때문에 게임 용량이 거의 두 배로 불었다. 그래도 작동했고, 출시는 됐다.
# 영상 편집 코덱보다 까다로운 게임 비디오 코덱
6시간 분량의 실사 영상을 담은 <블리포+>의 경우, 게임의 구조 자체가 처음부터 장벽을 만든다. 비주류 TV 채널을 서핑하는 경험을 구현한 게임 특성상, 그 6시간은 내부적으로 수백 개의 1분짜리 영상으로 쪼개져 있다.
개발자이자 디자이너인 마크 라크로와는 이것이 제작 시간을 얼마나 늘렸는지 설명한다.
마크 라크로와: 후반 작업이 진행되는 중에 이 작업을 병행하다 보니, 변경 사항이 생길 때마다 'VP9 버전 만들고, H.264 버전 만들고, H.265 버전도 만들고, 세 개 다 검증하고, 압축 아티팩트 없는지 확인하고, 크기도 최적화하고'를 처음부터 다시 해야 했다.
라크로와는 10년간 영상 편집자로 일했다. 그 경험 덕분에 <블리포+>의 영상 작업이 수월할 거라고 생각했다.
마크 라크로와: '내 경험을 총동원하면 문제없을 거야. 다른 개발자들은 힘들어도 나는 뭘 하는지 아니까.'라고 생각했다. 그런데 이건 정말 차원이 다른 문제였다.

▶ <블리포 +>.
상황을 더 어렵게 만드는 건 게임 엔진과 배포 플랫폼의 문서화 부재다. 포스모넛 게임즈의 설립자 알렉스 케인은 언리얼 엔진의 영상 재생 관련 문서에서 어떤 코덱을 써야 하는지에 대한 언급을 단 한 줄도 찾지 못했다고 말한다.
알렉스 케인: 올해 3월 <에이더스(Aethus)>를 출시했는데, 게임 내에 여러 컷신이 영상 파일로 들어가 있다. H.264 MP4로 인코딩했고 윈도우에서는 잘 돌아갔다. 그런데 스팀 덱의 호환성 레이어인 프로톤에서는 라이선스 문제로 H.264 코덱이 빠져있어서 영상이 재생되지 않고, 심한 경우엔 게임 자체가 튕겨버린다는 걸 거의 몰랐다.
기술이 발전하면서 일부 문제는 완화됐다. 발로우는 현세대 콘솔에 SSD가 탑재되면서 콘솔의 제약에 크게 구애받지 않고 훨씬 높은 해상도로 영상을 재생할 수 있게 됐다고 짚는다.
하지만 닌텐도 스위치처럼 성능이 낮은 플랫폼에서는 사정이 전혀 다르다. 개발자들은 게임이 제대로 돌아가도록 하려고 깊은 수렁에 빠지게 된다.
그 수렁은 얼마나 깊은가. 라크로와는 스위치를 28시간 동안 켜놓고, 특정 설정이 오랜 시간 동안 충돌 없이 버티는지 확인하기 위해 한밤중에 두 번이나 일어나 게임 내 채널을 이리저리 돌려봤던 일을 떠올린다.
# 비디오 코덱 문제에 해결책이 있을까
코덱 문제는 해결될 수 있을까. 베테랑 프로그래머 폴 휴즈는 크로마라는 고성능 저메모리 비디오 코덱을 직접 만들어 그 답을 찾으려 했다. 하지만 현대적인 해법을 내놓겠다는 생각이 아무리 매력적이어도, 비디오 압축은 그 자체로 난제인 데다 특허라는 지뢰밭이 버티고 있다고 그는 강조한다.
폴 휴즈: 공동 오픈소스 프로젝트로 만든다 해도, 비밀유지계약(NDA)이 걸린 플랫폼 개발도구(SDK)는 모든 사람과 공유할 수 없어 결국 벽에 부딪히게 된다. 고도 엔진도 PS5, 스위치, 엑스박스용 백엔드를 공개 저장소에 올릴 수 없어서 오랫동안 이 문제를 안고 있었다.
취재에 응한 개발자들 중 상당수는 기밀 유지 때문에 자세한 내용을 밝히지 못했다. 다만 현장에서는 단점이 감수할 만한 수준이라면 하나의 코덱으로 버티는 선택을 하게 된다.
문제는 그 감수할 만한 수준의 범위가 좁다는 것이다. 여러 플랫폼을 동시에 지원하거나 기존 방식을 조금이라도 벗어나려는 순간 복잡도가 급격히 올라간다.
그렇다고 다른 툴로 갈아타기도 쉽지 않다. 라크루아의 말처럼 기존 영상 편집 툴은 이미 너무 잘 갖춰져 있어서 굳이 바꿀 이유를 찾기 어렵고, 그 툴들이 기본으로 지원하는 코덱도 자연히 기존 코덱을 쓰게 되는 구조다.
그렇다면 아예 게임에 특화된 새로운 코덱을 만드는 건 어떨까. 하지만 그것도 쉽지 않다. 게임 전용 코덱을 내놓는다 해도, 이미 높은 품질·고성능·효율적인 용량과 폭넓은 하드웨어 호환성에 익숙한 개발자들을 상대로, 더 느리고 성능도 못 미치지만 원하는 기능은 갖춘 유료 제품을 팔아야 하는 처지가 된다.
라크로와는 비디오 코덱 문제를 더 넓은 시각으로 본다. 코덱 문제는 개발 일정을 잡아먹는 골칫거리에 그치지 않고, 게임에서 영상으로 표현할 수 있는 것의 천장 자체를 낮춘다는 것이다.
라크로와: 우리가 어떤 한계 안에 있는지 더 잘 이해할 필요가 있다. 게임 업계에는 영상을 제대로 아는 사람이 없다. 영상이 게임에서 하나의 파이프라인으로 제대로 다뤄지지 않기 때문이다. 그러니 그 분야의 전문가들은 업계에 들어오지 않고, 회사들은 그 기술을 위해 사람을 뽑지 않으며, 툴 개발자들은 모바일 미디어 앱을 만드는 것과 다를 게 없는 것들만 내놓는다.
이건 악순환이다. 내가 영상 분야 경험이 있어서 그걸 볼 수 있는 거지만, 게임의 다른 수많은 영역에서도 마찬가지일 거라고 확신한다. 누군가 의도적으로 그렇게 만든 게 아니라, 그냥 관성에 의해 굳어진 것뿐이다.
게임 디벨로퍼는 비디오 코덱에 관한 개발자들의 우려를 해소할 계획이 있는지 묻기 위해 플레이스테이션, 엑스박스, 닌텐도, 밸브에 연락했다. 답변이 오는 대로 기사를 업데이트할 예정이다.

▶ <프루브 유어 휴먼>. (출처: 스팀)
본 기사는 게임 디벨로퍼와의 전문게재 계약에 따라 제공됩니다. (원문링크)
