안녕하세요, 헬다이버스 여러분. 이 글은 엔지니어링 팀이 게임의 기술적 상태와 현재 해결 중인 몇 가지 기술적 과제에 대해 이야기하는 정기 시리즈의 첫 번째 글입니다. 

 

설치 크기 

HELLDIVERS 2의 PC 설치 용량이 현재 뜨거운 감자인 것 같습니다. 먼저, 이 부분부터 살펴보겠습니다. 현재 PC의 설치 용량은 약 150GB입니다. 이는 콘솔에 설치된 동일한 게임의 약 세 배에 달하는 용량입니다! 게임 콘텐츠의 양을 고려하면 콘솔 용량은 꽤 적당해 보입니다. 그런데 왜 PC에서는 이렇게 큰 걸까요? 

 

데이터 복제 

HELLDIVERS 2 PC 버전의 데이터는 대부분 중복됩니다. 로딩 시간을 줄이기 위해 데이터를 복제하는 방식은 게임 개발 기법으로, 주로 오래된 저장 매체, 특히 기계식 하드 디스크 드라이브(HDD)와 DVD와 같은 광 디스크에 맞춰 게임을 최적화하는 데 사용됩니다. 

 

이러한 관행은 SSD(Solid State Drive)에 배포된 게임에서는 대체로 불필요하며, HELLDIVERS 2의 콘솔 버전에서는 이러한 작업을 수행하지 않습니다. 

 

기계식 하드 드라이브의 문제점 

기계식 HDD의 주요 문제는 탐색 시간입니다. HDD는 회전하는 플래터에 데이터를 저장하고, 읽기 헤드가 달린 물리적인 암(arm)이 데이터를 찾고 검색하기 위해 플래터를 가로질러 움직여야 합니다. 이 암이 올바른 위치를 "탐색"하거나 이동하는 데 걸리는 시간은 심각한 성능 병목 현상입니다. 

 

나무, 바위, 건물, 소품 등 다양한 물체가 있는 대규모 게임 레벨을 상상해 보세요. 이러한 물체의 데이터가 하드 드라이브 곳곳에 분산되어 있다면, 읽기 헤드가 디스크를 물리적으로 왔다 갔다 해야 하므로 로딩 시간이 상당히 길어집니다. 

 

해결책: 복제 

이 문제를 해결하기 위해 우리는 의도적으로 특정 데이터 파일(일반적인 나무 질감이나 사운드 효과 등)을 복제하고, 게임에서 필요한 곳에 물리적으로 가까운 곳에 복사본을 배치합니다. 

 

예를 들어, 저희 빌드 시스템은 나무 텍스처의 사본이 레벨 지오메트리 데이터와 동일한 디스크 영역에 저장되도록 보장합니다. 게임이 레벨을 로드할 때, 읽기 헤드는 다른 위치로 "탐색"할 필요 없이 한 번에 필요한 모든 정보에 접근할 수 있습니다. 이를 통해 로딩 시간이 획기적으로 단축됩니다. 

 

현대 시대: SSD 

SSD가 널리 보급되면서 이 기술의 필요성은 거의 사라졌습니다. SSD는 플래시 메모리 칩에 데이터를 저장하며 움직이는 부품이 없습니다. 즉, "탐색 시간"이 사실상 존재하지 않습니다. SSD는 물리적으로 저장된 위치에 관계없이 드라이브의 모든 데이터에 거의 즉시 액세스할 수 있습니다. 

 

최신 게임들은 SSD의 순차 읽기 속도에 최적화되어 기존 방식의 에셋 복제에 의존할 필요가 없어지고 있습니다. 이는 새로운 게임들이 최소 시스템 사양에 SSD를 명시적으로 요구하는 주요 이유 중 하나입니다. 

 

HELLDIVERS 2는 기계식 HDD에 대한 최적화를 계속해야 할까요? 

이것은 600만 달러짜리 질문입니다. 한편으로는 최소 사양 PC 요구 사항의 일부입니다. 다른 한편으로는 - HELLDIVERS 2 플레이어 중 여전히 기계식 HDD를 사용하는 사람이 몇 명일까요? 사실 현재로서는 알 수 없습니다. Steam 사용자 설문 조사조차도 전체 게이머 인구의 기계식 HDD 사용에 대한 데이터를 제공할 수 없습니다. 최선의 추정치는 전체 PC 게이머의 약 12%이지만 데이터는 매우 신뢰할 수 없으며 많은 외삽법에 의존합니다. HELLDIVERS 2가 설치된 기계식 HDD의 수를 더 정확하게 파악할 때까지는 데이터 중복을 줄임으로써 얼마나 많은 플레이어가 영향을 받을지 알기 어렵습니다. 그 수가 적더라도 임무에 투입되는 각 플레이어의 로딩 시간은 분대에서 가장 느린 구성원에 의해 결정된다는 점을 명심하십시오. 

 

