▲ 유니티 제임스 스톤 시니어 매니저

최근 게임 출시 양상은 일부 소규모 인디 작품이나 독점작을 제외하면 PC-모바일, PC-콘솔 아니면 PC-콘솔-모바일 모두를 아우르는 형태가 기본 소양처럼 되고 있다. 플랫폼 간의 규격 및 사양 차이 등으로 인해 그간 한 플랫폼용으로 개발하던 게임을 다른 플랫폼으로 이식하는 것은 쉽지 않은 일이었다. 그러나 점차 하드웨어와 게임 개발 기술이 발전하면서 출시 전부터 여러 플랫폼에 대응해 게임을 개발하는 작업이 점점 더 쉬워지고 있다.

유니티는 이전부터 게임 개발자들이 집중해온 PC 게임 및 콘솔은 물론, 모바일 게임이 대두됐을 무렵부터 모바일에도 집중해 다양한 플랫폼 환경에 대응해왔다. 아울러 VR/AR 기술에도 적극 투자하는 등 여러 플랫폼과 관련한 기술을 꾸준히 발전시켜오고 있다. 이를 어떻게 활용해서 소수의 인원으로도 다양한 플랫폼에 대응하는 게임을 개발하는 과정을 유니티의 제임스 스톤 시니어 매니저와 쉘 게임즈의 마이클 리 시니어 엔지니어링 매니저가 GDC 2023 무대에서 소개했다.

▲ 일단 유니티를 처음 접했다면, 엔진 버전에 대한 이해부터

제임스 스톤 시니어 매니저에 따르면 최근의 멀티플랫폼 게임 개발 과정에서 모바일-PC 대응은 일반적으로 큰 무리 없이 진행되고 있다. 그러나 PC-콘솔, 모바일-콘솔, 모바일-VR 등 그외에 멀티플랫폼은 각 소스의 컨트롤 및 플랫폼 SDK 등의 문제로 인해 별도의 조치나 이해도가 필요하다.

멀티플랫폼 게임 개발이 쉽다는 말을 듣고 유니티 엔진을 처음 접하는 개발자라면 아마 어떤 버전을 선택해야 할지부터 혼동이 올 수 있다. 유니티가 최근 내세우는 LTS, 테크 스트림 등의 개념이 친숙하지 않기 때문이다. LTS는 장기간 서비스 지원이 뒷받침된 버전으로, 해당 연도가 붙은 버전의 정식 출시 버전에 가깝다. 대부분의 기능이 검증이 된 상태고, 각 플랫폼 간 지원도 확인됐다. 반면 테크 스트림은 새로운 기능을 선보이면서 이를 기술적으로 점검하는 단계다.

엔진에 대한 정보를 알았다면 그 다음에는 타겟 플랫폼에 대해서도 확인해야 한다. 보통 윈도우 PC는 크게 문제가 없다고 생각하지만, 그렇지 않은 경우도 있다. 윈도우 PC에는 구동되지만 리눅스에 안 돌아가는 사례도 있기 때문이다. 그외에 플랫폼별로 기반이 되는 언어나 구조도 달라서 적용이 되는 플러그인도 갈리는 만큼, 이 부분도 체크해두고 코드나 빌드를 구성해야 재작업의 수고가 줄어든다.

혹자는 유니티 에디터에서 바로 플랫폼에 대응하는 빌드를 뽑을 수 있는 것 아니냐고 물을지 모르지만, 스톤 시니어 매니저는 에디터는 하드웨어와 다르다고 일축했다. 에디터에서 빌드는 일종의 테스트고, 플랫폼의 모든 기능을 100% 시험할 수는 없기 때문이다.


▲ 특히 콘솔은 각 환경에 대한 이해도가 뒷받침이 되어야 편하다

그래서 모든 콘솔 플랫폼 업체들은 개발자들을 위한 데브킷을 구비하고 있으며, 해당 플랫폼용 게임을 개발하고자 하는 인원에게 인증 절차를 거쳐서 이를 제공한다. 각 플랫폼의 GPU, CPU, 램 환경부터 성능, 스토리지 방식, 데이터 처리 등등이 제각각 다른 만큼, 이에 맞춘 준비 자체는 유니티 엔진을 활용했다고 하더라도 어느 정도 알아둘 필요가 있다.

아울러 빌드 테스트 이후에 마일스톤을 잡고, 프로파일을 계속 해나가는 것이 중요하다고 강조했다. 그래야 플랫폼별 최적화가 원활히 진행되기 때문이었다. 이를 위해 유니티는 모든 플랫폼에서 메모리 누수 같은 것을 파악할 수 있는 프로파일러를 구비해둔 만큼, 이를 활용하면 최적화 및 프로파일링에 큰 도움이 될 것이라고 덧붙였다.

위의 모든 과정이 끝나면 플랫폼 홀더에게 제출한 뒤 출시 기일을 잡게 된다. 스톤 시니어 매니저는 이 과정 역시도 시간이 꽤 걸리는 데다가, 제출한 뒤에 자신이 생각지도 못했던 이슈가 발견되어서 발목이 잡히는 경우도 많다고 주의했다. 따라서 기일이 걸리는 것을 각오해두는 건 물론이고, 제출하기 전에 데브킷에 꼭 한 번이라도 테스트를 해본 뒤에 제출할 것을 권했다. 실제로 개발자 중 몇몇은 개발이 완성된 뒤에 빨리 출시하고 싶은 마음에 테스트를 생략하기도 하는데, 그러다가 검수 과정에서 문제가 터지면 더 시간이 소요되기 때문이었다.


▲ 검수 에서 이슈가 나서 수정하고 제출하지 말고 테스트를 미리 해서 찾아낸 후 제출해야 시간이 절약된다

멀티플랫폼 대응을 잘 한 사례로 소개된 쉘 게임즈는 이너슬로스의 어몽어스를 VR에도 대응할 수 있도록 지원한 게임사다. 마이클 리 시니어 매니저는 처음에 어몽어스 VR은 유니티 에디터 툴에 여러 VR 플랫폼에 대응할 수 있는 커스텀 패키지들을 빌트인하면서 개발을 시작했다고 설명했다. 또한 VR의 특성상 컨트롤러와 헤드디스플레이 종류가 다양한데, 이에 맞춰서 XR 플러그인과 인풋 시스템을 일괄적인 방식이 아닌 플러그앤 플레이 환경에 맞춰 유틸라이징했다.

또한 모바일-PC 환경에서 전혀 다른 VR 환경 대응을 준비하는 만큼, 개발자들뿐만 아니라 아티스트 및 디자이너들이 기획부터 퍼포먼스 지표를 확인할 수 있도록 하는 것에 주력했다. 이들도 그 과정을 공유해야 플랫폼에 최적화된 개발 방향을 함께 고민할 수 있었기 때문이었다. 그리고는 엔진 내부와 여러 기기상에서 구동했을 때의 유니티 프로파일링을 여러 차례 공격적으로 진행, 최적화에도 더욱 적극적으로 나섰다.

멀티플랫폼 게임 개발 자체는 아직은 유니티뿐만 아니라 플랫폼에 대한 이해, 그리고 최적화를 위한 반복 작업이 요구된다. 그러나 마이클 리 시니어 매니저는 가면 갈수록 유니티에서 반복적으로 검증하는 과정이 빨라질 뿐만 아니라 효율성을 높이기 위한 프로파일링도 한층 정교해진 만큼, 이를 적극 활용하면 각 플랫폼 대응 작업에 큰 도움이 될 것이라고 덧붙였다.