인터뷰에서 코얼리션은 언리얼 엔진과 소스 코드 접근을 어떻게 활용해서 최고 수준의 포스트 프로세싱 효과, 파티클, 볼류메트릭 라이팅을 구현하고 Xbox One X에서 60FPS를 달성할 수 있었는지 설명했습니다. 코얼리션은 다양한 하드웨어 플랫폼에서 부드럽고 일관된 성능을 달성한 비결을 이야기하면서,계층형 레벨 오브 디테일(HLOD) 같은 툴을 섬세하게 활용해 드로 콜(Draw call)을 추가해 고도로 정교하고 다양한 게임 환경을 개발한 방법도 공유했습니다.
기어스 5가 현존하는 게임 중에 가장 충실도가 높은 캐릭터 모델을 선보인다는 점에서, 스튜디오가 듀얼 로브 스페큘러(dual lobe specularity), 후방산란(backscattering), 정교한 눈 렌더링 기능과 뛰어난 애니메이션 기술로 사실적인 디지털 휴먼을 어떻게 개발했는지 설명했습니다. 또한 기존 프랜차이즈에는 없던 오픈 월드 요소를 개발하면서 겪은 어려운 점과 해결 방법도 공유했습니다.
Unreal Dev Days 2019에서 발표된 "기어스 5에 활용된 비주얼 기술(The Visual Technology of Gears 5)"
코얼리션이 기어스 게임을 제작한 것은 이번이 두 번째인데, 기어스 오브 워 4 개발 방식과 비교했을 때 기어스 5와 어떤 점이 다른가요?
캠페인 디자인 디렉터 매트 시어시(Matt Searcy): 기어스 오브 워 4를 개발할 때는 우리가 훌륭한 기어스 게임을 만들 수 있다는 것을 증명하는 데 집중했습니다. 코얼리션이 기어스 시리즈의 세계, 캐릭터, 게임플레이의 명맥을 이어간다는 것을 팬들에게 보여줘야 했습니다. 기어스 오브 워 4는 (약간의 미세조정을 거쳐서) 기어스 [오브 워] 3와는 차별화된 게임플레이를 만드는 데 주력했으며, 새로운 기어스 전투, 적, 모드 개발에 집중했습니다.
따라서, 기어스 오브 워 4는 기어스 5의 사전제작 버전이라고 할 수 있었습니다. 우리는 훌륭한 기어스 게임을 만들 자신이 있었으며, 평가와 피드백을 받으면서 우리는 목표를 달성했지만 커뮤니티는 그 이상을 원한다고 느꼈습니다.
기어스 5를 개발하면서 커뮤니티의 기대를 넘어서겠다는 목표를 가지고 개발을 시작했습니다. 물론 훌륭한 기어스 게임처럼 느껴져야 했지만서도, 사전 제작 버전인 전편에서는 새로운 경험을 탐구하고 그 경험이 기어스와 어떻게 어우러질지 연구하는 데 집중했습니다. 잭(Jack), 스키프(Skiff), 탈출(Escape)과 같은 기능이 게임 디자인의 새로운 지평을 열어줬으며, 팀원들은 처음부터 새로운 테크닉과 기술에 시간과 노력을 투자할 수 있었습니다. 기어스 오브 워 4에서 다진 기반과 전문기술이 없었다면, 주어진 시간 안에 이러한 새로운 도전은 힘들었을 것입니다
기어스 5는 오브젝트 당 모션 블러(per-object motion blur), 스크린 스페이스 리플렉션(screen space reflection, SSR), 정교한 뎁스 오브 필드 효과, 테셀레이션 등 놀랍도록 다양한 시각 효과를 선보입니다. 이렇게 정교한 포스트 프로세스 이펙트 사용은 어떻게 구현하셨나요?
스튜디오 테크니컬 아트 디렉터 콜린 펜티(Colin Penty): Xbox One X에서 60FPS를 유지하면서 그래픽의 품질이 저하되지 않도록 포스트 프로세스 이펙트를 전략적으로 구현했습니다. 에픽게임즈의 최신 언리얼 엔진 4에서 가능한 모든 포스트 프로세스 이펙트를 우리가 사용하던 버전의 언리얼 엔진 4로 통합했습니다. 새로운 조리개 막 DOF가 저희가 마지막으로 통합한 포스트 프로세스입니다.
포스트 프로세스 이펙트 활용에 대해 이야기하자면, Xbox One에서 가능한 모든 캠페인에 비광택(Non-glossy) 고품질 SSR를 사용했습니다. PC는 광택(Glossy) SSR을 사용합니다. 테셀레이션의 경우, 거의 눈과 모래 머티리얼에만 주로 사용하는 자체 커스텀 비동기 테셀레이션 셰이더를 만들어뒀습니다. 플레이어 주위의 모래와 눈을 동적으로 변형시키고 싶은데, 메시를 사전에 매우 현실적으로 테셀레이션하지 않았다면 테셀레이션이 거의 필수 사항입니다. 블룸은 게임 전반에 거쳐 자율적으로 사용되지만, GPU 부담이 커서 블룸 커널을 과하게 사용하지 않으려 했습니다. 카메라가 맵의 밟고 어두운 영역에 적응하도록 기어스 오브 워 4보다 카메라 노출 범위를 넓혔습니다. 하지만 성능을 고려해야 하므로, 만약 라이팅 값의 범위가 넓지 않은 게임 내 영역이 있었다면 성능 향상을 위해 카메라 노출을 잠갔을 것입니다. 렌즈 플레어(lens flares)와 렌즈 더트(Lens dirt) 작업이 끝나갈 때 즈음에 드디어 조정 단계에 접어들었습니다.
또한 다음 프레임으로 넘어갈 때 동기화되지 않도록 포스트 프로세스 체인을 설정해서 성능을 어느 정도 되찾았습니다. 항상 기본 해상도로 출력해서 포스트 프로세싱 패스 비용이 많이 들었다는 점을 생각하면 합리적인 결정입니다. 언리얼 엔진 4의 템포럴 업스케일(Temporal upscaling)로 베이스 패스/라이팅/반투명 등의 내부 해상도를 높여서 GPU 성능을 유지했습니다.

