어범의 불멸자들 속으로 디지털 파운드리 기술 인터뷰

인터뷰 어범의 불멸자들의 디지털 파운드리 기술

기술적인 측면에서 Ascendant Studios의 Immortals of Aveum은 매우 중요한 게임입니다. Epic Games가 만든 Fortnite를 제외하고는 Unreal Engine 5의 최첨단 기능을 모두 갖춘 최초의 트리플-A 게임입니다. 그것은 놀라운 수준의 디테일을 자랑하는 마이크로기하학 기반의 Nanite와 레이 트레이싱 기반의 글로벌 일루미네이션 솔루션인 Lumen, 그리고 가상 그림자 맵을 함께 제공합니다. Fortnite 이전에는 The Matrix Awakens가 이러한 기능을 갖춘 UE5 기반 콘솔 게임으로 유일하게 출시되었으며, 이는 놀라울 정도로 멋지게 보였지만 성능 문제가 분명히 있었습니다.

Ascendant는 UE5의 모든 기능을 사용할 뿐만 아니라 콘솔에서 60fps를 목표로 하고 있습니다. 그러나 어제의 DF 리뷰에서 GPU 계산은 한계가 있어 이미지 품질이 어느 정도 희생되어야 한다는 것을 확인했습니다. Xbox Series X와 PlayStation 5의 기본 해상도인 720p에서 FSR 2.2.1을 사용하여 확장합니다.

리뷰 과정에 착수하기 전에 우리는 게임의 핵심에 대해 더 알아보기 위해 개발팀과 이야기할 기회를 제공한 EA의 제안을 받아들였습니다. Alex Battaglia와 Tom Morgan은 Ascendant Studios의 Mark Maratea, Julia Lichtblau, Joe Hall과 이야기를 나누었습니다. 이제 그 대화를 확인해보세요.

Immortals of Aveum: 디지털 파운드리 콘솔 기술 리뷰. PC 버전도 곧 살펴볼 예정입니다.

Immortals는 얼마나 오래 개발되었고, 처음부터 마법을 사용하는 일인칭 슈팅 게임을 만들기로 결정했나요? 아니면 프로젝트 중에 발전했나요?

Mark Maratea: 이 회사는 이 게임을 만들기 위해 설립되었으며, 시간이 꽤 오래 걸렸습니다… 그리고 그때 코로나가 찾아왔기 때문에 인력 공급은 매우 흥미로운 시기가 되었습니다. 이 게임은 사실상 5년 짜리입니다.

Julia Lichtblau: 실제로 스튜디오를 설립한 Brett [Robbins] 몇 달 후에, 주니어 아트 디렉터인 Dave Bogan과 제게 60페이지 짜리 기획 문서를 전달했는데, 그 문서에는 마법 슈터 게임의 기본 아이디어가 담겨 있었습니다. [주인공] Jack과 큰 이야기 라인이 주요 내용이었습니다. 물론 전투의 복잡성과 같은 세부 사항은 변경되었지만, Brett은 이전에 존재하지 않았던 이 마법 슈터 게임을 만들고 싶고, 직접 플레이하고 싶었기 때문에 이런 게임을 만들고 싶어했습니다.

타이밍을 고려하면, 게임은 Unreal Engine 5로 시작하지 않았을 것 같은데, Unreal Engine 4로 시작해서 UE5로 이전한 건가요? 어떤 경험이었나요?

Mark Maratea: 프로젝트는 2018년 7월에 출시된 UE 4.20을 사용하여 시작되었으며, 회사는 2018년 8월에 설립되었습니다. 회사가 처음 시작될 때, 모든 것은 블루프린트로 처리되었고, 엔진 코드 변경은 없었습니다. 작은 인디 프로젝트처럼 프로토타이핑을 위한 것이었습니다… 이 부분은 변경될 수도 있습니다. 사실상 이 비즈니스 결정의 현실은 3개월 후에 어떤 출판사가 참여하게 된다면 “너희는 와야하지만 Frostbite나 다른 것을 사용해야 한다”라고 말한다면 회사 방향을 전환해야 했을 것입니다. 우리는 매우 관대한 자금 지원원을 가지고 있어서 운이 좋았습니다… 훌륭한 파트너가 있기 때문에 이러한 결정을 내릴 수 있는 자유도를 가지고 있습니다. 우리는 4.20, 4.21, 4.23 커스텀 엔진, 4.25, 4.26, UE5 프리뷰, UE5 실제 버전, UE5.1을 거쳐 UE 5.1.1로 배포되었습니다.

그러면 블루프린트와 최소한의 코드 변경으로 시작했지만, 4.23에서 커스텀 엔진으로 전환했는데, 그 변화로 인해 어떤 큰 변화가 있었나요?

