4월 9일부터 양일간 열린 '유나이트 코리아2014' 컨퍼런스에는 스퀘어에닉스의 개발팀이 참여, 기조강연에 이어 '드래곤퀘스트 8'의 개발은 어떠한 방식으로 이루어졌는지에 대해 '유니티로 콘솔 타이틀 포팅(이식)하다라는 주제로 강연을 진행했다.

스퀘어-에닉스의 강연은 크게 그래픽, 프로그래밍, 최적화, 그리고 무엇을 목표로 만들어졌는지에 대해 이야기를 나누었다. 프로그래머의 발표를 맡은 슌스케 이토는 PS2용으로 만들어졌던 '드래곤 퀘스트 VIII'이 모바일로 이식하기위해 C++와 C#이라는 언어를 사용했고, 크게 빌드작업을 먼저하고, 부족한 부분은 수작업으로 진행 할 수 밖에 없었다고 전했다.

▲ 강연자 케이스케 하타, 켄지 타츠타, 슌수케 이토, 아츠시 카네코


더군다나 '오리지널을 만들어낸 개발자들이 각각 달랐고, 하드웨어적 부분이 모바일과 큰 차이가 있다고 한다. 특히 오리지널 버전의 리소스를 모바일에서 그대로 재구성하게 된다면 시간을 너무 많이 소모 하는 문제점이 발생할 수도 있다고 전했다. 그래서 오리지널에서 사용하던 맵, 캐릭터, 디자인 밸런스등을 그대로 가져왔다고.

그러나 이식을 하면서 화면에 나타나는 오브젝트가 잘리거나, 카메라 워킹시 이상한 형태가 등장하는 등 많은 문제점을 발견 할 수 있었다고 한다. 이 부분은 프로그램 소스와 관련해, 유니티의 어셋 번들(Asset bundle)를 이용한 비동기 로드로 바꾸는 작업이 필요했다고 설명했다.

뒤이어 드래곤 퀘스트 VIII의 게임 그래픽에 관한 부분을 어떻게 이식 시켰는지 이야기했다. 빠른 일처리를 위해 가능한한 자동화를 목표로 했으며, 자동으로 처리하지 못하는 부분은 디자이너의 센스에 맡겼다고 한다.

▲ C++와 C#언어로 변환


자동 변환을 위해서는 데이터 자체를 성형할 수 밖에 없었으며 또한 PS2에서는 하드웨어적인 부하를 고민할 필요가 없지만 스마트폰의 경우에는 고려해야 한다고 전했다. 디자인을 토대로 텍스쳐를 바꾸거나, 게임 내에 표현된 마테리얼부분을 모바일에서 어떻게 하면 가볍게 접근할 수 있을 지 가장 크게 생각 했다고 밝혔다.

메모리의 부분도 불필요한 프레임 삭제와, 연결시키는 노드 부분의 삭제, 그리고 애니메이션 부분도 유니티의 툴을 사용해 줄이면서 메모리 부분을 조금은 해결할 수 있었으며, 특히 각 마테리얼에 붙어있는 쉐이더가 많은 메모리를 가지고 있었기 때문에, 이 쉐이더들을 새로 배치해야만 했다고 한다.

이는 CPU 부하가 많이 걸리게 되는 문제를 해결하기 위한 어쩔 수 없었던 선택이었으며, 쉐이더가 많을수록 게임을 아예 읽지못하는 문제도 발생할 수 있다고 강조했다.



스마트폰으로 이식하면서 가장 중심으로 생각한 건 '스마트폰에서 게임을 할 때는 최대한 가볍게, 그리고 한 손으로 이용할 수 있는 편의성' 부분이며, 세로화면을 선택한 이유도 가로화면을 사용할 경우 스마트폰 게임이 아닌 그저 PS2에서 이식한 게임 그 이상이 될수 없다고 판단했기 때문이었다고 전했다.

세로화면을 적용하면서 고민한 점은 세가지였다. 먼저 '첫번째는 조작이 어려우면 안된다, 두번째는 손바닥 안에서 모든 것을 할 수 있어야 한다. 세번째는 PS2는 버튼 조작이었지만, 스마트폰에서 최대한 이용하기 쉬운 인터페이스' 여야만 유저들이 만족할 만한 게임을 탄생 시킬 수 있을 것이라고 생각하고 일을 진행했다고 밝혔다.

또한 빌드를 만들 때 소모되는 시간을 고민해야 하며 캐릭터를 준비하고 데이터 카피 시간 단축을 위해 사내 서버를 이용하기도 하는 등 다양한 방법을 강구 했지만 가장 좋은 방법은, '새로운 그리고 좋은 도구'를 구입하는 것이라고 강조했다.



그리고 PS2와 다르게 프로그램 상 타격 접점이 달랐기 때문에 모바일로 이식하면서 유니티가 인식하는 타격 범위와 원래 게임이 가지고 있던 타격 접점을 맞출 필요가 있었으며, 이 작업을 통해 무거워 지는 게임을 보며 또 다른 방안을 강구해야만 했다고 전했다.

그들은 유니티를 이용하면서 유니티와의 원래 게임이 궁합이 잘맞는지, 유저들이 이용하는 디바이스에 대한 이해와 안드로이드나 iOS의 내부 스펙에 대해 잘 알아야 한다고 한다. 그리고 가장 중요한 건 일을 하면서 어떻게 하면 일을 빠르게 그리고 한번에 처리할 수 있는지 고민해야 하며, 이는 유니티의 툴을 이용하면 쉽게 할 수 있다고 역설했다.

마지막으로 스마트폰 메모리가 기가바이트 이상이라도, 안드로이드의 경우에는 실제로 100여개의 어플이 돌아가고 있기 때문에, 각각의 어플리케이션과 현재의 게임이 충돌을 일으키지 않는 부분에 집중해야 한다고 전하며 프레젠테이션을 마쳤다.