기어스 5는 다이내믹 섀도, 볼류메트릭 라이트, 포그 등 놀라운 라이팅을 사용합니다. 어떻게 이러한 효과들을 구현하셨나요?
펜티: 저희 개발팀은 언리얼 엔진 4에 추가된 볼류메트릭 포그 시스템을 정말 좋아해서, 최대한 많이 사용했습니다. 레벨 전반에 볼륨 포그 프리미티브를 배치하는 블루프린트 시스템을 만들었으며 자세한 내용은 GDC 2020에서 이야기할 예정입니다. Xbox One X에서 60FPS를 유지하면서 구현한 볼륨 포그의 품질이 아주 자랑스럽습니다.
라이팅의 경우, 기어스 오브 워 4에서 많이 사용한 스테이셔너리 라이트는 최대한 사용하지 않기로 했습니다. 덕분에 섀도에 섀도 맵 텍스처를 사용하지 않았으며, 이로써 텍스처 메모리를 절감하고 셰이더 렌더링 속도가 향상되고 완전한 리얼타임 섀도를 구현했습니다. 게임 내 모든 라이트로 스테이셔너리 라이트 대신 무버블 라이트(Moveable Lights)를 사용했는데, 약간의 미세조정만으로도 라이트매스를 사용해 무버블 라이트로 간접 데이터를 구울 수 있었습니다. 이 모든 것은 저희의 라이트맵에 저장되며, 라이트맵은 섀도 맵과 달리 섀도가 아닌 모든 색 GI 데이터를 저장합니다.
디렉셔널 라이트 섀도 캐스케이드를 넘어서, 디스턴스 필드 레이 트레이스 섀도를 사용해 환경에 섀도 효과를 적용했습니다. 따라서 라이팅 시스템은 메시의 디스턴스 필드 표현을 섀도 캐스터(Shadow caster)로 사용했습니다. 이 효과는 먼 거리에서만 보이므로 디스턴스 필드를 극도로 세밀하게 표현하지 않아도 되었고, 덕분에 메모리를 절약할 수 있었습니다.
물론 이 모든 기술적 요소를 통합하고 훌륭한 그래픽을 전달하려면 재능 있는 라이팅 팀이 필요하며 덕분에 저희 팀은 정말 훌륭하게 해냈습니다.
기어스 5는 환상적인 파티클 효과를 선보입니다. 이러한 효과는 어떻게 구현하셨나요?
펜티: 저희 VFX 팀은 기어스 5에서 놀라운 효과를 많이 선보였습니다. VFX는 CPU에 의존하는데, 콘솔에는 가장 높은 성능의 CPU가 탑재되어 있지 않기 때문에 특히 힘들었습니다. 이 제약을 넘어서기 위해 머티리얼 에디터로 스위프트 파티클(Swift Particles)이라는 새로운 VFX 시스템을 만들었습니다. 이 시스템으로 CPU 부담이 전혀 없는 셰이더 내 버텍스 오프셋으로 VFX 효과를 생성했습니다. 스위프트 파티클을 주로 사용해 눈, 먼지, 비 [같은] 환경 VFX를 만들었습니다.
구현이 힘든 일부 복잡한 효과를 제외한 대부분 효과에는 GPU 파티클을 활용했습니다. 언리얼 엔진 4 파티클에 “GPU 스폰(GPU Spawn)” 기능을 추가해 파티클이 GPU에서 다시 생성되도록 만들었습니다.
CPU 성능을 계속 확인하기 위해, 테크 아트 팀은 VFX로 파티클과 이미터 개수가 합리적이고, 파티클 LOD를 사용하고 있는지 확인하는 데 오랜 시간을 투자했습니다. 기어스 오브 워 4는 30FPS 게임이었기 때문에, 기어스 오브 워 4 캐릭터와 무기 VFX를 기어스 5에 맞춰 다시 최적화해야 했습니다.