Mark Maratea: 이 모든 변화의 시작은 대부분 “…그리고 디자이너나 아티스트가 불가능한 것을 요청해서 엔진 변경을 해야 했어요”라는 식의 이야기로 시작했습니다. 특히 폐허 레벨의 경우, 레벨 디자인 때문에 UE4 버전에 몇 가지 마법을 넣어야 했습니다. 실제로 하늘에서 태양을 옮겨야 했습니다. 이것은 큰 문제처럼 들리지 않을 수도 있지만, UE4는 빵 굽기 기반으로 동작하기 때문에 이는 실제로 큰 문제가 되었고 많은 작업을 필요로 했습니다.

이 게임은 항상 5파운드 가방에 10파운드의 게임이었습니다. 우리의 전투 시스템은 진화하고 우리의 엔진 변경의 일부로 성장했으며, 우리의 전투 시스템은 MOBA를 위해 설계된 언리얼 게임플레이 어빌리티 시스템을 기반으로 구축되었습니다. 이것은 네트워크 복제 가능한 능력 시스템에 대한 좋은 프레임워크이며, 우리는 게임의 모든 총기 유형에 사용합니다 – 고속 사격 무기, 조준 및 제어 무기 – 그래서 우리는 실제로 그 시스템의 범위를 벗어났습니다. 따라서 첫 번째 큰 변화는 게임 플레이 어빌리티 시스템을 가져와 전투가 작동하는 방식에 맞게 만드는 것이었습니다.

다음 큰 변화는 월드 구성이었습니다 – 게임 데이터를 어떻게 스트리밍하는가, 모든 것이 어디에 존재하는가. 우리는 이러한 초대형 월드를 수용하고 이동하며 메모리 예산 내에 유지하기 위해 그 시스템에서 큰 변화를 가졌습니다… 그리고 UE5의 마법이 일어나면 월드 구성이 더 이상 존재하지 않습니다. 왜냐하면 그것이 사용 중지되었기 때문입니다. 상상할 수 있듯이, 그것은 우리 모두에게 – 엔지니어링, 모든 콘텐츠 팀, 레벨 아티스트 및 레벨 디자이너들에게 – 전환이었습니다. 그것은 우리가 “게임을 만드는 새로운 성경”을 선언하고, 그들이 “첫 번째로, 너희들은 쓰기를 배워야 해… 그리고 그게 미친 소리다”라고 말할 때의 거대한 스튜디오 수준의 혁신 프로젝트였습니다. 우리는 올바른 방법이 무엇인지 프로토타입을 만들고, 규칙을 확립하고, Epic이 잘못한 것을 찾아내고, 우리 게임이 작동하는 방식을 변경하고, 규칙을 다시 작성하는 과정을 계속하였으며, 심지어 최근 6개월 동안에도 계속 진행되었습니다.

우리는 크리스마스 때 5.1 버전을 받아들였고, 나는 크리스마스 휴가 동안 그것을 통합하는 데 시간을 보냈습니다… 우리가 5.1로 올라갔을 때, 게임에서 어떤 에셋도 로드할 수 없어서 우리는 모든 진행 상황을 잃지 않기 위해 2일 동안 에셋 로더 전체를 다시 작성해야 했습니다.

콘솔 버전의 동일 콘텐츠 비교

그렇게 최신 버전을 유지하는 비용이라는 건가요?

마크 마라테아: 그렇습니다, 그러나 절대로 그렇게 할 가치가 있었습니다.

5.11이나 5.2에서 셰이더 사전 캐싱 기능을 골라서 사용했나요?

실제로 저는 5.2에서 이를 도와주기 위해 논의 중입니다. 5.1에서의 PSO 캐싱은 작동하지만 코드로 들어가면 첫 번째 줄은 “이것은 작동하지 않습니다. 사용하지 마세요”라는 주석이 있으며, 다른 코드 부분으로 이동하는 조기 종료가 있습니다. 그들은 적응형 사전 캐시를 시도했는데, 이로 인해 메모리 누수와 마지막에 에셋을 해제할 때 충돌이 발생했습니다 – 이는 좋지 않은 일입니다 – 하지만 5.2에서는 이 모든 것이 수정되었습니다. 불행히도, 우리는 5.1.0 버전과 5.2 버전 각각의 특정 방식으로 작동하는 사이에 위치해 있으며, 5.1.1에서는 작동하려고 시도했지만 완전히 작동하지 않습니다.

