무엇을 찾고 계신가요?
Case studies

V 라이징: 1,600개의 ECS 시스템을 기반으로 구축된 뱀파이어 영역의 비하인드 스토리

Dec 9, 2024|8:34 분
스턴락 스튜디오의 V Rising - Made with Unity
이 웹페이지는 이해를 돕기 위해 기계 번역으로 제공됩니다. 기계 번역으로 제공되는 콘텐츠에 대한 정확도나 신뢰도는 보장되지 않습니다. 번역된 콘텐츠의 정확도에 관해 의문이 있는 경우 웹페이지의 공식 영어 원문을 참고해 주시기 바랍니다.

스턴락 스튜디오가 어떻게 괴물 같은 오픈월드 뱀파이어 서바이벌 어드벤처를 PC용으로 제작하고 더 많은 플레이어에게 다가갈 수 있었는지, PlayStation®5로 출시하여 알아보세요.

도전 과제:
퍼포먼스가 뛰어난 60인 멀티플레이어 서바이벌 게임 출시
프로젝트 스태프:
~40
플랫폼:
PC 및 PlayStation 5
위치:
스쾨브데, 스웨덴

대규모 멀티플레이어 서바이벌 게임을 제작하려면 어떻게 해야 할까요? V 라이징 는 거대한 오픈 월드에서 플레이어가 뱀파이어가 되는 인기 장르에 불길한 느낌을 더한 게임입니다. 스턴록은 큰 포부를 가지고 있었고 그에 따라 개발 초기에 Unity의 데이터 지향 기술 스택(DOTS)고화질 렌더 파이프라인(HDRP) 을 구현하여 역대 가장 복잡한 게임을 위한 안정적이고 확장 가능한 기반을 구축했습니다.

스턴락은 DOTS를 통해 점점 커지는 프로젝트의 개발을 효과적으로 관리하는 데 필요한 유연한 코드 아키텍처를 확보했고, HDRP를 통해 고딕 분위기를 연출하는 데 필수적인 볼류메트릭 포그와 같은 고퀄리티 비주얼 이펙트를 구현했습니다. 영리한 계획과 적절한 툴을 갖춘 스턴락은 얼리 액세스와 출시에서 극찬을 받은 V Rising을 PC로 출시했고, 비평가들의 극찬을 받은 PlayStation 5 포트로 게임의 수명을 더욱 연장했습니다. 이 게임은 현재까지 5백만 장 이상 판매되었습니다.

뱀파이어가 성에서 안개가 가득한 숲을 바라보는 아이소메트릭 뷰를 보여주는 V 라이징 스크린샷입니다.
스턴락 스튜디오의 V 라이징

결과

  • 5제곱킬로미터가 넘는 광활한 서버 기반 게임 월드를 8개의 독특한 생물군계로 제작했습니다.
  • 160,000개 이상의 인터랙티브한 오브젝트를 실시간으로 스트리밍 및 렌더링합니다.
  • 21,000개의 베이크된 프리팹, 450개의 베이크된 서브씬, 1,600개의 ECS 시스템, 2,700개의 파티클 시스템 관리
  • Unity 프로파일러를 사용하여 최적이 아닌 코드와 불필요한 가비지 생성을 빠르게 식별하여 수백 시간 절약
  • SRP 배처로 수 ms의 프레임 지연 제거
  • 플레이어가 평균 35시간 동안 게임을 플레이하고 현재까지 340만 개 이상의 PlayStation™Network 트로피와 Steam 업적을 달성하는 등 높은 참여도 지표를 기록했습니다.
  • 자동 음성 채팅, 듀얼센스 무선 컨트롤러의 햅틱 피드백, 적응형 트리거, 컨트롤러 사운드 효과, PlayStation™네트워크 트로피 시스템 등 PlayStation 5 전용 기능을 구현했습니다.

게임 세계 살펴보기