서브서피스 스캐터링(subsurface scattering)과 듀얼 로브 스페큘러를 멋지게 활용해 기어스 5의 캐릭터 얼굴을 환상적으로 구현했습니다. 충실도는 더 높아졌고, 눈도 사실적인 라이트 스캐터링을 선보입니다. 어떻게 기어스 5의 아름다운 디지털 휴먼 얼굴을 제작하셨나요?
펜티: 기어스 오브 워 4보다 그래픽 측면으로 더 발전한 부분은 캐릭터 렌더링과 성능입니다. 기어스 5의 개발을 시작하자마자 캐릭터 피부, 눈, 머리카락 작업에 착수했습니다.
피부는 말씀하셨던 듀얼 로브 스페큘러를 사용한 덕분에 피부 “광택”의 품질이 크게 향상되었습니다. 실측용 사진 자료를 사용해 피부 후방산란도 다듬었습니다. 땀구멍에는 세밀한 노멀을 추가했습니다.
머리카락의 경우는, 마야(Maya) 안의 후디니 엔진(Houdini Engine)을 사용해 머리카락 AO(엠비언트 오클루전)을 생성하는 툴을 제작해서 머리카락을 더 정밀하게 표현했습니다. 머리카락 머티리얼은 일부 조정했지만, 기어스 오브 워 4에서 사용한 디즈니 마르슈너(Disney Marschner) 셰이딩 모델은 그대로 유지했습니다.
눈에 가장 많은 시간을 투자했습니다. 홍채에는 파라곤 범프 오프셋(Paragon bump offset)을 추가하고, 눈구멍에 눈이 더 자연스워 보이도록 SSSSS(스크린 스페이스 서브서피스 스캐터링)으로 눈을 교체했습니다. 기어스 오브 워 4는 SSSSS를 사용하지 않았습니다. 눈물, 눈물길, 눈 AO 지오메트리와 같은 눈 지오메트리를 많이 추가해서 더 사실적으로 보이도록 만들었습니다. 마무리로는 조지 지메네즈(Jorge Jimenez)와 자비르 폰 더 팔렌(Javir von der Pahlen)의 GDC 2013 발표에서 영감을 받은 동적 홍채 부식 시스템(Dynamic Iris Caustic system)을 추가했습니다. 얼굴도 뼈와 얼굴 구조를 더 정확하게 표현하기 위해 다시 작업해서 사실성을 더했습니다.
아트 디렉터 아리안 핸벡(aryan Hanbeck): 우리는 기어스 오브 워 4의 캐릭터 얼굴을 대폭 개선하고 싶었습니다. 기어스 5는 처음 몇 초 동안, 악몽에서 깨어나는 케이트(Kait)의 얼굴을 클로즈업해서 보여줍니다. 프로젝트 대부분에서 케이트의 얼굴을 작업하는 소규모 전담팀이 있었는데, 그 클로즈업 장면으로 팀의 업무 진척도를 알 수 있었습니다. 엄청난 진척을 보이는 경우도 있었으며, 더 개선할 점을 발견하기 전까지는 모두 결과물에 뿌듯해 했습니다. 케이트의 얼굴을 개선하면서, 변경 사항을 다른 캐릭터에도 적용했고, 결과적으로 모든 캐릭터의 품질이 향상되었다는 점이 좋았습니다.
기어스 5는 HDR을 가장 잘 활용한 게임이라는 찬사를 받고 있습니다. 머신 러닝을 어떻게 활용해서 이러한 결과를 얻으셨나요?
펜티: 마이크로소프트 레드먼드(Microsoft Redmond)의 ATG(Xbox Advanced Technology Group)가 개발한 머신 러닝 알고리즘을 사용해 컬러 스페이스 변환을 위한 인버스 톤매퍼를 학습시켰습니다. 이 50%를 라인하르트 버퍼(Reinhard buffer)와 혼합해서 최대 컨트롤이 가능했습니다.
HDR에 사용된 기술은 일부에 불과합니다. 예를 들어서, 머즐 플래시(Muzzle flashes)와 스카이박스(Skyboxes)의 광도 범위를 적절히 유지하기 위해 콘텐츠 측면에서 많은 조정이 필요했습니다. 저도 HDR 품질을 적절히 유지하기 위해 아트 디렉터, 엔지니어와 협력해 노출된 파라미터를 직접 조정해야 하는 경우가 많았습니다. 한 레벨에서는 “훌륭한” 품질이 나오는 값으로 조정해도, 다른 레벨에서는 그 값이 끔찍한 품질로 나타날 수 있습니다. 그러므로 글로벌 HDR 값을 설정할 때는 아주 조심해야 합니다. 훌륭한 품질을 유지하면서 폭넓고 다양한 시나리오를 감당할 수 있고, 아티스트의 의도를 해치지 않아야 합니다.
마지막으로, 라이팅 시나리오의 범위를 나타내는 보정 스크린(Calibration screen)의 품질 확인에 오랜 시간을 투자했습니다. HDR 슬라이더를 조정하면서 보정 이미지를 감추고, HDR 출력을 나타내는 곡선을 노출하는 기능을 구현했습니다. 마침내, HDR 대비와 최대 밝기와 같은 컨트롤 추가는 플레이어가 원하는 대로 그래픽을 조정하는 데 큰 도움이 됐습니다.