그래서 우리는 몇 가지를 변경해야 했습니다. 우리는 PSO 사전 캐싱을 DX12 일반 캐시와 결합하여 사용하고 있습니다. [Epic의] 문서에는 “PSO 캐싱을 할 때 기본적으로 찾을 수 있는 모든 PSO를 캐시하고 그 모든 것을 한 번에 로드합니다”라는 한 줄의 문구가 있습니다. 그리고 “한 번에 모두 로드”하는 부분 [문제가 됩니다]. 우리 게임에는 많은 셰이더가 있으며, 동적 분기를 사용하는 다른 시스템을 사용하였고, 실제로 셰이더 파이프라인의 일부를 다시 작성하여 렌더링 시간을 3-4ms 줄일 수 있었습니다. 하지만 그것은 셰이더 순열을 증가시키기 때문에, 우리는 모든 순열을 갖춘 570만개의 셰이더를 가지고 있습니다… 그것은 56만 3천 개의 PSO 객체를 생성하며, 게임을 시작하면 반백만 개의 PSO를 로드하려고 시도합니다.

.ini 파일 없이 게임을 로드했을 때 보인 것을 설명해 줍니다까? [참고: PC 리뷰 코드는 중요한 .ini 파일이 없이 출시되어 초기에 문제가 발생했으나 빠르게 해결됨] 셰이더 사전 컴파일을 할 때 CPU가 최대 성능을 발휘하는 것을 보는 것에 익숙한데, 여기서는 CPU가 심지어 완전한 활용도에 도달하는 데 어려움을 겪는 것처럼 보였습니다.

마크 마라테아: 그래, 모두 입출력(I/O) 때문이야. 실제로는 입출력의 최악 버전이야. 캐시에서 PSO를 메모리로 로드하고 처리한 다음 C 드라이브에 다시 저장해야 하기 때문에 모든 최적화를 우회하게 됩니다 – 대부분의 사람들은 이제 스팀 라이브러리를 C 드라이브에 두지 않습니다 – 그리고 DMA 작업을 우회하고 DirectStorage도 작동하지 않기 때문에 약간의 페널티가 발생합니다.

DirectStorage을 언급하셨는데, Xbox Series 콘솔이나 PC에서 사용하고 있나요?

Mark Maratea: 네, [DirectStorage]가 있다면 Unreal은 자동으로 활용하려고 노력합니다. 우리는 또한 DirectStorage와 함께 비동기 컴퓨팅을 활용하는데, 이는 GPU에 컴퓨트 쉐이더를 직접로드하고 마법같은 수학을 수행하여 게임을 더욱 멋지게 만들어주는 훌륭한 속도 향상을 제공합니다. 이로써 CPU에 비동기 로드를 발생시키지 않고 Niagara에서 GPU 입자를 실행할 수 있게 되며, 게임 스레드에 영향을 주지 않습니다.

제가 게임의 첫 25분을 플레이했는데, 어떤 쉐이더 컴파일 문제도 발생하지 않았습니다. 이는 Unreal Engine 게임에는 흔치 않은 일입니다.

Mark Maratea: 전체 게임에서 PSO 문제가 발생하지 않을 것입니다. 지금 공개적으로 밝히고 있고, 이는 기록되었습니다.

게임에 Nanite을 구현하는 것은 어땠으며, 일반적인 LOD 작성과 비교했을 때 어려웠나요? 작업하기 쉬웠나요?

Julia Lichtblau: 예술적인 측면에서, 우리는 실제로 Unreal 4에서 이 게임을 개발하기 시작했기 때문에 초기 킷은 전통적인 파이프라인을 따라 만들어졌습니다. 그러나 Nanite과 UE5로 전환하면서 자산 자체에 훨씬 더 많은 디테일을 포함시킬 수 있어서 매우 흥분되었습니다… 원래는 ZBrush에서 고 다각형 [모델]이 만들어졌으며, 그것을 클래식 텍스처와 재질로 바꾸어 모양을 얻으면서 로우 폴리 카운트를 유지했습니다. 그러나 Nanite으로 전환하면서 우리는 갑자기 고 다각형 자산으로 되돌아갈 수 있었습니다. 그러나 그 밀도로 어떤 것을 펼칠지 알아내는 것은 작업 흐름을 완전히 재고해야 했던 큰 과제였습니다. 왜냐하면 이제 수백만 개의 게임 토픽을 다루게 되기 때문입니다… 엔진에 넣은 후에는, 수백만 개의 폴리곤을 엔진에 추가하고 그것으로 인해 완전히 충돌하지 않는 것이 꽤 놀라웠습니다.

가끔씩 Nanite 플래그가 유지되지 않을 때가 있었는데, 그럴 때는 몇 백만 개의 폴리곤으로 된 책장을 다시 가져오면, 그 방향을 바라볼 때 엔진이 버벅이는 이유를 궁금해했습니다. Unreal이 그것을 처리하는 방법을 알지 못하고 있었지만, 그 상자에 체크하면 모든 것을 처리합니다. 동적 LOD와 클러스터는 작업 흐름을 빠르게 하고, 실시간으로 클러스터가 조정되고 최적화되는 것을 보는 것은 정말 놀라웠습니다. 작은 팀으로 이 게임을 훨씬 빠르게 개발할 수 있게 해주었습니다.