스턴록은 V 라이징의배경인 바르도란 대륙을 위해 8개의 서로 다른 생물군이 존재하는 인터랙티브하고 지속적인 세계를 구상했습니다. 각각은 안개에 가려져 낮과 밤을 주기로 실시간 빛과 그림자가 나타나며, 일관된 온라인 게임플레이를 제공하기 위해 런타임에도 성능을 유지해야 합니다. 스튜디오의 공동 창립자이자 시스템 프로그래머인 프레드릭 해럴드슨은 "우리는 모든 것을 제한 없이 Unity로 구현하기로 결정했고, 그 덕분에 꿈에 그리던 뱀파이어 세계를 자유롭게 만들 수 있었습니다."라고 말합니다.

DOTS로 운영 확장

스턴락은 최근 발표된 Unity의 DOTS를 면밀히 주시해 왔으며, 이를 통해 예상했던 많은 성능 문제에 대한 해결책을 제시했습니다. 아직 실험적인 기술이었지만, V 라이징은 개발 초기 단계였고 스턴록의 프로그래머들은 이미 데이터 지향 디자인에 대한 경험이 있었습니다. 기술을 조기에 도입하면 Unity와 더욱 긴밀하게 협력하고 프로덕션 환경에서 DOTS를 테스트하는 대신 프로젝트 지원을 받을 수 있는 기회도 얻을 수 있습니다.

스턴록의 개발자들은 V 라이징의 잠재력에 흥분하여 Unity 2019.3에서 프로젝트의 기술 프레임워크를 만들기 시작했고, 나머지 팀원들은 이전에 배틀라이트를 개발할 때 사용했던 인하우스 엔진을 사용하여 프로토타이핑을 계속 진행하며 개발 흐름을 이어나갔습니다.

성능 저하 요인 제거

DOTS와 ECS를 사용하여 V Rising의프로젝트 아키텍처를 구축하는 데는 시간이 걸렸지만 곧 그 이점이 분명해졌습니다. 스턴락 스튜디오의 공동 창립자이자 기술 디렉터인 라스무스 회크(Rasmus Höök)는 "DOTS를 통해 훨씬 더 많은 콘텐츠를 처리할 수 있는 기반을 구축했고, 스트리밍 개체와 자산을 효과적으로 활용할 수 있었습니다."라고 말합니다. 서브씬과 에셋 스트리밍은 플레이어가 게임 내에서 볼 수 있는 내용에 따라 런타임에 요소를 동적으로 로드 및 언로드하는 데 사용됩니다. 이 기술을 통해 플레이어는 V Rising의방대한 세계를 훨씬 더 실감나게 탐험할 수 있습니다.

ECS로 V 라이징을 구축하면서 서브신 베이킹을 활용하여 게임 콘텐츠를 관리할 수 있었습니다. 엔티티는 Unity의 핵심 씬 시스템과 호환되지 않으므로 Unity 씬에 직접 포함할 수 없습니다. 대신 베이킹을 사용하면 씬에서 엔티티를 로드하여 해당 게임 오브젝트MonoBeaviour 컴포넌트를 런타임에 로드할 수 있는 엔티티 및 ECS 컴포넌트로 변환할 수 있습니다.

보라색 에너지를 쏘는 네 개의 날개를 가진 검은 괴물 '날개 달린 호러'와 싸우는 플레이어의 V Rising 스크린샷입니다.
스턴락 스튜디오의 V 라이징

라스무스는 런타임 데이터와 에디터 데이터를 명확하게 분리하는 것이 DOTS 및 엔티티 작업의 가장 큰 장점 중 하나라고 주장합니다. "에디터에서 작업할 때는 기본적으로 모노비헤이비어가 포함된 표준 게임 오브젝트인 저작 프리팹을 만듭니다. 하지만 이러한 프리팹은 편집 목적으로만 사용되며 게임 자체에 직접 사용되지는 않습니다."라고 설명합니다. "대신 베이킹이라는 프로세스를 거쳐 런타임 컴포넌트로 변환합니다. 제작 프리팹은 에디터에서만 사용되기 때문에 실제 게임을 어지럽힐 염려 없이 워크플로를 개선하기 위해 기능과 데이터를 추가할 수 있습니다."