기어스 5는 최고 수준의 애니메이션과 아름다운 리얼타임 컷신을 선보입니다. 이렇게 휼륭한 게임의 성능은 어떻게 구현하셨나요?
펜티: 페이스웨어(FaceWare)로 전환해 기어스 5의 시네마틱 퍼포먼스를 처리하는 것이 충실도를 조정하는 데 많은 도움이 됐습니다. 물론 그 데이터로 작업해 퍼포먼스에 생기를 불어넣은 훌륭한 애니메이터들 덕분이기도 합니다.
얼굴 애니메이션은 주로 블렌드 셰이프(Blend shape) 기반으로, 조인트를 “튜너(Tuner)”로 사용해 블렌드 셰이프를 수정했습니다. 다시 이전 작업으로 돌아가서 모든 얼굴 셰이프를 정리해 얼굴 애니메이션 품질을 개선했으며, 기어즈 오브 워 4 내 캐릭터 얼굴의 압축과 확장 노멀 맵을 다시 만들었습니다. 그다음 확장과 압축 노멀 맵을 혼합하고, 19개의 서로 다른 주름 영역으로 얼굴의 혈류를 표현했습니다. 이 모든 개선 사항이 캐릭터 셰이더 개선과 결합해 캐릭터에 생기를 불어넣었습니다.
기어스 5는 역대 최고 수준으로 세밀하고 다양한 환경을 선보입니다. 이러한 환경은 어떻게 디자인하셨나요?
펜티: 기술 관점에서 보자면, 기어스 5가 Xbox One X 제품으로 출시된다는 것을 처음부터 알고 있었으므로 픽셀 밀도를 높이는 것이 중요했습니다. 그래서 거의 모든 오브젝트에 세밀한 텍스처 패스를 추가했습니다. 기어스 5를 60FPS로 유지하면서 오브젝트 밀도를 더 높이기 위해, GPU에서 환경 머티리얼의 속도를 높이는 데도 큰 노력을 기울였습니다. 마지막으로, HLOD 패스를 결합해 드로 콜을 더 많이 추가했습니다.
핸벡: 기어스 5는 기어스 게임 중에서 가장 다양한 환경 세트를 선보입니다. 그래서 생물군마다 독특한 시각적 특성을 보여줘서 플레이어에게 오랜 인상을 남기는 것이 중요했습니다. 최대한 다양한 색채, 톤, 분위기로 표현하려고 아트 디렉션 관점부터 시작해서 많은 공을 들였습니다.

기어스 5는 시리즈 최초로 오픈 월드 요소를 도입했는데요, 이러한 오픈 월드를 구현하는 작업은 어떠셨나요?
핸벡: 게임 내에 오픈 월드 요소를 포함한 공간이 넓어질수록 아트 작업이 더 어려웠습니다. 월드가 더 생생하게 느껴질 정도의 오브젝트를 추가하는 것과 성능 사이의 균형을 찾는 작업이 아주 어려웠습니다. 결국, 더 선형적인 레벨에 적용한 밀도를 그대로 적용하는 것은 불가능하다는 걸 깨달았습니다. 스키프로 이동할 때는 평소보다 10배나 빠르게 움직여서 밀도가 그 정도로 높지 않아도 괜찮았습니다. 월드가 허전해 보이지 않고, 어느 정도 현실적으로 보이는 적당한 레벨 오브 디테일을 찾았습니다.
시어시: 더 개방된 탐험 영역을 만들자는 발상은 전작의 “구색갖추기용” 차량을 더 발전시켜서 플레이어 선택 사항을 더 추가하는 것이었습니다. 첫 번째 단계는 새로운 풍력 차량, 스키프 만들기였습니다. 운전 자체가 재밌는 것이 핵심이었습니다. 그 이후로는 적절한 거리, 속도, 탐험 형태를 구현하기 위해 개방된 공간을 수없이 반복처리했습니다. 퍼즐의 마지막 조각은 잭의 진척도였습니다. 잭의 부품을 찾는 루프를 만들고 나니, 핵심 게임 루프에 영향을 끼치는 요소를 보상으로 주는 흥미로운 전투를 만들 수 있었습니다. 덕분에 플레이어가 스토리 미션마다 탐험하고 원하는 만큼 페이스를 늦출 수 있습니다.
펜티: 오버월드 영역에서 60FPS와 뛰어난 그래픽 품질을 동시에 달성할 수 있어서 기쁩니다. Xbox의 메모리 과부하와 오류를 막기 위해서는 아트, 디자인, 기술 부문의 긴밀한 협업이 필요했습니다. 시선 작업으로 인해 오픈 월드 영역에서 HLOD 시스템과 언리얼 엔진 랜드스케이프 시스템을 적극적으로 활용했습니다. 아티스트는 월드 머신에서 랜드스케이프 높이와 텍스처 맵을 먼저 만든 다음, 언리얼 엔진의 랜드스케이프 시스템으로 임포트해서 계속 스컬핑을 진행하려 했습니다. 모든 랜드스케이프 셰이더는 최대한 높은 지오메트리 밀도로 테셀레이션 셰이더를 돌렸습니다. 오픈 월드 영역은 구워진 섀도 맵을 벗어나 리얼타임 캐스케이드, 레이 트레이스 디스턴스 필드 섀도로 넘어갈 좋은 기회였습니다. 이 거대한 공간의 섀도 맵을 저장하는 것은 정말 원치 않았기 때문입니다.
기어스 5는 파괴 가능한 엄폐물, 얼음 등 놀라운 파괴 가능한 기물을 선보입니다. 어떻게 구현하셨나요?
펜티: 파티클 연구와 비슷하게, 파괴 가능한 엄폐물이 기어스 오브 워 4에서 심각한 CPU 부하를 일으킨다는 점을 알아냈고, Xbox One X에서 60FPS를 유지하기 위해 그 부분을 고쳐야 했습니다. 그래서 스위프트 파티클 시스템을 머티리얼 에디터로 만든 버텍스 오프셋 기반 시스템으로 볼 수 있는 스위프트 디스트럭션 시스템(Swift Destruction System)으로 확장했습니다. 스위프트 디스트럭션을 UV 세트(예시: 프랙처 포인트) 내에서 시뮬레이션할 때 필요한 모든 데이터를 구울 수 있는 후디니 엔진 프랙처 툴과 긴밀하게 연결했습니다. 부서지는 빙판의 경우, 얼음이 깨진 것뿐인지 아니면 완전히 부서진 건지 인지할 수 있는 효과를 만들기 위해 버텍스 셰이더를 설정했습니다. 그다음으로 얼음이 대미지 한계치에 도달했을 때 플레이어 충돌을 적절히 업데이트하기 위해 블루프린트 설정을 디자인해야 했습니다. 후디니에서 오프라인으로 생성된 버텍스 스트림 디스트럭션을 구현하려고 얼렘빅 캐시(Alembic Cache) 시뮬레이션도 사용했습니다. 이 기능은 플레이 영역 밖에서 기물들이 파괴될 때 유용했습니다.