Immortals of Aveum은 주요한 Unreal Engine 5 기능을 활용할 뿐만 아니라, 60fps를 목표로 하지만 부하가 걸릴 수도 있습니다. 모든 콘솔에 대한 현황입니다.

Nanite을 사용하여 어떻게 결정했나요?

Julia Lichtblau: 우리가 처음 Unreal [5]로 전환했을 때, 우리는 가능한 모든 것에 Nanite을 적용했습니다. 5.0은 초목에는 호환되지 않았던 것 같은데, 나중에 추가되었습니다. 그 후로 우리는 그것을 되돌리고 “이게 정말로 Nanite이어야 할까요?”라고 묻기 시작했습니다. 일부 자산은 구성과 UV 쉘 설정 때문에 문제가 있어 Nanite과 작업 가능하게 하기 위해 일부 자산을 수정하거나 전통적인 방법으로 변경해야 했습니다. 깃발과 같이 움직이는 것에는 [Nanite]을 사용할 수 없었습니다. 우리는 Nanite 버킷에 모든 것을 넣어서 그것으로부터 배우려 했습니다. 이제 우리는 앞으로 어떻게 Nanite을 다룰지에 대한 거대한 Confluence [기업 위키] 페이지를 만들 수 있었습니다.

Nanite과 가상 그림자 맵은 PS5와 Series X/S와 같은 콘솔에서 어떻게 작동하나요?

Julia Lichtblau: 예술적인 측면에서는 우리는 실제로 아무것도 조정할 필요가 없었지만, 아마도 Mark는 그것을 작동시키기 위해 백엔드에서 작업을 했을 것입니다. 그래서 우리 예술가들은 그렇게 많이 걱정할 필요가 없었습니다!

Mark Maratea: 어떤 면에서는 콘솔에서 더 잘 작동합니다. Nanite 가상화 지오메트리는 스트림 중심적이며, 디스크 I/O에 관한 것입니다. 그래서 UE5는 I/O 파이프라인을 다시 작성하고 NVMe SSD에 대한 최적화를 수행하고 있습니다. 콘솔에서 작동하도록 설계되었습니다. PC에서는 누구의 I/O 대역폭인지 전혀 모르겠습니다… 유일한 단점은 Nanite을 사용할 때, 스트리밍 가상 텍스처를 사용해야 하고, 매우 큰 가상 텍스처 풀이 필요하다는 것입니다. 콘솔은 고정된 메모리를 가지고 있지만, [단일 그래픽 카드]는 PS5보다 더 많은 메모리를 가질 수 있습니다. 이 두 가지에 대한 최적화는 정말로 어렵습니다.

너나 잘하고 있는데 메모리 사용에 있어서 예외적인 경우가 있습니다. UE의 가상 텍스처 풀은 크기를 조정할 수 없습니다. 엔진 시작 시 초기화되고 다시는 건드릴 수 없습니다. 이는 성능 측면에서는 완전히 할당된 연속 메모리를 제공하지만, 예를 들어 멀리 떨어진 곳에 고블릿이 있고, 그림자에서 텍스처 한 조각이 필요한 경우(500MB 풀 할당에서), 그 텍스처가 사라질 때까지는 해당 텍스처가 없게 됩니다. PC는 메모리가 부족해도 걱정하지 않습니다. 최악의 경우 가상 메모리로 이동합니다. 콘솔은 “가상 메모리가 없으니 끝났다”고 합니다. 충돌은 발생하지 않지만 심각한 문제를 일으킬 수 있습니다. 이로 인해 내부에서는 악명 높은 랜드스케이프 버그가 발생했습니다. 게임의 특정 부분으로 이동하면 한 사람이 애니메이션 랜드스케이프를 바닥에 그린 것 같은 모습이 됩니다. 왜냐하면 가상 텍스처 풀에 할당할 수 없기 때문입니다.

Nanite는 예술 측면에서 일을 더 쉽게 만들어준 것 같습니다. UE 5.1 없이는 할 수 없었던 Nanite로 할 수 있는 것을 자랑스러워할 만한 게임의 순간이 있나요?

