2017. 5. 11.

Snake Pass, 언리얼 엔진을 통해 멀티 플랫폼 동시 발매에 성공하다

글쓴이 Pete Harrap,

안녕하세요, 제 이름은 피트 해럽(Pete Harrap)이며 영국 셰필드에 위치한 스모 디지털(Sumo Digital)에서 테크니컬 디렉터로 근무하고 있습니다. 저는 신작 스네이크 패스(Snake Pass)의 성공적으로 출시했으며, 오늘은 언리얼 엔진 4 를 어떻게 활용해서 이 배배 꼬인 플랫포머 게임을 멀티 플랫폼으로 출시해 낼 수 있었는지 그 경험에 대해 말씀드리고자 합니다.

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic1-770x417-f91965758cced2d6bbabd91d7305fb7a5ec51b2b

스네이크 패스는 주인공 뱀 누들(Noodle)을 조종해 장애물 사이를 매달려 다니는 게임입니다.

 

제일 먼저 수많은 개발자들이 직면했을 아주 중요한 질문을 던지면서 시작하겠습니다. 완전히 새로운 스타일의 게임을 제작하는 동시에 이 게임을 멀티 플랫폼으로 출시하려면, 대체 어떻게 작업을 하시겠습니까? 뭐, 저희 개발진은 먼저 평가도 좋고 지원도 잘 해주며, 개발진이 출시 목표로 삼고 있는 플랫폼을 모두 지원하는 게임 엔진을 선택하였습니다. 그런 다음 작업에 효율적으로 사용할 수 있는 툴이 있는지 확인했습니다. 당연한 일이지만 '실감나는 가상 뱀을 제작하는 방법' 튜토리얼 같은 것은 존재하지 않았기 때문에, 포괄적이면서도 디자이너 친화적 인터페이스를 가진 엔진을 선택하는 것이 반드시 필요한 조건이었습니다.

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic2-770x433-3d601bf57c0e55c9e79734775abef064960274d7

게임 잼을 통해 프로토타입이 굉장히 일찍 만들어진 스네이크 패스.

 

스네이크 패스는 애초에 스모 디지털의 사내 게임 잼에서 만들어진 게임이었기 때문에, 게임의 전체적인 디자인 컨셉은 비교적 빠르게 완성되었습니다. 일단 디자이너들이 주인공 뱀의 제어 로직을 만족스럽게 만들어낸 다음에는, 코딩 팀 측에서는 여기에 네이티브 크로스 플랫폼 코드를 활용해 최적화가 잘 된 버전으로 변환시킬 수 있었습니다.

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic3-770x252-445bdbc74c1f4247b9ba7c9927cbe885149dcfd1

개발 당시 주인공 뱀이 가시에 어떻게 반응할지 제어하던 블루프린트입니다.

 

이처럼 스네이크 패스가 애초부터 멀티 플랫폼을 목표로 개발되었다는 것을 염두에 두더라도, 여전히 핵심적인 질문은 남아있습니다. 과연 언리얼 엔진으로 다중 플랫폼을 대상으로 한 게임을 개발한다 해도, 이 게임을 각 플랫폼에 간단하고 부드럽게 이식될 수 있을까요? 전반적으로는, 네, 가능했습니다. 게임의 거의 모든 요소가 알아서 처리되기 때문에, 디자이너와 아티스트들은 자신이 디자인하는 요소도 당연히 목표 플랫폼에서 잘 작동할 것이라는 확신을 가지고 게임을 개발할 수 있었습니다. 물론 게임 개발이라는 것이 마냥 간단한 것은 아니기 때문에, 목표로 한 콘솔에서 프로젝트를 처음 실행했을 경우에는 돌발 상황이 발생할 수도 있습니다.

여기서 문제가 발생합니다. 아마 게임 개발진의 디자이너와 아티스트들은 최신 그래픽 카드를 장착한 높은 사양의 PC로 작업을 할 확률이 큽니다. 이런 부류의 하드웨어는 사용자가 뭘 던져주든 전부 소화해낼 수 있습니다. 하지만 콘솔 하드웨어의 경우에는 상대적으로 굉장히 제한된 리소스만 가지고 있다는 점을 염두에 두어야 합니다. 언리얼 엔진은 이런 경우를 대비해 여러 요소를 직접 조정할 수 있는 설정들을 가지고 있기는 하지만, 게임에서 가장 중요한 요소가 무엇인지 결정하는 것은 오직 개발자 본인 뿐입니다. 따라서 게임 속의 어느 부분에 한계를 두어야 개발자의 기준에서 가장 적합해질지 조절하는데 상당히 많은 시간을 투자하게 됩니다. 이는 디자이너가 추가하고 싶은 것과 아티스트가 보여주고 싶은 것, 그리고 목표 콘솔의 하드웨어가 실제로 소화해낼 수 있는 리소스량 사이에서 벌어지는 전쟁이라 할 수 있습니다.

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic4-770x417-20c09b68336e68666c1819519dedf46e32b682ad

누들이 동전을 먹으려 하고 있습니다. 그래도 이 동전은 수풀 속에 숨어있지는 않았군요.

 

예를 들어 저희 개발진은 배경에 정말 많은 식생을 추가하고 싶었습니다. 스네이크 패스에 생동감을 부여하는 과정에서 저희는 단순히 게임 내에 무성한 수풀을 추가하는 것만이 아니라, 주인공 뱀 누들이 기어다니는 움직임에 맞추어 수풀이 움직이는 애니메이션도 부여하고 싶었습니다. 여기에는 전체 리소스 비용은 물론, 콘솔에 주어질 리소스 비용도 고려해야 했습니다. 언리얼 엔진은 간단한 전체 설정 만으로 게임 내에서 보여주는 식생의 양을 낮추는 툴을 제공하지만, 게임 내 효과를 망치지 않기 위해서는 각 식생의 양에 맞추어 레벨을 디자인해야 합니다.

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic5-770x410-c17eee1b0902ce46ab78702577dfb74778275483