기어스 5는 창의적인 적과 섬뜩한 보스를 새로 도입했습니다. 이러한 캐릭터는 어떻게 디자인하셨나요?
시어시: 적을 만드는 과정은 기어스 오브 워 4와 거의 유사합니다. 플레이어를 상대하는 적의 역할을 정하는 것부터 시작합니다. 적이 플레이어를 몰아내야 하는가? 플레이어를 몰아세워야 하는가? 여러 역할을 교대해야 하는가? 프로토타입에서 적이 플레이어에 끼치는 핵심 효과가 확인이 되면, 다른 적과 함께 레이어를 추가해서 다양한 전투 상황에서 어떻게 사용할 수 있는지 확인합니다. 디자인 요구사항을 염두에 두고, 콘셉트 아트의 룩과 실루엣을 살펴보기 시작합니다. 리그(Rig)된 프록시 모델을 기능적으로 구현된 프로토타입에 추가하고 캠페인과 호드 인카운터에 적을 페이스에 따라 집어넣어서 오디오, VFX, 애니메이션 작업을 끝내기 전에 행동과 형태를 반복작업합니다. 적마다 전장에서 전투 역할과 영향력이 정해졌다는 점이 기어스를 개발할 때 좋은 점이었습니다. 새로운 몬스터를 구상하고, 기어스에 레이어로 추가하는 작업이 디자인 과정에서 가장 마음에 들었습니다.
멀티플레이어 맵은 크기도 다양하고 환상적인 레이아웃을 선사합니다. 이런 스테이지는 어떻게 디자인하셨나요?
멀티플레이어 디자인 디렉터 라이언 클리븐(Ryan Cleven): 기어스 오브 워 4에서는 전작이 남긴 인상과 일관되고 자연스럽게 어우리지는 맵을 만들고 싶었습니다. 기어스 5에서는 기어스 오브 워 맵이 갖는 의미의 경계를 넓히고 싶었습니다. 지금까지 작업한 영역에서 벗어나 새로운 도전을 하고 싶었습니다. 일부 맵의 대칭축을 깨뜨려서 단순한 대칭 구조보다 회전했을 때 비슷한 구조로 만들었습니다. 게임플레이에 중대한 영향을 미치는 동적인 요소를 더 많이 추가했습니다. 이전보다 수직성을 더욱 확장했습니다. 기어스 엄폐물 시스템에서는 일반적으로 사용되지 않은 유기체 형태를 지형 메시에 적용하는 시도도 있었습니다.
일반적인 5v5 맵을 넘어서, 모듈러 타일 시스템으로 완전히 새로운 시스템을 추가했습니다. PvE 또는 PvP 모드용 레이아웃을 생성하기 위해 타일 레시피를 로드하도록 게임을 수정했습니다. 절차적 시스템과 기어스 5의 새로운 탈출 모드 전용으로 만든 맵 빌더를 조합했습니다.
기어스 5는 새로운 AI를 선보이는데, 기어스 오브 워 4 이후로 어떤 점이 개선되었나요?
스튜디오 테크니컬 디렉터 마이크 레이너(Mike Rayner): 날아다니는 생명체와 볼륨 기반 길 찾기 지원을 추가했는데, 기어스 5에 새로 추가된 스웜(swarm) 무리의 적에 좋은 영향을 주었습니다.
기어스 5에서는 플레이어가 전투를 개시하는 시스템이 추가됐는데, 이 시스템을 지원하기 위해 감지 시스템을 강화해 가만히 있는 상태에서 하는 행동을 추가하고, 시체 탐지, 냄새 조사 등의 새로운 위협 감지 상태를 도입했습니다.
게임에 필요한 사항에 맞춰 새로운 AI 시스템도 여러 가지를 추가했습니다.
- 인플루언스 맵 (길을 찾을 때와 엄폐물을 찾을 때 사용)
- 인바이런먼트 쿼리 시스템(EQS)을 (우리의 엄폐물 기반 LOS 캐시와 유사한) 사이트 캐싱 스킴(site caching scheme)으로 대체해서 비엄폐 중인 적이 주변 지형을 효과적으로 활용
- (대본으로 정해진 순간을 많이 대체하고) 월드와 자연스럽게 상호작용하는 스마트 AI 오브젝트
- 캐릭터 간 합동이 가능한 전술 시스템
- 전투 영역이 넓으면 적들을 퍼뜨리는 동적인 전장 전술
- 측면 전술, 자폭 전술
내비게이션 툴과 시스템 - 다음과 같은 디자이너용 확장 툴셋을 제공합니다.
- 플랫폼 간 내비게이션으로 내비메시 플랫폼 이동
- 내비게이션 모드와 볼륨을 회전시키고 이어 붙여서 단계적 게임 모드(예를 들어, 탈출) 지원
- 다이내믹 오픈 월드 내비게이션 메시 구축