Julia Lichtblau: 우리는 매 레벨마다 그것을 밀어야 했습니다. 거대한 콜로서스가 있는 한 레벨이 있습니다. 이 거대한 메카닉은 매우 곡선 형태의 지오메트리이며 많은 디테일이 있습니다. 내부에는 모든 작은 리벳이 있고, 바닥에는 슬릿이 모델링되어 있어서 이상한 움직이는 원기둥과 고해상도 에셋을 볼 수 있습니다. 우리는 계속해서 더 많은 디테일을 추가할 수 있었습니다. Nanite는 아름다움을 더욱 극대화하기 위해 세계를 열어준 것입니다. 더 이상 일반 맵과 같은 가짜 효과에 의존할 필요가 없기 때문에 텍스처와 표면이 실제로 존재합니다. 매우 가까이에서 봐도 그 곡률과 디테일을 모두 갖추고 있습니다. 그래서 다양한 텍스처, 표면, 모양 및 건축 스타일을 실험하는 것은 정말 재미있었습니다. 예술 쪽에서 게임 전체에 이것을 밀어넣는 것은 정말로 즐거웠습니다.

Joe Hall: UE5.1의 VFX에서는 Nanite를 통해 투명도를 도입했습니다. 플레이어의 진행에 따라 금속이 부식되는 라이브러리 레벨이 있습니다. 이 부분은 Nanite 에셋으로, 발광 및 입자 효과를 가지며 내부의 대체 메쉬를 활용합니다. 정말 인상적입니다.

Immortals of Aveum의 공식 출시 트레일러.

이런 순간들을 우리의 커버리지에 담아야 할 것 같아요…

Mark Maratea: 솔직히 극장 시네마틱 이후 게임의 처음 10분은 Seren Underbridge의 팬이 이동하는 것인데, 그것은 모두 실시간, 게임 내, 완전히 조명이 들어간 Nanite 지오메트리 월드 파티션 영역입니다. 그것은 거대하며, 우리 모두가 얼마나 숨이 멎을 정도인지 잊어버린 것 같습니다. 다른 게임은 사전 렌더링되었을 것입니다. 실시간 조명, 건물에 달린 풍차가 실시간으로 돌아가는 것, 애니메이션된 메쉬… 매번 그것을 볼 때마다 새로운 디테일을 발견합니다. 우리 예술 팀은 정말 놀라운 일을 해냈는데, UE5와 함께 얼굴에 불안정한 감정이 아니라 “그게 정상적인 도시야”라고 느껴집니다.

Nanite를 사용하면 동일한 객체의 복제, 회전 및 크기 조정을 사용하여 지역을 구축할 수 있습니다. 그렇다면 환경에서 다양성을 어떻게 도입하나요? 마모 및 파손 시스템이 있나요? 특정 에셋에 다양성을 추가하기 위한 혼합 가능한 디테일이 있나요?

Julia Lichtblau: 우리는 마모 및 파손 시스템은 없습니다. 대신, 건물에 다른 색상의 페인트를 추가하는 등 다양한 재질 인스턴스를 많이 사용했고, 특정 영역에는 무너지는 스토코, 또는 먼지 자국, 혹은 그래피티와 같은 다양한 데칼을 활용했습니다. 그 중 상당 부분은 수작업 지오메트리를 추가하는 것이었습니다. 건물을 가져와서 주변에 많은 소품을 추가했습니다. 우리는 이런 소품들이 자동으로 배치되는 블루프린트를 만들었는데, 이로써 수작업이 아니라 예술적인 디테일을 추가할 수 있었습니다. 환경 스토리텔링을 위해 생생한 느낌을 살려서 다양성을 일부 에셋에 추가할 수 있었습니다.

콘솔에서 60fps로 Lumen 소프트웨어를 사용하고 계세요? 그리고 PC에서는 소프트웨어 Lumen을 자동으로 받아오나요, 아니면 구성에 따라 하드웨어와 소프트웨어 Lumen 중에서 선택하나요?

마크 마라테아: 네 [콘솔에서 소프트웨어 Lumen을 사용합니다]. [PC에서] 현재로서는 소프트웨어입니다. 둘 다 선택할 수 있는 옵션이 있습니다. 이것은 PSO 캐싱 문제와 관련이 있습니다 – 하드웨어 [Lumen]을 켜면 셰이더 변형이 두 배로 늘어납니다. 하드웨어와 소프트웨어 버전을 빌드하기 때문입니다. 그래서 바로 사람들에게 그렇게 하지 않기로 결정했습니다.

PSO 캐싱에서 이러한 문제 중 일부를 피하기 위해 [사용하는 것은] 매스킹 시스템입니다. 그래서 저는 게임의 [1천만 개] PSO를 다시 캡처하고 전체 게임에 [스테이지 1, 스테이지 2, 스테이지 3]와 같은 uint64 비트 플래그를 넣어야 합니다. 그리고 서로 다른 시간과 수준에서 순서대로 프리캐시를 해야 합니다. 그 작은 시스템을 구축하고 킥패드로 넣을 필요가 있습니다. 그런 다음 게임에 하드웨어 [Lumen]을 적용할 수 있게 되며, 게임 시작 부분에서 5분간의 셰이더 재빌드를 일으키지 않게 됩니다.

