네이티브 렌더러 기반 재컴파일
Xbox 360 Skate 3의 네이티브 리컴파일
TL;DR
Skate 3 Recomp는 Xbox 360용 Skate 3을 입력으로 받아 Windows, Linux, macOS에서 네이티브로 구동하도록 재컴파일하는 프로젝트입니다. v2.0.0부터 Direct3D 12와 Vulkan 기반의 네이티브 렌더러를 사용해 에뮬레이션보다 프레임레이트가 2배 이상 높아지고 GPU 전력은 약 1/4 수준으로 낮아진다고 명시되어 있으며 Apple Silicon에서는 프레임레이트가 약 10배까지 개선되는 사례가 보고되어 있습니다. 빌드에는 원본 게임 덤프와(선택적으로) 타이틀 업데이트 패키지가 필요하고, Clang/Ninja/CMake 기반의 코드생성 및 빌드 흐름을 따라야 하므로 소스 빌드를 시도하려면 툴체인 준비와 법적 게임 파일 확보가 선행되어야 합니다.
해결 문제
에뮬레이션 기반 실행이 유발하는 높은 GPU 부하와 낮은 프레임레이트, 플랫폼별 비효율을 줄여 동일한 게임 코드를 네이티브 렌더러로 구동해 성능과 전력 효율을 개선합니다. 또한 원본 셰이더·머티리얼을 재활용해 콘솔과 가까운 비주얼을 유지하면서도 울트라와이드 등 PC 플랫폼용 기능을 추가할 수 있게 합니다. 결과적으로 모던 하드웨어에서 더 높은 프레임레이트와 낮은 전력으로 플레이 경험을 개선합니다.
주요 기능
- Direct3D 12와 Vulkan 기반 네이티브 렌더러로 콘솔 셰이더/머티리얼을 그대로 사용해 시각적 유사성을 유지합니다.
- Windows 빌드에선 DirectX12/Vulkan 선택 가능, Linux는 Vulkan, macOS는 MoltenVK를 통해 Vulkan을 사용합니다.
- 네이티브 렌더러 활성화 상태에서 MSAA 최대 8x, 접촉 경화형 소프트 섀도우, AO, 볼류메트릭 라이트, 렌더 스케일 3x, 진짜 울트라와이드 같은 향상 옵션을 제공합니다.
차별점
- 콘솔 셰이더를 포팅해 비주얼 동등성을 유지하면서도 네이티브 API로 직접 렌더링하는 점.
- ReXGlue 서브모듈을 활용한 런타임/코드생성 통합으로 게임 로직과 타이밍을 호환시키는 점.
- Windows 빌드에서 Direct3D12와 Vulkan을 동시에 제공해 그래픽 API 선택이 가능하다는 점.
- 빌드 산출물에 미리 컴파일된 SPIR‑V 셰이더를 포함해 별도 셰이더 툴체인이 없어도 빌드가 가능하다는 점.
어떻게 동작하는가
프로젝트는 Xbox 360용 Skate 3 바이너리와 리소스 덤프를 입력으로 받아 코드생성 단계에서 네이티브 소스 리스트와 인터페이스를 생성하고, Clang/Ninja/CMake 체인으로 플랫폼별 실행 파일을 빌드합니다. 런타임은 서브모듈로 포함된 ReXGlue SDK를 사용해 게임 루프·입력·타이밍을 처리하고, 렌더러는 콘솔 셰이더를 HLSL로 포팅해 Direct3D 12 또는 Vulkan 경로로 직접 드로우를 수행합니다. 네이티브 렌더러는 에뮬레이션을 우회해 프레임레이트를 v2.0.0 기준으로 에뮬레이티드 렌더러보다 2배 이상 높이고 GPU 전력 소비는 약 1/4 수준으로 낮추며, Apple Silicon에서는 프레임레이트가 약 10배까지 개선되는 것으로 표기되어 있습니다.
사용 사례
- 법적으로 보유한 Xbox 360 원본으로 PC/macOS/Linux에서 Skate 3을 더 높은 성능으로 플레이하려는 개인 사용자.
- 게임 리버스엔지니어링이나 플랫폼 이식 사례 연구를 위해 네이티브 재컴파일 파이프라인을 분석하려는 개발자.
- 울트라와이드, 고해상도 렌더링 같은 PC 특화 기능을 테스트하거나 커스텀 빌드를 제작하려는 모더.
시작하기
릴리스에서 플랫폼별 빌드(Windows, Linux, macOS)를 내려받아 압축을 풀고 실행 파일을 실행해 ISO를 지정하면 게임 파일을 추출해 바로 실행할 수 있습니다. 소스에서 빌드하려면 리포지토리를 서브모듈과 함께 재귀 복제한 뒤 SKATE3_GAME_DATA_ROOT에 게임 덤프를 놓고 CMake 프리셋(relwithdebinfo 또는 플랫폼별 release)을 사용해 generate-all 단계를 먼저 실행한 다음 전체 빌드를 수행해야 합니다. macOS는 MoltenVK 및 Homebrew LLVM, Linux는 Clang 20 권장 등 플랫폼별 툴체인을 미리 준비해야 합니다.
요구사항
- CMake 3.25 이상, Ninja 빌드 시스템
- Clang 18 이상(프로젝트는 ReXGlue 코드생성 때문에 Clang 필요; Ubuntu 권장 Clang 20)
- Vulkan 개발 헤더와 드라이버, macOS는 MoltenVK 설치
- 원본 Xbox 360 Skate 3 게임 덤프( default.xex 등 )와 Title Update 패키지(선택적으로 TU_12K2276_000000C000000.00000000000O3)
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| Frame rate uplift | frame rate | 2x+ | vs emulated renderer; GPU power draw ≈ 25% of emulated |
| Apple Silicon uplift | frame rate | ≈10x | vs emulated renderer on Apple Silicon |
이미지 분석

1k
Stars
29
Forks
+208
Trending
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.