기어스 5는 비주얼도 멋있지만 다양한 플랫폼에서 매끄럽게 구동됩니다. 이렇게 훌륭한 최적화는 어떻게 구현하셨나요?
레이너: 프로젝트를 시작할 때부터 비교적 저사양 CPU(Xbox one과 동급인 최소 사양 PC CPU)에서 60FPS를 목표로 했습니다. CPU가 주요 병목 지점이 될 것을 알았기에 시뮬레이션을 최소한으로 줄이는 데 투자했습니다. 언리얼 엔진 4의 멀티 코어 병렬 렌더링(parallel rendering), 병렬 애니메이션 그리고 피직스 지원과 자체 커스텀 멀티 코어 최적화를 활용해 폭넓은 CPU에서 다중 코어와 성능을 조정할 수 있도록 만들었습니다. 주어진 시간과 예산에 맞춰 캐릭터와 VFX의 로컬 클라이언트 시뮬레이션 충실도를 동적으로 조절하도록 일부 커스텀 시뮬레이션 LOD 관리에도 투자했습니다. 프로토타입 제작에 블루프린트를 사용하기는 했지만, 시뮬레이션을 최소화하기 위해 C++ 코드로 성능을 모니터하고, 무거운 시스템과 흔한 패턴을 조정했습니다.
엔진 성능과 그래픽 설정의 경우, 언리얼 엔진의 엔진 퀄리티 옵션, 프로퍼티, 콘솔 변수를 활용해 게임이 각 플랫폼에서 확실하게 최적화되도록 조정했습니다. 콘텐츠마다 예산을 명확하게 정하고 개발용 PC에서 그 예산이 적합한지 확인했습니다. 언리얼 엔진 4의 스태틱 메시 LOD와 HOLD 시스템과 함께 다이내믹 템포럴 업스케일을 사용해 콘텐츠의 그래픽을 향상하고, 최소사양, 권장사양, 최고사양 PC를 비롯해 Xbox One S부터 Xbox One X까지 다양한 플랫폼에 맞는 성능으로 조정할 수 있었습니다.
모든 디바이스에서 메모리와 성능을 확인할 수 있는 합리적인 최소 사양 PC와 콘솔을 선택했으며, 플레이 구간에서 자동 검사와 원격 측정을 통해 이를 확인했습니다.
펜티: QA 플레이를 진행하면서 모든 레벨에서의 60FPS 비율을 매일 추적했습니다. (예: 85%가 60FPS) 성능 보고서에는 “렌더 스레드에 따른 바운드: 5%” 같은 통계도 있어서 어떤 스레드가 성능을 저해하는지 알 수 있었습니다. 덕분에 테크니컬 아트, 엔지니어링 팀은 무엇을 해결해야 할지 미리 파악하고 레벨에 바로 뛰어들었습니다 (예: 렌더 스레드 바운드는 섀도 캐스터 또는 오브젝트가 너무 많음을 의미합니다). 매일 콘텐츠 최적화에 집중하다 보니, 저는 주로 플랫폼/게임 모드/분할 화면 설정마다 글로벌 확장성을 조정하면서 성능 프로필을 다듬었습니다.
기어스 5를 개발할 때, 언리얼 엔진 4의 소스 코드에 접근 가능하다는 것이 얼마나 도움이 되었나요?
레이너: 소스 코드에 접근 가능하다는 점은 최적화, 디버깅, AAA 게임 개발의 민첩성에 아주 중요했습니다. 소스 코드 레벨 디버깅으로 문제를 진단하는 기능은 게임 구현의 자잘한 문제를 해결하는 데 큰 역할을 했습니다. 소스 코드에 접근할 수 있어서 엔진 업그레이드 없이도 에픽으로부터 백포트 버그 픽스와 개선을 할 수 있었고, 엔진을 직접 고치거나 개선할 수 있습니다 (이런 변경점을 다시 에픽에 제공하는 경우도 종종 있었습니다). 우리 개발팀은 소스 코드와 엔진 개발자 코멘트를 확인한 덕분에 에픽게임즈에 버금가는 수준으로 언리얼 엔진을 이해할 수 있었습니다. 개발팀은 엔진을 잘 사용하고 있다는 자신감을 얻었고, 필요에 맞게 엔진을 확장하고 진화시킬 수 있었습니다. 엔진을 소스부터 다시 만든 덕분에 새로운 버전의 컴파일러를 사용하고, 런타임/게임 특화 컴파일러, 성능 중심 최적화 같은 링커(linker) 최적화를 활용할 수 있었습니다.