하드웨어 Lumen을 사용할 때, 먼 거리의 디테일들과 함께 CPU 문제가 발생할까요?

네. 드로우 스레드가 매우 빈번하게 트리거됩니다. 소프트웨어에서 하드웨어 Lumen으로 변경할 때 가장 큰 변화는 거리가 200m에서 1000m로 증가한다는 점입니다. 먼 거리에서 빛 소스를 추가하면 또 다른 문제가 발생합니다. 바로 먼 거리에서 빛의 반사를 얻게 되기 때문입니다. Lumen은 반사를 처리하는 것을 정말 좋아합니다. 그리고 저희는 많은 빛이 있습니다. 그래서 이제 다른 매개변수들을 조정하여 반짝이는 재질에 너무 많은 반사를 가지지 않도록 조절해야 합니다. 줄리아의 팀은 반짝이는 재질을 좋아합니다. 우리는 많은 반짝이는 재질을 가지고 있으므로, 반사가 너무 적거나 너무 많아지지 않도록 지속적인 밸런스 조정이 필요합니다. 잘못된 방향으로 최적화하면 결과물이 혼란스러워지거나 금이 가는 축제같아질 수 있습니다. 그래서 우리는 [프레임레이트와 시각적 품질]의 밸런스를 매우 조심스럽게 맞추고 있습니다. 이를 위해서는 많은 테스트가 필요하며, 이를 하면서 다른 요소들을 망가뜨릴 수 없습니다.

저희 현재의 최소 사양은 RX 5700 XT와 RTX 2080입니다. 업데이트된 사양이 사람들 손에 있을 것으로 가정합니다. 우리는 실제로 최소 사양을 조금 낮출 수 있게 많은 노력을 기울였습니다. RTX를 지원하는 것을 넘어서는 범위 밖으로 낮추기 위해 많은 노력을 기울였습니다. 이로 인해, PC에서 소프트웨어 [Lumen]이 하드웨어 [Lumen]에 최적화되는 과정에서 문제가 발생하지 않도록 해야 합니다.

Lumen에 돌아와서, 전역 조명과 반사에 대한 설정은 최고 설정까지 지원하는데, 콘솔은 이러한 설정 중 어디에 해당하나요?

마크 마라테아: 콘솔은 기본적으로 중간 설정이며, 1080p 60fps를 목표로 업스케일링을 사용합니다.

Ascendant Studios는 Immortals of Aveum의 세계를 어떻게 디자인했는지에 대해 논의합니다.

콘솔에서 게임이 60fps로 Nanite와 Lumen을 지원하는 것을 보는 것은 놀라운 일입니다. 이것은 항상 계획에 포함되어 있던 것인가요? 30fps를 고려하려고 한 적이 있었나요?

마크 마라테아: 우리는 처음 두 해 동안 비주얼 목표에 집중했습니다. 그리고 아트 팀이 그 일을 주도했습니다. 동시에, 전투 팀과 [게임 디렉터] 브렛이 작업하고, 조의 팀은 전투의 시각적 목표를 충족시키는지 확인했습니다. 이 두 가지가 확실해지면, 우리는 개발 모드에서 일관되게 45-50fps를 유지하는 머신을 가지게 되었습니다. 그리고 브렛이 그것을 플레이하며 “좋아, 이제 30은 맘에 안 들어. 이 게임은 60이 되어야 해. 30으로는 전투가 제대로 느껴지지 않아”라고 말했습니다. 그래서 저희 팀은 방향을 전환했습니다.

그 이후로는 많은 문제들을 해결해 왔습니다. 그래서 최소 사양을 조금 낮출 수 있게 되었습니다. 나는 이것을 권장하지 않지만, 만약 누군가가 이 게임에 [GTX] 1060을 사용한다면 실제로 작동할 것입니다. 최적화는 되어 있지 않습니다. 또한 8GB 카드도 아니므로 매우 조심해야 합니다. Unreal은 실행 중인 해상도에 필요한 가상 그림자 메모리가 충분하지 않으면 매우 화가 납니다. 1080p에서 실행한다면 그렇게 큰 문제는 아니지만, PC 엘리트 전용 4K 게이머로서 말씀드리면, 그림자 메모리가 부족하면 정말 큰 문제입니다. 이것은 기술적인 면이지만, 이는 정말로 예술적인 문제입니다. 우리가 60으로 결정한 후에 줄리아와 조의 팀은 RT가 그 시점에서 작동할 수 있도록 멋진 방법을 찾기 위해 노력했습니다.

다른 콘솔과 비슷한 설정은 어떻게 되나요? PS5와 Series X는 대부분의 설정에서 중간 설정인가요? 아니면 어떤 것이든지 최고 설정으로 갈 수 있나요?