솔루션 

영향을 받는 플레이어 수를 더 명확히 파악하기 위한 조치를 취하는 동시에, 여러 가지 해결책을 동시에 적극적으로 모색하고 있으며, 준비되는 대로 향후 업데이트를 통해 배포할 예정입니다. 기계식 HDD의 로딩 시간을 10배 느리게 하지 않고서는 모든 중복을 제거할 수 없으며, 이는 용납할 수 없는 수준이라고 생각합니다. 하지만 로딩 시간을 지나치게 늘리지 않으면서 설치 용량을 줄일 수 있는 몇 가지 절충안이 있습니다. 

 

단기 

다음 업데이트에서는 사용하지 않는 자산과 눈에 띄는 문제를 시스템에서 제거하여 약간의 개선을 이루었지만, 새로 추가된 기능이 이러한 개선 효과를 상쇄할 것이기 때문에 크게 눈에 띄지는 않을 것입니다. 큰 변화는 아니지만, 적어도 설치 용량 증가는 멈출 것입니다. 

 

중기 

다음 업데이트 이후에는 중복이 가장 심한 일부 항목을 "매우 일반적인 자산" 번들에 넣어 중복을 제거하는 방안을 검토하고 있습니다. 이 번들에는 항상 특정 조건(예: 특정 진영/바이옴)에서 로드됩니다. 이는 기계식 HDD를 사용하는 플레이어의 경우 로딩 시간이 다소 길어질 수 있음을 의미하지만, 이는 안타깝지만 불가피한 일입니다. 초기 테스트 결과, 로딩 시간을 "몇 분"이 아닌 "30초 미만"으로 유지할 수 있을 것으로 보입니다. 또한, 항상 필요하지 않은 "일반적인" 데이터를 로드함으로써 게임에서 사용하는 RAM 용량이 증가할 수 있습니다. "최악의 경우" RAM 사용량을 악화시키지 않는다면 눈에 띄지 않을 수 있지만, 현재 모니터링 중인 위험 요소입니다. 신중한 측정 및 분석을 통해 RAM 사용량, 로딩 시간 및 설치 크기 간에 적절한 균형을 찾을 수 있을 것입니다.  

 

장기적으로 

앞으로는 엔진을 개선하여 불필요한 일반 데이터를 로드하는 데 RAM을 낭비하지 않도록 할 계획입니다. 이를 통해 위 기술의 단점 중 하나를 제거할 수 있습니다.  

 

그 외에 남은 작업은 더 크고, 위험하며, 더 예측 가능한 프로젝트입니다. 게임 데이터에 일종의 압축을 적용하고 콘솔에서 수행하는 중복 제거 작업의 일부를 잠재적으로 복제하는 작업입니다. 로드 시간에 미치는 영향으로 인해 이러한 접근 방식이 실행 불가능해질지는 아직 알 수 없습니다. 

 

선택 사항인 4k 텍스처? 

최고 해상도 텍스처를 선택적으로 다운로드할 수 있는 솔루션을 만들 수 있을까요? 기술적으로는 가능합니다. 무엇이든 가능합니다. 하지만 저희 엔진에서 기본적으로 지원되는 기능은 아닙니다. 이 기능을 추가하는 것은 상당한 프로젝트가 될 것입니다. 변경 사항의 범위와 복잡성을 고려할 때, 이는 저희가 가장 우선적으로 고려하는 사항은 아니며, 솔직히 다른 솔루션으로는 충분히 큰 효과를 낼 수 없을 때만 고려할 것입니다. 공짜는 없습니다. 이러한 변경 사항에 투자하는 시간은 게임 성능 최적화나 안정성 문제 해결에 투자하는 시간이 아닙니다. 

 

요약 

요약하자면, 저희는 여러분의 우려를 매우 심각하게 받아들이고 있지만, 쉬운 해결책은 없습니다. 대부분의 PC 플레이어가 SSD 드라이브를 사용하는 세상이 오기 전까지는, 모두가 합리적인 시간 안에 미션에 접속할 수 있도록 약간의 하드 드라이브 여유 공간을 희생하는 것이 불가피합니다. 중복 데이터 허용 한계에 도달했기 때문에, 이제 더 현명한 해결책과 타협이 필요합니다. 저희는 현재 제공되는 옵션들의 비용과 장단점을 신중하게 검토하고 있으며, 곧 로딩 시간과 설치 용량 간의 더 나은 균형을 찾을 수 있도록 노력하겠습니다. 

 

저희 기술에 대한 심층적인 분석이 유익하셨기를 바랍니다. 이 주제에 대해 궁금한 점이 있거나 향후 주제에 대한 제안 사항이 있으시면 이 스레드에 답글을 남겨주세요.