이러한 방식으로 제작 프리팹을 사용하면 V Rising을 더 쉽게 업데이트할 수 있습니다. 스턴락의 프로그래머는 시스템의 한 요소를 조정하고 아티스트와 디자이너에게 수천 개의 관련 프리팹을 업데이트하도록 요청하는 대신 베이킹 코드만 변경하여 업데이트된 시스템에 필요한 데이터를 가져올 수 있습니다. "이는 유지 관리에도 도움이 되지만 성능에도 분명히 도움이 됩니다."라고 Rasmus는 말합니다. "프리팹에는 런타임 컴포넌트로 변환되지 않는 에디터 전용 데이터가 있을 수 있으므로 모든 오버헤드를 건너뛸 수 있습니다."

대낮에 물 위 다리를 건너는 후드를 쓴 인물의 V 라이징 스크린샷
스턴락 스튜디오의 V 라이징

장애물 극복하기

스턴록이 예상한 대로 실험적인 기술로 작업하는 데는 몇 가지 장애물이 있습니다. "초기에 겪었던 많은 문제는 자초한 것이었습니다. 우리가 만든 많은 엔티티는 너무 크고 구성 요소가 많아서 원하는 만큼 많은 엔티티를 함께 넣을 수 없었습니다."라고 Rasmus는 말합니다. "이 문제를 해결하기 위해 더 작게 만들고 청크 크기를 늘려서 훨씬 개선했습니다. 이미 게임을 만든 상태에서는 경험을 통해 배우는 것 외에는 할 수 있는 일이 많지 않습니다."

DOTS로 작업하는 것은 기존의 Unity 개발 패러다임에서 크게 벗어나고 더 복잡하기 때문에 스턴록은 팀에 서서히 합류했습니다. 프로그래머들은 새로운 저작 프로세스에 익숙해지기 위해 간단한 컴포넌트를 작성하고 코드를 작성하는 작은 작업을 할당받았습니다. 얼마 지나지 않아 C# 잡 시스템과 같은 DOTS 구성 요소와 빌드 도구를 사용하여 개발 속도를 높이고 팀 전체의 품질 보증을 개선했습니다.

"C# 잡 시스템을 사용하여 프로젝트의 메시에서 중복 지오메트리를 스캔하거나 메시의 폴리곤 밀도를 계산하여 서브픽셀 트라이앵글의 양을 줄여야 할 수 있는 에셋을 식별하는 툴을 구축했습니다."라고 테크니컬 아티스트 필리파 아비드손(Filippa Arvidsson)은 설명합니다.

"게임 오브젝트에서 시스템으로 사고방식을 전환하는 초기 어려움을 극복하고 나면 매우 직관적이기 때문에 DOTS의 데이터 지향 접근 방식은 제가 선호하는 새로운 Unity 코드 작업 방식입니다. 물론 성능상의 이점도 큰 장점입니다."

횃불이 비추는 밤의 고딕 성채를 보여주는 V 라이징 스크린샷
스턴락 스튜디오의 V 라이징

기술 수준이 낮은 팀원들을 위해 스턴락은 프로젝트에 더 쉽게 기여할 수 있도록 DOTS 코드베이스 위에 워크플로우를 구현했습니다. 하나의 워크플로를 사용하면 플레이어가 스폰될 때 발생하는 이펙트나 특정 조건이 충족될 때 적용되는 버프와 같이 미리 정의된 이벤트를 생성하고 수신하는 프리팹 컴포넌트를 생성할 수 있습니다. 이 시스템을 사용하면 디자이너는 DOTS에 대한 깊은 기술 지식 없이도 관리하기 쉬운 모듈식 게임플레이 요소를 만들 수 있습니다.

주로 기능 구현을 위해 구축된 두 번째 워크플로에서는 디자이너가 제한된 API를 사용하여 스크립팅 레이어에서 작업합니다. 이를 통해 컴포넌트와 상호 작용하고 다양한 이벤트에 등록할 수 있는 자체 스크립트를 작성하여 제작 속도를 높일 수 있습니다.

관에서 공중부양하는 뱀파이어의 상승 스크린샷, 가슴 위로 팔을 교차한 모습
스턴락 스튜디오의 V 라이징

HDRP로 그래픽과 게임플레이 구현하기