기어스 5는 3인 로컬 멀티플레이와 온라인 협동 멀티플레이를 모두 지원합니다. 구현하면서 어떤 기술적 어려움을 겪으셨나요?
레이너: 언리얼 엔진은 다중 뷰포트와 분할 화면을 지원하므로 지원 수준이 낮은 경우가 많았습니다. 우리는 다수의 사용자가 좋은 사용자 경험이었다고 확신하도록 입력/집중 관리에 큰 노력을 투자했습니다. 성능은 언제나 다중 뷰포트에서 겪는 난관입니다. Xbox One S에서는 전체 화면 모델과 분할 화면에서 FPS가 같아야 했습니다. 이 문제를 해결하기 위해 분할 화면 모드용으로 다양한 확장성 설정과 비주얼 옵션을 정의하고, 저사양 하드웨어에서 디테일이 높은 오브젝트를 끌 수 있는 디테일 태그(detail tags)를 추가했습니다. Xbox One X에서는 60FPS(전체 화면)에서 30FPS(분할 화면)으로 낮췄습니다. 덕분에 분할 화면 모드에서도 가장 높은 비주얼 설정과 해상도를 유지하며, 균형을 잘 맞췄다고 생각합니다.
또한 온라인 협동은 신중하게 네트워킹 리플리케이션을 구현했다는 가정하에 어렵지 않게 UE4를 지원할 수 있습니다. 협동 모드에서는 최대 세 명의 플레이어 중 한 명이 클라이언트 호스트 리슨 서버(client hosted listen-server)고, 나머지 두 명은 클라이언트입니다. 협동 경험을 제대로 리플리케이트하려면 많은 고민과 노력이 필요합니다. 레벨 디자이너와 엔지니어가 변경점을 제출하기 전에 로컬 검토 과정의 한 단계로 독립형 협동을 시험하면서 모든 것이 제대로 리플리케이트됐고, 이상이 없는지 확인하는 것이 제일 좋은 방법입니다. 우리 개발팀은 테크니컬 레벨 디자이너와 엔지니어가 레벨 디자이너를 도와서 (C++로 자주 처리한) 리플리케이션 작업을 처리하고, 리플리케이션을 도외시하고 저장/불러오기와 체크포인트를 지원하는 흔한 재사용 가능 시스템을 생성했습니다.
플레이어들이 네트워크에서 진행 중인 게임에 참여하도록 하는 것도 어려웠지만, 플레이어가 참여할 수 있는 시점에 제한 사항이 추가되면서 특히 더 어려워졌습니다. 게임이 로딩 중일 때, 총싸움이 벌어지는 도중에, 시네마틱을 재생하거나 레벨을 전환할 때 플레이어가 참여할 수 있어서 여러 문제가 발생했습니다. 예를 들어서, 여러 명의 플레이어의 경험을 최대한 완벽하게 유지하면서 실시간 시네마틱을 동기화하고, 게임플레이로 자연스럽게 넘어가도록 만드는 것은 쉬운 작업이 아닙니다. 진행 중 참여와 네트워크 불량은 문제를 더 복잡하게 만듭니다. 우리는 로딩 화면을 최대한 지양하지만, 문제가 가장 복잡한 순간에는 임시방편으로 로딩 화면을 띄워야 했습니다. 시네마틱, 애니메이션, 디자인의 테크니컬 콘텐츠 크리에이터가 이런 극단적인 경우를 수정, 완화하는 동안, 엔지니어가 여러 콘텐츠를 통합할 수 있는 튼튼하고 유연한 시스템을 만드는 것이 핵심입니다.

기어스 5는 플레이어들이 하이브(Hive)으로부터 탈출해야 하는 새로운 멀티플레이어 모드, 탈출을 도입했습니다. 이런 모드는 어떻게 만드셨나요?
클리븐: 우리는 호드(Horde) 모드의 팬으로서 더 짧고, 스쿼드 전체가 모이지 않아도 플레이할 수 있는 협동 경험을 만들고 싶었습니다. 원래 구상은 호드 모드에 비할만한 정반대 모드였습니다. 호드는 적들이 기지에 쳐들어오는 모드입니다. 탈출은 플레이어가 적에게 쳐들어가서 벌집을 파괴하는 모드입니다. 그래도 호드처럼 생존 모드여야 했습니다. 주요 목표는 여전히 “생존”이어야 했지만, 미로 또는 던전에서 탈출구를 찾아야 한다는 점이 다릅니다.
새로운 스토리가 필요한 콘셉트였습니다. 우리는 잔혹한 세상인 사라(Sara)에서도 납득이 될 정도로 엄청난 보상과 단순명료한 스토리를 원했습니다. 캐릭터는 다른 기어스처럼 고도의 훈련을 받아야 하지만, 다른 상황이 필요했습니다. 탄약도 없고, 가슴에는 폭탄이 달린 채로 일부러 납치된 다음, 스웜 벌집의 중심에 있는 깊은 지하에서 깨어난 상태에서 시작한다니, 듣기만 해도 화끈거립니다. 바로 옆에는 수천 발의 탄약으로 수백 마리의 적을 쳐부수는 모드가 있다는 점도 종잡을 수 없습니다.

