버추어스의 Art, 글로벌 개발, VFX팀의 모범사례를 소개하는 세번째 정기 기사입니다.

버추어스는 지난 몇 년간 닌텐도 스위치 플랫폼을 위한 오리지널 컨텐츠를 개발하고 기존 컨텐츠들을 리마스터링한 것으로 유명합니다. 스위치 포팅을 협업한 대표적 타이틀들은 록스타 게임즈의 LA느와르, 반다이 남코의 다크소울, 유비소프트 스타링크 등이 있습니다. 버추어스는 이러한 타이틀들을 스위치로 성공적으로 포팅한 최고의 개발사 중 하나로 알려졌으며, 향후 더 많은 타이틀의 출시를 앞두고 있습니다.

2.0 starlink 720 1080_0.jpg

Adaptive resolution in different usage scenarios of Starlink: Battle for Atlas

개발자들은 스위치가 역대 닌텐도 플랫폼 중 가장 제작이 쉬운 플랫폼이라고 말합니다.

이는 스위치가 단일 콘솔이 아니라 다양한 멀티 플랫폼 기능을 제공한다는 개념을 기반으로 합니다. 잘 알다시피 도크를 통해 TV에 연결하거나, 분리된 두개의 컨트롤러로 휴대가 가능하기에 집이나 이동중 플레이하는 멀티 세션에 최적화되어 있습니다.

많은 개발자들이 대형 TV스크린과 휴대에 최적화된 게임을 제작하기 위해 많은 고민을 해왔지만, 닌텐도가 그 미세한 조정에 필요한 시간을 월등히 줄였다고 생각합니다. 완전히 자동적으로 이러한 멀티 플레이타입을 지원하는 것은 아니지만요.

버추어스의 시니어 테크니컬 디렉터인 Jonathan Boldiga는 플랫폼 작업을 위한 팁을 제공하기 위해 더 깊이 연구했습니다.

무엇보다, 스위치에서 개발하는 것이 점점 더 수월해지고 있다는 것은 분명해져가고 있습니다. 견고한 툴 체인, 이해하기 쉽고 광범위한 문서 및 훌륭한 지원 인력으로 인해 상당부분 완벽한 개발을 지원하고 있기 때문에 실질적으로 해결이 불가능한 장애물은 거의 없는 편입니다.

휴대시 해상도는 720p이지만, 밝고 생동감 있는 화면을 제공합니다. TV로 연결 시 1080p를 지원합니다. 성능 최적화를 위해 텍스쳐 압축을 사용하고, 텍스쳐 크기를 줄여 성능을 개선하는 등, 메모리 공간을 줄이는 작업들을 활용하여 GPU의 잠재력을 극대화 할 수 있습니다.

버텍스 처리에도 용량이 많이 필요할 수 있기 때문에 메쉬 지오메트리를 줄입니다. 이러한 LOD를 최적화 하기 위해 Sumplygon이나 Insta와 같은 미들웨어 툴들을 사용하기도 합니다.

GBuffer에서 렌더링 대상 수를 줄이고, 대역폭 사용을 줄임으로써 렌더링성능에 도움을 줄 수 있습니다. 버추어스는 GBuffer레이아웃에 대해 두 개의 렌더링 대상을 사용하여 좋은 결과를 얻었지만, 일부 렌더링 기능의 트레이드오프가 필요할 수 있습니다.

모든 최신 콘솔들과 마찬가지로 스위치 CPU에는 멀티코어 구성이 있기에 하드웨어의 성능 극대화를 위해 게임을 멀티스레드 합니다. 단일 스레드 게임은 엔진의 최적화 문제를 야기할 수 있습니다.

버추어스의 스타링크와 L.A.느와르에서 다음의 스레딩 모델을 성공적으로 작업했습니다.

  • 기본 스레드(1) – 서로 다른 작업 스레드에 디스패치작업
  • 렌더 스레드(1) – 렌더링 명령 수행
  • 짧은 작업 스레드(2) – 한 프레임에서 수행해야 하는 작업
  • 긴 작업 스레드(2) – 여러 프레임에서 수행할 수 있는 작업