V Rising은 HDRP를 기반으로 제작되어 플레이어 경험을 흥미로운 방식으로 형성하는 고퀄리티 그래픽 기능을 구현했습니다.

"볼류메트릭 포그는 게임에 가장 큰 영향을 미친 비주얼 이펙트입니다."라고 라스무스는 말합니다. "아티스트들이 HDRP를 사용할 것이라는 사실을 알고 스타일을 조정했기 때문에 HDRP가 게임의 전체적인 룩에 영향을 미쳤습니다." 볼류메트릭 포그는 분위기를 조성하고 주문과 능력에 시각적 풍미를 더하는 것 외에도 플레이어가 볼 수 없는 영역을 가리는 가시선 메카닉으로 사용됩니다.

스턴록은 HDRP의 물리 기반 스카이를 사용하여 V 라이징의낮/밤 사이클을 관리하며, 게임 메커니즘을 제대로 구현하는 것이 중요했습니다. 낮에는 플레이어가 햇빛 아래 머무르면 피해를 입기 때문에 어둠 속으로 숨어 이동해야 합니다. 안전 구역과 위험 구역을 명확하게 정의해야 이 메커니즘이 좌절감을 느끼지 않을 수 있었습니다.

"리얼타임 렌더링은 하루 중 다른 시간대 간의 아름다운 전환을 만들 뿐만 아니라 플레이어에게 태양이 어디를 태울지 시각적으로 알려주는 데에도 매우 중요합니다."라고 Filippa는 말합니다. "아티스트가 시간대별로 서로 다른 볼륨 프로파일을 설정하여 서로 다른 영역 간에 원활하게 블렌딩할 수 있는 HDRP는 이 작업에 매우 효과적이었습니다."

자갈길에서 적과 싸우는 뱀파이어가 등장하는 V Rising 스크린샷
스턴락 스튜디오의 V 라이징

스턴록은 HDRP의 스크립트 기능을 최대한 활용하여 수백 가지의 커스텀 시각 효과, 셰이더, 포스트 프로세싱 패스를 제작했습니다. 필리파는 커스텀 포스트 프로세싱 패스로 제작된 카메라에 가까운 오브젝트를 어둡게 만드는 한 가지 효과를 떠올리는데, 이 효과는 게임 전반에 걸쳐 등장하며 V Rising의 분위기를 처음부터 설정하는 데 사용되었습니다.

"예를 들어, 시작 토굴에는 뱀파이어 위에 우뚝 솟은 높은 기둥이 있습니다. 포스트 프로세싱 패스는 카메라에 가까울수록 더 어둡게 보이도록 합니다."라고 그녀는 말합니다. "즉시 매우 불안한 분위기가 조성되어 많은 것을 추가합니다."

험준한 산악 지형과 안개가 가득한 환경을 탐색하는 뱀파이어의 V Rising 스크린샷
스턴락 스튜디오의 V 라이징

또한 스턴록은 HDRP의 소스 코드를 필요에 맞게 커스터마이징하여 중복 기능과 계산을 제거하여 성능을 개선했습니다. 볼륨 프로파일을 확장하여 일반적인 HDRP 효과 이상의 컴포넌트를 구동했습니다. 이를 통해 아티스트나 디자이너처럼 기술 수준이 낮은 게임 개발자도 에디터에서 날씨, 음악, 음향 효과와 같은 요소를 여러 장면에 독립적으로 쉽게 구성할 수 있습니다.

필리파는 "아티스트들에게 이를 노출할 수 있다는 것은 정말 큰 힘이 되었습니다."라고 말합니다. "이렇게 하면 최소한의 기술 지원으로 하루 중 각 시간대에 원하는 대로 각 바이옴을 정확하게 표시할 수 있습니다. 확실히 많은 시간을 절약할 수 있었습니다."

낮에 그림자 속에 숨어 숲을 탐험하는 뱀파이어를 묘사한 V Rising 스크린샷
스턴락 스튜디오의 V 라이징

PlayStation 5에서 새로운 피를 찾다

V Rising은 스턴락의 첫 콘솔 게임으로, 소니의 제안을 받고 새로운 도전과 잠재적으로 수백만 명의 플레이어에게 다가갈 수 있는 기회에 뛰어들어 PlayStation 5로 출시했습니다.