식생의 양을 잘 보여주는 초기 컨셉 버전입니다. 하지만 이 당시에는 보여주는 수풀의 양을 조정할 수 있도록 디자인되지는 않았습니다.

 

이렇게 각 목표 플랫폼 별로 조정이 끝났으며 실제로도 원하는 성능이 잘 나타난다고 만족한다면, 곧이어 또 다른 목표 플랫폼과 수많은 변수들이 밀려들어오기 마련입니다.

언리얼 엔진은 크로스 플랫폼 개발을 굉장히 효율적으로 관리해주는 엔진이지만, 새로운 플랫폼이 등장한다면 해당 플랫폼에 맞춘 추가적인 프로젝트 최적화 작업이 필요합니다. 위에서 언급한 것처럼 새로운 플랫폼은 곧 새로운 과제를 의미하며, 이 과제에는 단순히 프로젝트의 퍼포먼스 최적화만이 포함되어 있는 것이 아닙니다. 새로운 플랫폼에는 기존의 플랫폼에서 지원하지 않았던 기능이 들어있을 수도 있으니까요(닌텐도 스위치 컨트롤러의 도킹 기능을 예로 들 수 있겠습니다). 언리얼 엔진의 강점 중 하나는 이와 관련된 작업의 완성도를 대략 90% 수준까지 이를 수 있도록 도와주는 것이며, 남아있는 최적화 작업은 코딩 팀이 파악한 다음 마무리 작업을 해야 하기 때문에 별도의 개발 시간을 할당해주는 것이 현명합니다.

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic6-770x433-019c2743db85861e54038e7e281d49f36ed39af8

초기 스위치(Switch) 플랫폼 버전. 이 버전은 초기 빌드가 막 끝난지 이틀이 지난 버전이었습니다.

 

언리얼 엔진을 활용한 크로스 플랫폼 게임 개발에 있어 가장 인상깊었던 경험은 2016년 12월에 찾아왔습니다. 당시 제작진은 스네이크 패스를 닌텐도 스위치 플랫폼의 출시 타이틀로 개발하라는 지시를 받게 되었습니다. 그 말을 듣자마자 “잠깐만요, 스위치는 지원 플랫폼에 없었는데요.” 라는 대답이 나가더라고요. 물론 이는 사실이었지만, 닌텐도 스위치 플랫폼에 대한 지원 역시 에픽게임즈에서 진행중이었기 때문에 한번 도전해 볼 만하다는 사실도 알고 있었습니다. 발매 스케쥴은 대단히 빠듯했지만, 언리얼 엔진의 닌텐도 스위치 플랫폼 지원 역시 거의 준비가 되어 있었기 때문에, 분명 목표를 달성할 수 있을 것이라는 자신감이 생겼습니다.

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic7-770x437-cfb31c93e37f756da7bf0837dc2467c0effbee99

최종 스위치 플랫폼 버전

 

개발진은 발매 스케쥴을 맞추기 위해, 엔비디아(NVIDIA) GPU 전문가를 비롯한 에픽게임즈의 직원들과 매우 긴밀하게 협력했습니다. 이런 도움을 통해 저희 개발진은 단 이틀도 되지 않아 닌텐도 스위치 플랫폼으로의 이식 빌드를 완성할 수 있었습니다. 이후 개발진은 발매까지 이어지는 몇 개월의 개발 과정 동안, 저희 게임이 스위치 플랫폼의 독특한 도킹 시스템까지 소화할 수 있도록 최적화를 해냈습니다.

blogAssets%2F2017%2FMAY+2017%2FSnake+Pass+Tech+Blog%2FSnakePassTechBlog_Pic8-770x433-e168da51268cb5fd82721bd2cd3c51dbade5c4f6

이렇게 스네이크 패스가 출시되었습니다.

 

최종 결과물로 완성된 게임은 저희 스모 디지털 개발진이 정말 자랑스럽게 내놓을 수 있는 만족스러운 작품일 뿐만 아니라, 제작팀이나 프로젝트의 규모를 막론하고 그 어떤 게임이든 다양한 주류 플랫폼으로 출시할 수 있도록 힘을 실어주는 언리얼 엔진의 위력을 잘 보여주는 사례가 되었습니다. 다행히 언리얼 엔진은 계속 발전하면서 개발자들을 위한 새로운 기능과 최적화를 추가하고 있으며, 따라서 언리얼 엔진을 사용하는 개발자들은 앞으로도 프로젝트 개발을 훨씬 원활하게 진행할 수 있게 될 것입니다.

읽어주셔서 감사합니다! 스모 디지털에 대해 더 자세히 알고 싶으신 분들은 공식 웹사이트도 한번 방문해보시기 바랍니다.

최근 게시글

Andy Serkis가 비디오 게임 기술 속 언리얼 엔진의 발전을 논하다

언리얼 엔진으로 제작된 Planet of the Apes: Last Frontier는 동명의 Fox 영화 프랜차이즈를 인터랙티브 엔터테...

Stonehenge VR SANDBOX로 독창적인 스톤헨지를 건설해 보십시오.

VR을 직접 경험한 후 열정으로 가득해진 Jessica Villarreal과 Christian Bretz는 즉시 VR이 가지고 있는 잠...

Maelstrom의 환상 속, 높은 파도가 치는 위험한 바다

Maelstrom은 해상 전투에 수많은 커스터마이제이션을 가진 아케이드 스타일의 액션과 판타지의 분위기를 합쳐, 여러분이 이 장르에 대...