안녕하세요, 제 이름은 피트 해럽(Pete Harrap)이며 영국 셰필드에 위치한 스모 디지털(Sumo Digital)에서 테크니컬 디렉터로 근무하고 있습니다. 저는 신작 스네이크 패스(Snake Pass)의 성공적으로 출시했으며, 오늘은 언리얼 엔진 4 를 어떻게 활용해서 이 배배 꼬인 플랫포머 게임을 멀티 플랫폼으로 출시해 낼 수 있었는지 그 경험에 대해 말씀드리고자 합니다.
제일 먼저 수많은 개발자들이 직면했을 아주 중요한 질문을 던지면서 시작하겠습니다. 완전히 새로운 스타일의 게임을 제작하는 동시에 이 게임을 멀티 플랫폼으로 출시하려면, 대체 어떻게 작업을 하시겠습니까? 뭐, 저희 개발진은 먼저 평가도 좋고 지원도 잘 해주며, 개발진이 출시 목표로 삼고 있는 플랫폼을 모두 지원하는 게임 엔진을 선택하였습니다. 그런 다음 작업에 효율적으로 사용할 수 있는 툴이 있는지 확인했습니다. 당연한 일이지만 '실감나는 가상 뱀을 제작하는 방법' 튜토리얼 같은 것은 존재하지 않았기 때문에, 포괄적이면서도 디자이너 친화적 인터페이스를 가진 엔진을 선택하는 것이 반드시 필요한 조건이었습니다.
스네이크 패스는 애초에 스모 디지털의 사내 게임 잼에서 만들어진 게임이었기 때문에, 게임의 전체적인 디자인 컨셉은 비교적 빠르게 완성되었습니다. 일단 디자이너들이 주인공 뱀의 제어 로직을 만족스럽게 만들어낸 다음에는, 코딩 팀 측에서는 여기에 네이티브 크로스 플랫폼 코드를 활용해 최적화가 잘 된 버전으로 변환시킬 수 있었습니다.
이처럼 스네이크 패스가 애초부터 멀티 플랫폼을 목표로 개발되었다는 것을 염두에 두더라도, 여전히 핵심적인 질문은 남아있습니다. 과연 언리얼 엔진으로 다중 플랫폼을 대상으로 한 게임을 개발한다 해도, 이 게임을 각 플랫폼에 간단하고 부드럽게 이식될 수 있을까요? 전반적으로는, 네, 가능했습니다. 게임의 거의 모든 요소가 알아서 처리되기 때문에, 디자이너와 아티스트들은 자신이 디자인하는 요소도 당연히 목표 플랫폼에서 잘 작동할 것이라는 확신을 가지고 게임을 개발할 수 있었습니다. 물론 게임 개발이라는 것이 마냥 간단한 것은 아니기 때문에, 목표로 한 콘솔에서 프로젝트를 처음 실행했을 경우에는 돌발 상황이 발생할 수도 있습니다.
여기서 문제가 발생합니다. 아마 게임 개발진의 디자이너와 아티스트들은 최신 그래픽 카드를 장착한 높은 사양의 PC로 작업을 할 확률이 큽니다. 이런 부류의 하드웨어는 사용자가 뭘 던져주든 전부 소화해낼 수 있습니다. 하지만 콘솔 하드웨어의 경우에는 상대적으로 굉장히 제한된 리소스만 가지고 있다는 점을 염두에 두어야 합니다. 언리얼 엔진은 이런 경우를 대비해 여러 요소를 직접 조정할 수 있는 설정들을 가지고 있기는 하지만, 게임에서 가장 중요한 요소가 무엇인지 결정하는 것은 오직 개발자 본인 뿐입니다. 따라서 게임 속의 어느 부분에 한계를 두어야 개발자의 기준에서 가장 적합해질지 조절하는데 상당히 많은 시간을 투자하게 됩니다. 이는 디자이너가 추가하고 싶은 것과 아티스트가 보여주고 싶은 것, 그리고 목표 콘솔의 하드웨어가 실제로 소화해낼 수 있는 리소스량 사이에서 벌어지는 전쟁이라 할 수 있습니다.
예를 들어 저희 개발진은 배경에 정말 많은 식생을 추가하고 싶었습니다. 스네이크 패스에 생동감을 부여하는 과정에서 저희는 단순히 게임 내에 무성한 수풀을 추가하는 것만이 아니라, 주인공 뱀 누들이 기어다니는 움직임에 맞추어 수풀이 움직이는 애니메이션도 부여하고 싶었습니다. 여기에는 전체 리소스 비용은 물론, 콘솔에 주어질 리소스 비용도 고려해야 했습니다. 언리얼 엔진은 간단한 전체 설정 만으로 게임 내에서 보여주는 식생의 양을 낮추는 툴을 제공하지만, 게임 내 효과를 망치지 않기 위해서는 각 식생의 양에 맞추어 레벨을 디자인해야 합니다.
이렇게 각 목표 플랫폼 별로 조정이 끝났으며 실제로도 원하는 성능이 잘 나타난다고 만족한다면, 곧이어 또 다른 목표 플랫폼과 수많은 변수들이 밀려들어오기 마련입니다.
언리얼 엔진은 크로스 플랫폼 개발을 굉장히 효율적으로 관리해주는 엔진이지만, 새로운 플랫폼이 등장한다면 해당 플랫폼에 맞춘 추가적인 프로젝트 최적화 작업이 필요합니다. 위에서 언급한 것처럼 새로운 플랫폼은 곧 새로운 과제를 의미하며, 이 과제에는 단순히 프로젝트의 퍼포먼스 최적화만이 포함되어 있는 것이 아닙니다. 새로운 플랫폼에는 기존의 플랫폼에서 지원하지 않았던 기능이 들어있을 수도 있으니까요(닌텐도 스위치 컨트롤러의 도킹 기능을 예로 들 수 있겠습니다). 언리얼 엔진의 강점 중 하나는 이와 관련된 작업의 완성도를 대략 90% 수준까지 이를 수 있도록 도와주는 것이며, 남아있는 최적화 작업은 코딩 팀이 파악한 다음 마무리 작업을 해야 하기 때문에 별도의 개발 시간을 할당해주는 것이 현명합니다.
언리얼 엔진을 활용한 크로스 플랫폼 게임 개발에 있어 가장 인상깊었던 경험은 2016년 12월에 찾아왔습니다. 당시 제작진은 스네이크 패스를 닌텐도 스위치 플랫폼의 출시 타이틀로 개발하라는 지시를 받게 되었습니다. 그 말을 듣자마자 “잠깐만요, 스위치는 지원 플랫폼에 없었는데요.” 라는 대답이 나가더라고요. 물론 이는 사실이었지만, 닌텐도 스위치 플랫폼에 대한 지원 역시 에픽게임즈에서 진행중이었기 때문에 한번 도전해 볼 만하다는 사실도 알고 있었습니다. 발매 스케쥴은 대단히 빠듯했지만, 언리얼 엔진의 닌텐도 스위치 플랫폼 지원 역시 거의 준비가 되어 있었기 때문에, 분명 목표를 달성할 수 있을 것이라는 자신감이 생겼습니다.
개발진은 발매 스케쥴을 맞추기 위해, 엔비디아(NVIDIA) GPU 전문가를 비롯한 에픽게임즈의 직원들과 매우 긴밀하게 협력했습니다. 이런 도움을 통해 저희 개발진은 단 이틀도 되지 않아 닌텐도 스위치 플랫폼으로의 이식 빌드를 완성할 수 있었습니다. 이후 개발진은 발매까지 이어지는 몇 개월의 개발 과정 동안, 저희 게임이 스위치 플랫폼의 독특한 도킹 시스템까지 소화할 수 있도록 최적화를 해냈습니다.
최종 결과물로 완성된 게임은 저희 스모 디지털 개발진이 정말 자랑스럽게 내놓을 수 있는 만족스러운 작품일 뿐만 아니라, 제작팀이나 프로젝트의 규모를 막론하고 그 어떤 게임이든 다양한 주류 플랫폼으로 출시할 수 있도록 힘을 실어주는 언리얼 엔진의 위력을 잘 보여주는 사례가 되었습니다. 다행히 언리얼 엔진은 계속 발전하면서 개발자들을 위한 새로운 기능과 최적화를 추가하고 있으며, 따라서 언리얼 엔진을 사용하는 개발자들은 앞으로도 프로젝트 개발을 훨씬 원활하게 진행할 수 있게 될 것입니다.
읽어주셔서 감사합니다! 스모 디지털에 대해 더 자세히 알고 싶으신 분들은 공식 웹사이트도 한번 방문해보시기 바랍니다.