레이너: 언리얼 엔진 4를 이용한 크로스 플랫폼 개발은 전반적으로 단순한 편입니다. 모범 사례를 따라 하고, 저사양 메모리와 기본 성능을 파악하고 있으면 문제가 될 부분이 없습니다.
언리얼 엔진은 크로스 플랫폼으로 손쉽게 개발할 수 있도록 디자인되었으며, 대체로 디바이스/플랫폼에 대한 지식이 없이도 사용할 수 있는 게임 엔진입니다. 기어스 5는 Xbox One, PC (스팀, 윈도우 스토어) 그리고 동일한 크로스 플랫폼 코드 기반의 데디케이트 서버를 목표로 개발되었습니다. 콘텐츠와 코드가 모든 플랫폼에서 이상이 없는지 확인하려면 에디터와 컴파일러가 생성하는 경고와 오류 사항을 반드시 파악해야 합니다. 에디터에서 문제가 없으면 다른 플랫폼에서도 잘 돌아가는 경우가 일반적입니다.
언리얼 엔진 4는 변수 타임 스텝(델타 시간)을 지원하는 크로스 플랫폼 네트워크 게임 엔진이므로, 최신 크로스 플랫폼 멀티플레이어 게임에 주목해야 합니다. 우리는 Xbox 라이브 크로스 플랫폼 매치 매칭을 추가하고, 일부 로드 타임을 작업했으며, 저사양과 최고사양 하드웨어 간에 타이밍 문제를 유발하는 극단적인 프레임 시나리오를 수정했습니다. 언리얼 엔진 4를 사용한 크로스 플랫폼 개발은 기어스 5의 주요 장점 중 하나입니다.

PC 버전에서 방대한 설정 옵션을 구현하는 것은 얼마나 중요한 작업이었나요?
레이너: 언리얼 엔진 4로 플레이어의 하드웨어를 감지하고, 폭넓은 기능과 확장성 설정 중에서 적절한 기본값을 선택해 플레이어가 어떤 하드웨어를 사용하더라도 훌륭한 경험을 할 수 있도록 만들었습니다.
우리는 PC 플레이어들이 높은 프레임, 뛰어난 비주얼 또는 기호에 따라 커스텀한 설정 조합으로 게임을 조정하고 싶으리라 생각합니다. 기어스 5에서 사용자가 조정할 수 있는 설정은 35개가 넘습니다. 사용자가 본인이 어떤 설정을 변경하는지 이해하도록, 각 세팅이 CPU, GPU 그리고 VRAM에 끼치는 영향에 대한 자세한 설명도 추가했습니다. 세팅은 품질 레벨마다 미리보기 이미지로 표현되기 때문에 사용자는 자기가 뭘 바꾸고 있는지도 정확히 알 수 있습니다.
해상도와 프레임 설정도 다양합니다. 해상도, V싱크, 시야(field of view)까지 기대할 수 있는 모든 설정이 있습니다. 게다가 게임과 시네마틱의 최고 프레임을 별도로 관리하는 기능도 추가해서, 사용자가 무제한 프레임으로 게임을 하면서 더 낮은 프레임이지만 세밀한 시네마틱을 즐길 수 있습니다. 여기서 모든 시네마틱은 실시간으로 구현됩니다. 게임을 특정 프레임 또는 그 이상의 프레임에서 동적으로 유지하는 최소 프레임 옵션도 추가했습니다.
펜티: 기어스 5는 특히 기어스 오브 워 4에 비하면 설정의 폭이 넓은 게임입니다. 최고사양 PC에 맞게 확장할 수도 있고, 최저사양 하드웨어에 맞게 축소할 수도 있습니다. 저는 훌륭한 그래픽을 보여주는 울트라 세팅 섀도, 볼륨 포그, 반사가 특히 마음에 듭니다.
개발팀은 언리얼 엔진의 어떤 툴 또는 기능을 가장 선호하셨나요?
펜티: 한 가지 기능을 선택하기는 어렵지만, 템포럴 업스케일이 가장 마음에 들었습니다. 이 기능 덕분에 해상도 스케일을 조정하면서 플레이 중에 프레임이 떨어질 염려 없이 그래픽 품질을 높였습니다. 두 번째는 게임에 대기의 레벨을 추가할 수 있는 볼류메트릭 포그입니다.
마이크 레이너: 리플레이 시스템은 멀티플레이어 서버 전용으로 구현한 킬 캠(Kill Cam)의 기반을 마련했습니다. 엔진에 추가된 강력한 기능인 리플레이 시스템 덕분에, 오랫동안 요청받은 현세대 멀티플레이어 기능을 처음부터 개발하는 경우보다 훨씬 쉽게 기어스 5에 추가할 수 있었습니다.
Gears 5에 대한 자세한 정보가 궁금하시다면 아래를 방문해 주세요: