PATCH STRATEGY

Unreal Pak Chunk 버전 전략

게임 업데이트는 새 실행 파일을 올리는 일만으로 끝나지 않는다. Pak/IoStore chunk, asset registry, manifest, save data version, hotfix data가 서로 맞지 않으면 다운로드는 성공해도 로딩과 재접속에서 깨진다.

01

변경 분류

코드, asset, 밸런스 데이터, save schema 중 무엇이 바뀌는지 나눈다.

변경 종류마다 배포와 롤백 난이도가 다르다
02

Chunk 설계

기본 실행에 필요한 asset과 선택 다운로드 asset을 chunk로 분리한다.

첫 실행 경로에 필요한 파일은 늦게 받으면 안 된다
03

매니페스트 갱신

클라이언트가 어떤 버전의 pak과 asset registry를 읽어야 하는지 명확히 한다.

목록과 파일이 어긋나면 로드 실패가 난다
04

호환성 처리

save game, network protocol, data table 변경에 version gate와 migration을 둔다.

이전 세이브가 열리는지 꼭 확인한다
05

롤백 준비

이전 pak 세트와 manifest를 보존하고 hotfix 데이터만 되돌릴 수 있는 범위를 정한다.

부분 롤백은 더 큰 불일치를 만들 수 있다
Pak/Chunk
콘텐츠 묶음 필수 asset과 선택 asset의 다운로드 순서를 나눈다.
chunk 누락은 특정 레벨에서만 터진다
Manifest
버전 목록 클라이언트가 파일 세트와 해시를 정확히 검증하게 한다.
캐시된 manifest가 오래 남지 않게 한다
Save
데이터 호환 새 버전이 옛 저장 파일을 읽거나 안전하게 마이그레이션해야 한다.
되돌릴 수 없는 저장 변경은 신중히 낸다
Hotfix
작은 데이터 수정 밸런스나 설정만 바꾸는 경로와 코드 패치를 분리한다.
데이터 구조 변경은 hotfix 범위를 넘을 수 있다

배포 확인

업데이트 경로 이전 버전에서 최신 버전으로 올리는 실제 사용자 경로를 테스트한다.
부분 다운로드 필수 chunk만 받은 상태에서 메뉴와 첫 플레이가 가능한지 확인한다.
롤백 리허설 manifest와 pak 세트를 함께 되돌렸을 때 저장 파일이 안전한지 본다.