1999년 출시된 롤러코스터 타이쿤(RCT)을 아는가. 오늘날 테마파크 빌더 게임의 원류로 꼽히는 RCT는 1999년 출시 이후 당대 걸출한 게임들과 함께 매출 최상위권에 이름을 올린 게임이다.
2002년까지 400만 장이 팔린 것으로 알려진 이 게임은 크리스 소여, 사이먼 포스터, 앨리스터 브림블 등 3명의 핵심 개발자들이 제작자로 이름을 올렸다. 여기서 포스터와 밀러는 그래픽과 사운드를 지원했고 크리스 소여가 게임 디자인과 프로그래밍을 도맡아 개발했다.
이런 복잡한 시뮬레이션을 저용량으로 만든 배경에는 크리스 소여의 지독하리만치한 고집이 있었다. 오늘날의 언리얼 엔진, 유니티 등의 게임 엔진 이전에도 1990년대 중반에는 빠른 개발 속도, 손쉬운 유지 보수를 위해 코드 가독성이 높은 C, C++ 등이 PC 게임 주류 언어로 쓰였다. 하지만 크리스 소여는 당시에도 비주류가 되어버린 어셈블리어를 사용했다.
어셈블리어는 저수준언어로 이후 등장한 게임 언어보다 느리고, 효율성도 떨어졌다. 이유는 간단하다. 사람이 이해할 수 있는 수준의 코드를 컴파일러가 번역해주는 고급 언어와 달리 어셈블리어는 CPU가 직접 이해할 수 있는 수준에 더 가깝게 명령어를 입력해야 했다. 여기에 메모리와 레지스터 관리도 직접 해야 했다. 코드 자체도 인간이 이해하기 어려운 형태인데다 손은 더 많이 가니 개발 시간이 몇 배는 더 걸렸다. 나중에 잘못된 부분을 수정하거나 패치도 당연히 훨씬 어려웠다.
그럼에도 어셈블리어를 사용하면서 얻는 게 있다. 바로 최적화다. C언어보다는 느리지만, 소여는 어셈블리어로 메모리와 연산 하나하나를 최적화했다. 덕분에 엄청난 연산과 날씨의 요소까지 구현해냈음에도 게임은 90MHz CPU에 16MB 메모리로 이 복잡한 RCT의 세계를 실현해냈다. 오늘날의 CPU 단위인 GHz가 아니다. 0.09GHz인 셈이다.
1999년 당시에도 고사양 게임이었던 '퀘이크3 아레나‘는 233Mhz CPU에 64MB 램, 500MB의 저장공간에 추가로 8MB VRAM의 3D 가속 지원 카드를 최소 사양으로 요구했다.
크리스 소여는 일찌감치 어셈블리어로 개발을 시작해 어셈블리어 활용에 더 능숙했기에 자신의 손에 맞는 게임 언어를 사용했던 것일지도 모른다. 실제로도 그 스스로 어셈블리어가 더 빠르고, 효율적이라고 생각했다.
하지만 시대를 거스르는 그의 고집으로 RCT는 당대 구현해내기 어려웠을지 모를 최적화와 만듦새로 세상에 나왔다. 그리고 오늘날까지 기억되는 명작으로 남았다.
그리고 25년 후 소여가 첫 RCT를 내놓은 지 어느덧 사반세기가 흘렀다. PC를 포함한 게이밍 기기의 성능은 몰라볼 정도로 높아졌고 그에 따라 시각적인 화려함과 비교도 안될 정도로 복잡한 연산 작업을 요구하는 월드가 게임 안에 구현되고 있다. 단순히 25년 전 RCT와 비교할 수 없는 수준의 발전이다.
그런데 게임을 즐기는 플레이어의 경험도 25년 성장한 외형적인 모습 만큼 성장했을까?
오늘날 대형 제작사의 게임들은 마치 영화와도 같은 화려한 연출과 방대한 콘텐츠를 자랑한다. 하지만 용량 역시 수십~수백 GB를 필요로하고 있다. 고해상도 텍스처와 고품질 사운드 등 에셋이 추가로 증가했기에 용량 증가는 필연적이다. 하지만 게임 개발 과정에서 쌓인 불필요한 데이터를 정리하는 데에는 인색하다. 낭비되는 자원이 쌓이고, 그건 고스란히 게임의 확장된 용량으로 이어진다.
거대해진 용량만큼이나 막대한 사양을 요구하는 게임도 늘고 있다. 단순히 높은 사양을 요구하는 것도 문제고, 필요한 사양을 충족했음에도 랙이나 프레임 드롭 등 만족할 수 없는 플레이 경험을 제공하는 것 역시 문제다.
기대작으로 꼽혔던 '사이버펑크2077'은 출시 초기 최적화 문제로 콘솔 버전 판매가 중단되고, PC에서도 여러 패치가 이루어진 후에야 정상적인 플레이가 가능했다.
'사이버펑크2077'이 준 인상이 크기에 쉽게 잊혀지기도 하지만, ▲최악의 최적화와 버그로 인해 DLC까지 무료로 풀며 보상책을 내놓아야 했던 '어쌔신 크리드 유니티' ▲당대 고사양 PC에서도 30fps 조차 나오지 않으며 스팀 판매 일시 중단으로 이어진 '배트맨: 아캄 나이트' PC 포팅 ▲오래된 게임의 리마스터임에도 물리 엔진이 망가지고 프레임 드랍에 크래시까지 발생했던 'GTA 트릴로지 디피니티브 에디션' 등 최적화 문제는 오늘날에도 계속되고 있다.
부족한 최적화는 마치 뒤늦은 패치로 겨우 수정되며 초기 구매자를 마치 유료 베타 테스터로 만들어버린다. 당연히 초기 게임 구매에 대한 신뢰도 낮아졌다. 게이머들 사이에서는 '예약 판매 구매자는 호구'라는 자조 섞인 말까지 나온다.
생산성, 분업, 그리고 최적화 크리스 소여 같은 고집있는 개발자가 최적화에 힘써준다면 게이머들 입장에서는 바랄 게 없을지도 모르겠다. 하지만 안타깝게도 오늘날 게임 시장에 크리스 소여 같은 개발자는 필요하지도 않고, 있다고 게이머들이 원하는 출시를 보장해주지는 않는다.
오늘날 게임 개발의 핵심은 생산성이다. 게임 하나에 적게는 수십에서, 많게는 수천 명 이상이 달라붙기도 한다. 물론 모두가 상근 직원은 아니며 계약직이나 외주 업체의 프로젝트 참가자도 있지만, 어찌됐던 이들의 인건비는 곧 게임의 개발 비용이다. 추후 회수해야 하는 금액이라는 말이다.
특히 개발 역시 투자를 통해 이루어지고 AAA 게임의 마케팅 비용은 전체 예산의 30% 이상으로 증가했다. 2013년 출시된 GTA5는 3,500억 원의 개발비 중 절반 가까이가 마케팅 비용이었다는 분석이 있고, 2020년 AAA 게임의 마케팅 비용은 1,000억 원 이상으로 전해진다.
결국, 치명적인 최적화 이슈가 아니라면 출시를 연기하는 것보다는 일단 출시를 강행한 후 패치로 이를 개선하는 것이 관행이 되었다.
또 수많은 개발자가 작업에 참여하며 거대화된 개발 규모 속에서 크리스 소여처럼 한 사람이 프로그래밍부터 디자인, 최적화까지 모두 도맡는 경우는 드물다. 게임의 모든 개발 파트는 잘게 쪼개져 분업화되어 있고, 그들을 이끄는 파트장 역시 특정 부분에서 강점을 가진 사람들이다. 소처여럼 철저한 최적화와 코딩에 대한 장인 정신이 발휘될 여지가 없다.
개발자는 각자 맡은 부분에 집중하고, 그것이 엮여 하나의 게임이 된다. 그 속에서 수많은 에셋이 나오고, 복잡성 속에서 최적화를 방해하는 요소들이 끊임없이 발생한다. 하지만 그걸 고치는 문제는 단순히 개발자 한 명의 문제가 아니라 여러 팀의 협업이 새롭게 이루어져야 하는 일이다. 언제나 일정과 비용 사이에서 고민하는 개발 프로세스에서 그 길을 다시 돌아가기란 쉽지 않다.
출시일을 맞추는 과정에서 후반 작업이 마냥 쉽지 않음을 증명하는 예도 있다. 너티 독의 '라스트 오브 어스 파트2'는 출시 당시 PS4의 성능 한계를 뛰어 넘는 엄청난 그래픽과 애니메이션을 구현했다. 하지만 정밀하게 구현된 캐릭터 물리 연산 최적화를 위해 프레임 단위 애니메이션 작업을 출시 직전까지 계속했다. 이는 약 1년 간의 과도한 크런치로 이어졌는데 프로젝트 막바지 크런치에는 주 80~100시간 근무하는 직원까지 있었다. 그리고 이 출시 직전 극한의 최적화 작업은 도리어 직원들의 퇴사로 이어졌고 출시 초반 그래픽 버그와 일부 성능 저하 문제를 야기했다.
더는 나올 수 없는, 그래서 필요한 모두의 소여 훗날 엔지니어링의 천재로도 불린 크리스 소여는 전통적인 개발 방식을 추구하며 현대 게임 개발에서 동떨어진 인물이 됐다. 소여 자신도 현대적 개발 방식에 어울리지 못했고 '로코모션' 등의 혹평 이후에는 '트랜스포트 타이쿤'의 포팅 정도만 했을 뿐 대형 게임 프로젝트에는 참여하지 않고 있다. 물론 아타리와의 저작권 문제도 그런 소여의 개발 경력을 끊는 데 한 몫했지만.
분명한 건 혼자서 모든 것을 관리하는 크리스 소여의 방식이 오늘날 통용되지 않는다는 점이다. 실제로 언리얼 엔진, 유니티 등 개발 속도가 훨씬 빠른 게임 엔진은 프로파일러 등 자동 최적화를 지원하며 멀티 스레딩 연산도 지원한다. 또 저해상도 렌더링 화면을 업스케일링하는 DLSS, FSR 등의 기술 발전은 게임 출시 이후에도 최적화에 가까운 효과를 내도록 돕는다.
그렇기에 게임사는 최적화가 엉망이어도 게임이 좋으면 팔린다는 믿음으로 출시 일정을 강행한다. 실제로도 재밌는 게임은 스팀에서 부정적 딱지를 받아도 잘 팔린다. 이는 유저들의 원활한 플레이 경험을 희생해 얻어낸 판매량이다. 더 충분히 즐거운 경험을 할 수 있는 기회도 패치라는 다음 순간으로 밀리는 셈이다. 그마저도 온전히 개선된다는 보장 역시 없다.
닌텐도의 전설을 연 패미콤 게임 '슈퍼 마리오 브라더스'는 비디오 게임 개발에 본격적인 역할 분담이 이루어진 게임이다. 당시 카트리지 용량은 단 40KB였기에 개발진은 이 최적화 작업에 전력을 다할 수밖에 없었다.
마리오의 아버지로 불리는 미야모토 시게루가 게임의 전체적인 세계를 디자인한 것으로 유명하지만, 40KB 안에 게임을 담기 위해 그래픽, 사운드, 애니메이션 데이터 모두 최적화를 필요로 했다. 그리고 이 과정 안에서 테즈카 타카시, 나카고 토시히코, 콘도 코지 등 게임의 각 부분을 담당하는 개발자들이 서로 최적화를 하고, 또 그게 게임에 어울리는 방향으로 그려질 수 있도록 게임 디자인을 수시로 변경해나갔다.
용량 최적화라는 작업을 목표로 개발진 전체가 게임 디자인을 비롯해 게임의 모든 부분에서 개선해나가고자 한 것이다. 그러한 노력에 게임을 추가적인 한 달의 개발 기간 안에 최적화를 마무리했고, 20바이트의 용량을 추가로 남길 수 있었다.
하지만 화려한 그래픽, 멋진 텍스쳐에만 기대는 것이 아니라 효율에 대해 놓치고 있지는 않은지, 쓸데없는 낭비를 하고 있지는 않은지, 개발 과정에서 고민하고, 되돌아볼 필요는 있다.
나는 그렇게 오늘날 게임 개발에 적합한 이시대의 소여가 나오길 기대해본다. 그게 게이머 한 명으로서의 기대기도 하고 말이다. 더는 미쳐버린 듯 오른 새 GPU를 제 돈 내고 살 용기가 없어서기도 하고.