작성자: Aurel Cordonnier, Kavita Chodavarapu
포트나이트 개발자 여러분, 안녕하세요.
에픽은 작년 UEFN의 안정성과 반복작업 속도를 개선하겠다는 약속https://www.youtube.com/watch?v=M1F5CimXO_8&t=2492s 을 드린 바 있습니다. 저희 목표는 6월까지(더 늦춰질 수도 있습니다. 그렇게 된다면 약속 기한은 늦어지지만, 더 많은 것을 제공해 드릴 계획입니다) 반복작업 시간을 50% 줄이는 것입니다. 본 게시물에서는 출시 안정성을 다루기 위한 내부 테스트와 QA 절차의 변경 사항과, 반복작업 시간 개선을 위해 앞으로 몇 달 동안 도입할 초기 업데이트 모음을 소개합니다.
출시 안정성 및 테스트
가장 중요한 요소, 즉 높은 참여도와 지속성에 집중하기 위해 테스트 방식을 바꾸었습니다. 이제 테스트 범위에 보다 손실이 쉬운 추가 개발자 콘텐츠가 포함됩니다. 결과적으로 개발자 경험에 영향을 주는 치명적인 결함을 보다 미리 파악할 수 있게 됩니다.
24시간 분류 후 에스컬레이션하는 절차 또한 구현되었습니다. 문제가 발견되면 전례 없는 속도로 빠르게 처리할 수 있게 되었다는 의미입니다. 또한 이제 에픽은 6개의 복잡한 개발자 섬을 주 2회 테스트하여 가동 시간, 로드 시간, 미니게임 작동 등 핵심 퍼포먼스 벤치마크를 추적하여 모든 손실을 즉각적으로 에스컬레이션합니다.
지금까지의 결과는 대단히 고무적입니다. 39.30 출시 버전에서 결함의 출시는 57% 방지되었고, 39.40 및 39.50 출시 버전에서는 개발자 콘텐츠 또는 지속성과 관련된 치명적인 결함은 단 0개였습니다. 보다 빠른 분류 작업과 확대된 테스트 범위의 직접적인 결과라고 할 수 있겠습니다. 도피율(라이브 출시 버전까지 발견되지 않은 결함) 또한 극적으로 감소하여, 39.11에서는 18.5, 39.40에서는 4.7%에 불과했습니다.
내부 지표는 전체적인 상황의 일부만을 나타낸다는 점을 잘 알고 있으며, 이에 커뮤니티 팀과 협력하여 월간 안정성 설문조사를 출범해 개발자의 직접적인 의견을 듣고 확실한 변화를 제공할 수 있도록 할 것입니다. 이 피드백을 통해 안정성 개선에 집중해야 할 부분을 알 수 있습니다.
안정성 및 에셋 관리 툴
확장된 내부 QA 절차와 함께, 충돌이나 지연 발생 전 프로젝트의 오류를 식별 및 수정하는 데 도움이 되는 신규 툴과 워크플로도 추가됩니다.
- 에셋 상태 툴: 신규 차후 임포트 모니터링, 보고, 플랫폼별 메모리 한계치를 사용해 반복작업할 때 발생하는 에셋 유효성 검사 문제 및 ‘메모리 부족’ 오류를 해결합니다.
- 공간 프로파일러 업데이트: UEFN에서 프로파일링 기능이 확장되어, 이제 대용량 에셋을 플랫폼 간에서 쉽게 파악할 수 있습니다. 여기에는 신규 직접 메모리 계산 결과와 신규 UObject 포함 라이브 에셋 뷰Objects in Unreal Engine | Unreal Engine 5.7 Documentation | Epic Developer Community 분석이 포함됩니다.
쿠커 최적화
플레이 세션을 위해 섬을 빠르게 준비할 수 있도록 하고 반복작업 시간을 개선하기 위해, UEFN 쿠킹 파이프라인이 보다 효율적으로 리팩터링됩니다. '쿠킹’https://dev.epicgames.com/documentation/ko-kr/fortnite/cook이란 원본 에셋을 최적화되고 클라이언트에서 사용 가능한 에셋으로 변환해, 콘텐츠가 보다 빠르게 로드되고 렌더링되도록 하는 과정입니다.
이는 UEFN의 백엔드 인프라에 대한 내부적 개선이므로, 워크플로를 별도로 변경하실 필요는 없습니다.
- Zen DDC(파생 데이터 캐시 - Using Derived Data Cache in Unreal Engine | Unreal Engine 5.7 Documentation | Epic Developer Community 최신 Zen 서버 시스템을 UEFN 백엔드에 배포하고 쿠킹된 스냅샷을 도입해 쿠킹 과정의 효율성을 향상함으로써 ‘클라이언트상 플레이’ 반복 루프를 줄이고자 합니다.
- 점진적 쿠킹: 미변경 데이터를 다시 처리하는 대신 프로젝트에서 푸시된 필수 에셋 델타(변경 사항)만을 쿠킹하는 시스템이 추가됩니다.
- 분산 셰이더 컴필레이션: 전체 로드가 있는 로컬 머신이 아닌 클라우드에 셰이더 컴필레이션이 분산되어 컴파일 시간이 단축됩니다.
라이브 편집 개선 사항
라이브 편집을 확장해 라이브 편집 세션 중 추가 에셋 유형과, 실행 중인 세션 편집을 위한 신규 에디터 내 워크플로를 활용하여 반복작업할 수 있는 새로운 방법이 추가됩니다.
- 확장된 에셋 유형 지원: 라이브 편집 세션에서 바로 더욱 많은 에셋 유형을 수정하여, 변경 사항을 푸시해야 하는 횟수가 줄어듭니다. 예: 사운드 버스, 레벨 시퀀스 등
- 게임 모드 도중 라이브 편집: 라이브 편집 중 게임 모드가 진행되는 중, UEFN 에디터의 하위 편집 세트가 변경 사항을 푸시하고 게임을 중단할 필요 없이 적용됩니다. 예를 들어, 장애물 코스 건설 시 오브젝트를 변형하고 위치를 조정할 수 있습니다.
- 편집 내역 패널: 세션에 구현된 변경 사항과 아직 변경 사항 푸시가 필요한 편집 내역이 표시됩니다. 이 패널은 세션 실행 중 편집 모드와 게임 모드 중 작동합니다.
이러한 업데이트 내용은 포트나이트 개발자 로드맵Trello 확인하실 수 있습니다. UEFN의 안정성과 반복작업 시간 개선을 위한 지속적인 노력에 대한 업데이트 공유 시, 이 스레드에서도 확인이 가능합니다.