Depth pre-pass를 활용하면 파이프라인 설정에 따라 유용하게 쓰일 수 있습니다. 저희는 일부 타이틀에서는 큰 이점을 얻을 수 있었지만, 그렇지 않았던 타이틀들도 있었습니다. 대부분의 엔진에서 빠르게 구현이 가능하기 때문에 한번 시도해보는 것은 좋을 것이라 생각합니다.

또한 GPU가 오버로드될 때 일정한 프레임을 유지하는 데 유용한 Adaptive Reslution을 활용하는 것을 추천합니다. 휴대모드와 TV모드의 다른 해상도의 ‘floor’를 실험하는 것은 각 타이틀들에서 가장 잘 작동될 수 있는 타겟을 찾는 데 중요합니다.

스트리밍, 로딩 및 기타 I/O작업의 경우, 좋은 압축체계의 유용성은 아무리 강조해도 지나치지 않습니다. 이 기능은 데이터 크기를 줄이는 데 유용하기에 더 작은 카트리지에 적합할 뿐 아니라 스트리밍 성능을 향상시킬 수 있습니다. 최근 프로젝트에서 LZ4는 가장 적절한 압축이동비율을 보여주었습니다.

상용 미들웨어 솔루션을 사용하면 LZ4보다 더 나은 결과를 얻을 수 있겠지만, 저희가 작업했던 타이틀에는 추가 압축 또는 압축 해제 성능이 필요한 것으로 보이진 않았습니다. LZ4, zlib, zstd, 그리고 상용 미들웨어들을 테스트해보면 좋을 것이라 생각합니다. 타이틀마다 적합성이 다 다를 수 있습니다.

마지막으로 버추어스가 다른 개발자와 관련이 있었던 플랫폼에 대해 강조했던 몇 가지 주제들을 공유합니다.

  • 지연 렌더링을 사용할 때 버추어스는 대역폭 감소를 위해 소형 GBuffer를 사용
  • 다른 플랫폼에 비해 전반적으로 약한 GPU, 적은 CPU코어.
  • 제한된 코어 수 때문에 CPU 최적화가 어려울 수 있습니다.
  • 특정 효과나 에셋들은 스위치를 위한 특별한 최적화가 필요합니다.
  • 플랫폼의 렌더링 모델을 검토하여 더 나은 성능을 제공할 수 있는지 확인이 필요합니다.

L.A. Noire docked and undocked gameplay test

전체적으로 버추어스는 스위치 작업에 많은 보람을 느끼고 있습니다. 여기에는 기존 IP들이 새로운 플랫폼으로 넘어와 새로운 기회를 많이 경험하고 있는 케이스들을 포함합니다. 저희는 현재 지속적으로 협업중이며 스위치가 제공하는 모든 기능을 활용한 새로운 프로젝트들을 곧 선보여드릴 수 있게 되기를 희망하고 있습니다.

About Virtuos

2004년 설립된 Virtuos Holdings Pte, Ltd는 싱가포르, 중국, 베트남, 프랑스, 한국, 일본, 캐나다, 미국, 아일랜드 등에 진출해 있는 대표적 비디오게임 컨텐츠 제작사이다. 버추어스는 1,600명의 풀타임 전문가를 보유하고 있으며 AAA 콘솔, PC, 모바일 타이틀을 위한 게임 개발 및 3D 아트 제작을 전문으로 고객사가 추가 수익을 창출하고 운영 효율성을 관리하는데 기여하고 있다. 10년의 기간동안 버추어스는 전세계 상위 20개 디지털 엔터테인먼트 회사 중 18개사와 작업하고,1,300개가 넘는 프로젝트에 고품질 컨텐츠를 성공적으로 제공해오고 있다. 자세한 내용은 www.virtuosgames.com에서 확인할 수 있다.

About Jonathan Boldiga

버추어스 상하이의 시니어 테크니컬 디렉터로 활동중인 Jonahtan은 다수의 AAA게임 개발을 진행하며 검증된 실력을 갖고 있습니다. 그는 풍부한 기술적 지식배경 뿐 아니라 수년간 대규모 엔지니어링 팀을 직접 관리하며, 인력관리, 프로젝트 및 비즈니스 관리 경험을 축적해왔습니다.