마크 마라테아: 성능에 대한 동등성이 있지만, Series X와 PS5는 다르게 처리됩니다. 비동기 컴퓨팅은 한 쪽에서는 아주 잘 작동하지만, 다른 쪽에서는 그렇지 않아 GPU의 부담이 달라집니다. 콘솔 튜닝 과정 중에 우리는 PC에서 사용하는 성능 도구를 만들게 되었습니다. 우리는 언리얼 튜닝 시스템에 존재하는 모든 렌더링 변수와 가능한 범위를 차트로 그려, 17,000번의 조합으로 게임을 실행시켜 성능과 시각적 트레이드 오프를 이해했습니다. 그런 다음 예술 부서와 함께 앉아서 매우 좋은 프레임 속도로 실행되는 가장 멋진 콘솔 게임 중 하나라고 생각하는 만족스러운 중간 지점을 찾았습니다.

PC 그래픽 메뉴는 CPU와 GPU에 대한 점수를 계산합니다. 이는 어떤 기준으로 이루어지나요?

마크 마라테아: 에픽은 우리가 사용하는 합성 벤치마크 프로그램을 만들었고, 실제로 사용자가 볼 수 있는 숫자를 추출합니다. CPU는 사실상 단일 코어 성능이고, GPU는 모든 GPU 성능을 포괄합니다. 최소 사양 CPU는 약 180에서 200 정도이며, 울트라는 약 300 정도입니다. 최소 사양 GPU는 약 500 정도이고, 울트라는 7900 XT나 4080과 같은 1200 정도부터 시작합니다.

고백하자면 이것은 콘솔 튜닝에서 나온 것인데, 줄을 읽어보면 며칠 전에 샤워 중에 “정말 좋겠다”고 생각해서 이 성능 도구를 만들게 된 것입니다. 이제 이런 데이터가 그로 인해 들어오고, 사용자에게 다양한 그래픽 설정 비용에 대한 데이터를 제공할 수 있게 됩니다. 누군가 새로운 프로세서나 비디오 카드를 사용한다면, 우리에게는 새로운 데이터 포인트가 생길 수 있고, 숫자가 변경될 수 있습니다. 이는 사실상 다양한 하드웨어에서 대규모의 데이터를 종합적으로 수집한 다음 매우 좋은 추측을 하는 것입니다.

이것은 미래 하드웨어에 대해 미래지향적으로 준비되어 있나요, 아니면 여전히 많은 수동 조정이 필요한가요?

마크 마라테아: 현재 버전은 매우 수동적이지만, 보실 버전은 상당히 개선될 것입니다. 이 게임이 60일까지 예상한 판매량에 도달하면, 다양한 업스케일링 알고리즘, 다른 해상도, RT 켜기/끄기에 대한 계산도 모두 이루어지며, 프레임 속도가 어떻게 될지에 대한 실질적인 예측을 할 것입니다.

이것은 Windows Vista에서 소개된 Windows Experience Index를 떠올리게 합니다. 게임이 그것을 사용하지 않게 된 것이 너무 슬펐는데, 나는 그것이 정말 좋은 아이디어라고 생각했습니다. 블로그에서는 콘솔에서 FSR 2를 사용한다고 언급했는데, 왜 TSR 대신 FSR 2를 선택한 것인가요?

마크 마라테아: 성능 때문입니다. 우리는 FSR 2.2.1을 사용하고 있으며, 이는 AMD의 최신 버전입니다. FSR의 업스케일링은 DLSS나 FSR보다 TSR에 비해 훨씬 더 많은 고스트 현상이 발생합니다. 우리는 AMD, 인텔, Nvidia와 계속해서 문제를 최소화하기 위해 협력하고 있으며, 각각의 GPU에 대해 호환성 실험을 진행하고 있습니다. TSR 문제를 해결하기 위해 Epic이 엔진 변경을 출시하는 것은 조금 더 어렵습니다.

콘솔에서 특정 해상도 목표는 어떻게 되나요? FSR 2를 사용하여 4K를 성능 우선으로 하는 건가요, 아니면 더 높은 설정인가요?

마크 마라테아: 콘솔에서는 적응형 업스케일을 사용합니다. 디스플레이로부터 연결된 것을 살펴보고… PS5 Pro가 출시되면 다른 품질 수준으로 업스케일링될 것입니다. 표준 FSR 2 성능 대신 FSR 2 품질 수준이 될 것입니다.

그래서 게임을 1080p 스크린에서 플레이하면 4K 스크린에서 플레이하는 것과 다른 성능을 얻을 수 있다는 말이 맞나요?

마크 마라테아: 맞아요.

동적 분기 셰이더에 대해 언급한 것처럼, 기본 UE5와 당신이 하는 것 사이의 차이점을 설명해주실 수 있을까요?