프로그래머들은 ECS 1.0의추가적인 성능 향상을 활용하기 위해 Unity 버전을 업그레이드하는 것부터 시작했습니다. PC 빌드의 메인 스레드가 제한적인 요소였기 때문에 C# 잡 시스템을 사용하여 작업을 다른 스레드로 분산했습니다. 안전한 스케줄링 덕분에 다른 작업을 방해하지 않는 메인 스레드에서 작업을 쉽게 만들 수 있었습니다. "엔티티 1.0 이전에 대부분의 개발을 진행했고, 업그레이드 이후에는 어떤 일이 일어나고 있는지 확인하기 위해 저널링을 많이 사용하고 있는데, 이 역시 매우 유용했습니다."라고 Rasmus는 말합니다.

그래픽 측면에서 필리파는 일괄 처리가 PlayStation 5 렌더링 성능에 큰 영향을 미친다는 점에 주목하여, 서브메시와 다른 머티리얼을 결합하여 드로 콜을 줄일 수 있는 수정된 UDIM 워크플로를 위한 툴을 HDRP에 구축했습니다. "렌더링 데이터를 훨씬 더 효율적인 방식으로 GPU로 전송할 수 있었기 때문에 CPU 측에서 몇 ms의 시간을 절약할 수 있었습니다."라고 그녀는 말합니다.

던전에서 푸른 마법 광선을 발사하는 뱀파이어를 묘사한 V Rising 스크린샷
스턴락 스튜디오의 V 라이징

밤을 지배하다

PC 버전 1.0 출시, PlayStation 5 출시, 그리고 최근 코나미 디지털 엔터테인먼트(KONAMI)의 전설적인 캐슬바니아 프랜차이즈와 파트너십을 맺는 등 V Rising은 계속해서 발전하고 있습니다. 플레이어에게 매력적이고 독특한 경험을 선사하기 위해 새로운 기술을 과감하게 실험한 소규모 팀이 이루어낸 뛰어난 기술적 성과입니다.

스턴록은 DOTS를 통해 성능 문제를 최소화하면서 V 라이징에 '더 많은 것'을 추가할 수 있었고, HDRP를 통해 더욱 몰입감 있고 매력적인 플레이어 경험을 위한 시각 효과를 만들 수 있었습니다. 현재 V Rising은 코드 줄을 기반으로 하는 시장에서 가장 큰 DOTS 기반 게임 중 하나이며, Unity는 제작 과정에서 얻은 인사이트를 활용하여 야심찬 게임을 제작하는 크리에이터에게 더욱 뛰어난 성능과 안정성을 제공하는 에디터를 제공하고 있습니다.

"처음부터 이렇게 역동적이고 파괴 가능한 요소를 많이 넣으려는 의도는 아니었고, 그냥 할 수 있었기 때문에 그렇게 된 것입니다."라고 라스무스는 말합니다. "이는 ECS가 얼마나 우수한지, 그리고 이를 통해 달성할 수 있는 상당한 성능 이점을 입증하는 것입니다. DOTS가 없었다면 오늘날의 V 라이징은 매우 달랐을 것입니다."

레드 카펫을 걸어 왕좌에 오르는 뱀파이어의 모습을 담은 V 라이징 스크린샷
스턴락 스튜디오의 V 라이징

Unity로 야심찬 게임 제작하기

Unity 6의 향상된 렌더링 성능과 빠른 멀티플레이어 반복 작업을 통해 더 많은 기기에서 더 많은 플레이어에게 시각적으로 놀랍고 독특한 게임을 제공할 수 있습니다. 지금 바로 사용해 보거나 Unity Pro로 20개 이상의 플랫폼에서 새로운 잠재고객을 찾아보세요.

©2025 Sony Interactive Entertainment LLC. "PlayStation Family Mark", "PlayStation", "PS5 로고", "PS5", "PS4 로고", "PS4", "PlayStation 모양 로고" 및 "Play Has No Limits"는 Sony Interactive Entertainment Inc의 등록상표 또는 상표입니다.