마크 마라테아: 네, 이 부분은 조 와일랜드에게 크레딧을 주고 싶습니다. 이것은 식그래프 백서 수준의 것입니다. 우리는 이것에 대해 약 3.5년 동안 작업해왔습니다. 셰이더를 구축하는 과정에서 복잡도가 증가함에 따라 계층적인 시스템을 가지고 있습니다. 예를 들면 기본 매개 변수로 “빛나는지”라는 것이 있고, 그 아래에 “빛나는지 아니면 거칠한지”라는 하위 자식이 있습니다. 이런 종류의 시스템에서는 필요하지 않은 많은 명령이 있습니다. 이 명령들은 “사용하지 마세요”로 평가될 것입니다. 하지만 파이프라이닝 작업 방식 때문에 GPU는 여전히 이 명령들을 평가해야 하며, 이는 GPU 자원의 낭비로 보입니다.

그래서 우리는 특정 재료에 사용되지 않을 노드 경로를 미리 가지치기할 수 있는 스마트한 동적 분기 시스템을 구축했습니다. 이것은 실행 시간에 결정되는 것으로, 사람들이 에디터에서 뭔가를 즉시 조정하고 성능과 시각적인 변화를 실시간으로 확인할 수 있게 해줍니다. 하지만 이러한 결정은 최종적으로 실행 시간에 실행됩니다. 이로 인해 Nvidia 전용 셰이더 확장과 같은 IHV별 확장을 포함한 다른 분기를 가질 수 있습니다. AMD 카드에서는 심지어 체크를 실행하지 않습니다. 그래서 장면 복잡도에 따라 약 2-5ms 정도의 성능 향상이 있습니다. 이것은 매우 똑똑한 사람들이 오랜 기간 동안 자신의 인생의 작품을 만들기 위해 투자한 결과입니다. 사실 정말 놀라워요.

지난 세대 콘솔에 발맞춰 젤다: 생존자가 발표된 상황에서, PS4 또는 Xbox One 버전을 고려하는 것이 가능할까요?

절대로 불가능합니다. Lumen은 소프트웨어에서도 지난 세대에서 작동하는 버전이 없습니다. 만약 누군가가 현금을 가득 실은 덤프 트럭으로 나타나서 당신의 모든 레벨을 파헤치고, 베이크드 라이팅으로 작동하도록 만들고, 텍스처를 단순화해서 마지막 세대 콘솔의 메모리 용량에 맞출 것을 요구한다면, 그거 엄청난 덤프 트럭이어야 합니다. 그리고 이건 Joe와 Julie와 저가 여섯 달 동안 트로피컬 휴가를 다녀온 후에야 가능한 일입니다. 즉, 우리가 모든 핵심 기능을 끄고 예산을 1/4로 줄여서 전체 게임을 다시 만들 수 있느냐고 묻는 것과 마찬가지입니다.

언리얼 엔진 5의 최첨단 기능들은 불가피하게도 포트나이트에서 데뷔를 했고, 이것이 발매 때의 모습입니다.

절대로 가능합니다. 디지털 파운드리… 우리는 아직 다음 세대 게임 출시를 충분히 보지 못했습니다. 특히 이미 세대가 시작된지 3-4년이 지난 상황에서 말입니다. 우리는 60fps 플레이를 적극 지지합니다. 하지만 콘솔 버전에서는 해상도나 화질이 높은 30fps 모드가 가능할까요?

마크 마라테아: 우리는 사용자를 위해 그렇게 합니다. 비전투 공간에서는 시각적인 섬세함을 위해 프레임 속도를 희생합니다… 그곳은 약간의 하강이 있을 수 있지만, 전투가 없고 아름답게 보일 것입니다. 이미 품질 모드에 있습니다. 그리고 전투 공간으로 들어가면, 우리는 점점 트레이드오프를 시작합니다 – 동적 라이트가 적어지고, 유니크한 요소가 줄어들며, RTX 4090에서 표시될 수 있는 부가적인 캐릭터들을 제거하여 프레임 속도를 유지합니다.

Joe [Hall], 자랑스러웠던 VFX에 대해 무언가 말씀하거나 가능하지 않을 것으로 생각했지만 게임에 집어넣은 것에 대해 얘기하고 싶은 게 있으신가요?

조 홀: 색상을 되찾았다는 것. 실제적이면서도 마법 같은 방식으로 전투에 색상을 되찾았습니다. 이것은 분명히 중요합니다. 60fps로 유지하면서 순간 순간을 고화질, 고품질로 추구하는 것은 자랑스럽습니다. 팀과 그들이 투자한 노력, 우리가 얼마나 더 많은 것을 이루었는지에 대해 자랑스럽습니다. 저는 확실히 UE 5.1이 존재하는 것에 감사합니다. 플레이어들이 뛰어들기를 기대할 만합니다!