뒤로
Look North World가 포트나이트의 리듬 기반 'Patchwork Parkour'를 제작한 방법
Look North World의 리드 엔지니어 Michael Dekoekkoek
Patchwork Parkour(섬 코드: 1425-4464-4801)는 UGC 게임 스튜디오이자 퍼블리셔인 Look North World와 세계적인 수준의 음악 기반 경험을 개발하는 것으로 유명한 에픽게임즈 소속 팀인 Harmonix Labs가 협력하여 만든 섬입니다.
저희는 함께 게임플레이와 음악의 상호작용성에 크게 중점을 둔 음악 게임을 제작해 패치워크의 한계에 도전하고자 했습니다. 패치워크란 음악과 비주얼을 만들고 조작할 수 있는 포크리와 UEFN용 장치 모음입니다. Patchwork Parkour는 섬을 위한 커스텀 사운드트랙을 만들고 음악을 사용하여 게임플레이를 향상할 수 있는 몇 가지 방법을 조명합니다.
Harmonix는 패치워크 도구를 계속해서 개선하고 확장하고 있으며, Patchwork Parkour 개발 과정에서 커다란 진전을 이뤘습니다.
아래에서 저희의 게임에 사용한 몇 가지 핵심 기능과 개발 과정에서 얻은 중요한 교훈을 소개해 드리겠습니다. 현재의 패치워크 도구에 대한 자세한 내용은 에픽의 패치워크 장치 문서를 참고하세요.
노트 시퀀서를 사용하면 현재 템포에 맞춰 노트를 배치하고 연주할 수 있습니다. 이 장치로 음악을 바로 만들 수는 없지만, 노트 시퀀서의 출력 케이블은 그 외 다양한 장치에 연결할 수 있습니다. 이는 나중에 자세히 설명하겠습니다.
노트 트리거는 선택된 노트가 생성되면 이벤트를 발동합니다. 노트 시퀀서의 출력 체인에 노트 트리거를 배치하면 다른 장치가 이러한 이벤트에 응답하고 트리거된 노트에 따라 액션을 수행하도록 할 수 있습니다. 이것이 Patchwork Parkour에서 사운드트랙에 맞춰 환경 장애물에 애니메이션을 적용하는 주된 방식입니다.
곡 동기화 장치와 더불어 이러한 장치들이 리듬에 기반한 타이밍 게임플레이의 주된 기본 구성 요소입니다. 이 장치들은 그 외 다양한 장치와 조합하여 실제 음악을 만드는 데 사용할 수 있지만, 엄밀히 말하면 리듬 기반 게임플레이를 트리거하기 위해 어떤 사운드도 재생할 필요가 없습니다. 음악 제작 과정에서 다른 패치워크 장치와 직렬 또는 병렬로 실행되어 완전한 사운드트랙을 만들 수 있습니다. 이는 다음 섹션에서 다루겠습니다.
Patchwork Parkour에서는 음악 관리 장치가 매우 중요합니다. 단순하지만 모든 패치워크 장치의 템포를 관리한다는 결정적인 역할을 합니다. 음악 관리 장치에서 템포를 설정하면 배치하는 모든 노트 시퀀서가 해당 템포에 맞춰 재생되도록 할 수 있습니다. 이 기능을 통해 여러 노트 시퀀서를 병렬로, 모두 동기화된 상태로 실행할 수 있습니다.
Patchwork Parkour는 프로토타입 단계에서 주로 기본 도구를 사용했으며, 개발 단계에서 퓨전 패치로 전환하여 동적 오디오는 최대화하는 한편, 맵에 배치해야 하는 장치의 수는 최소화했습니다.
음악적 복잡성과 메모리 사용량 사이의 균형을 맞추기 위해, 퓨전 패치 및 효과를 노트 시퀀서 및 트리거와 병렬로 조합했습니다. 구체적으로는, 노트 시퀀서/트리거 조합(스피커로 출력하지 않음)을 실행 체인 내 별도의 노트 시퀀서 한 개와 그 외 다양한 음악 생성 장치(예: 악기 플레이어, 필터, 모듈레이터, 최종적으로는 스피커)와 함께 배치했습니다.
이러한 방식을 활용한 결과 샘플 내에서 상대적으로 복잡한 음악을 만드는 동시에 게임플레이 애니메이션이 샘플 내에서 재생되는 음악과 정확하게 동기화되도록 할 수 있었습니다.
동기화된 여러 노트 시퀀서를 사용하는 퓨전 패치와 노트 트리거 데모
게임플레이가 음악에 영향을 주는 가장 단순한 형태는 플레이어의 돌연변이 유발 구역 장치 진입/퇴장에 따라 패치워크 장치를 활성화/비활성화하는 것입니다. 이는 저희 게임에서 광범위하게 이루어지며, 꽤나 흔하고 직관적입니다. 더욱 흥미로운 형태로는 패치워크 값 설정기 장치를 사용하는 것이 있습니다. 이 장치를 통해 게임플레이 중에 다른 패치워크 장치를 변경하고, 음악에 원하는 만큼 변경 사항을 적용할 수 있습니다.
다음 동영상은 게임플레이를 통해 음악을 제어하는 값 설정기 사용 예시를 보여줍니다.
동영상 2: 레벨 3가 끝날 무렵 음악이 새로운 믹스로 변경됩니다.
동영상 3: 값 설정기가 믹스를 업데이트하는 데 사용됩니다. 게임플레이 내내 많은 음악적 변화가 일어나지만, 이 동영상에서는 서로 다른 두 가지 음악적 섹션에 초점을 맞춥니다. 두 섹션은 노트 시퀀서의 현재 페이지를 조정하여 전환할 수 있습니다.
동영상 1: 레벨 3가 새로운 믹스로 시작됩니다.
플레이어가 패치워크 장치와 꼭 직접 상호작용하지 않는 경우, 사용 중인 패치워크 장치의 수에 따라 잠재적인 메모리 적중을 줄일 수 있는 몇 가지 방법이 있습니다.
단, 프로덕션 수준의 성능을 위해서라면 다른 애니메이션 형식으로 변환 가능한 모든 것을 변환하는 데 시간을 투자하세요.
저희는 Verse 스크립팅이 저희의 요구 사항에 가장 적합하다는 것을 알았습니다. 시각적으로 보다 복잡한 일부 애니메이션은 레벨 시퀀스에 유지되었지만, 최적의 성능을 위해서라면 해당 애니메이션을 세심하게 관리하는 것이 중요합니다.
리듬 기반 장애물 코스/플랫포머 게임인 Patchwork Parkour에서는 각각 하나 이상의 액터로 구성된 동일한 장애물을 여러 개 사용해야 했습니다. UEFN에서 이는 손쉬운 조작과 복사 및 붙여넣기를 위해 오브젝트를 컴포넌트화하는 데 있어 개발상의 과제가 됩니다. 이 과정을 간소화할 수 있는 몇 가지 팁을 소개합니다.

Patchwork Parkour에서 저희는 어떻게 하면 성능을 최적화하는 동시에 동적인 음악을 매력적인 게임플레이와 어우러지게 할 수 있을지 탐구했습니다. 다양한 도구 활용에서부터 세부적인 메모리 관리에 이르기까지, 모든 의사 결정이 보다 매끄럽고 몰입감 넘치는 경험을 만드는 데 도움을 주었습니다. 자신만의 섬을 개발할 때는 다양하게 실험해 보고, 최적화하고, 즐겨야 한다는 것을 잊지 마세요!
지금 섬 코드 1425-4464-4801을 사용해 게임을 시작해 보세요.
저희는 함께 게임플레이와 음악의 상호작용성에 크게 중점을 둔 음악 게임을 제작해 패치워크의 한계에 도전하고자 했습니다. 패치워크란 음악과 비주얼을 만들고 조작할 수 있는 포크리와 UEFN용 장치 모음입니다. Patchwork Parkour는 섬을 위한 커스텀 사운드트랙을 만들고 음악을 사용하여 게임플레이를 향상할 수 있는 몇 가지 방법을 조명합니다.
Harmonix는 패치워크 도구를 계속해서 개선하고 확장하고 있으며, Patchwork Parkour 개발 과정에서 커다란 진전을 이뤘습니다.
아래에서 저희의 게임에 사용한 몇 가지 핵심 기능과 개발 과정에서 얻은 중요한 교훈을 소개해 드리겠습니다. 현재의 패치워크 도구에 대한 자세한 내용은 에픽의 패치워크 장치 문서를 참고하세요.
리듬 기반 게임플레이 제작하기
주요 구성 요소: 노트 시퀀서, 노트 트리거, 곡 동기화
다수의 게임에서 리듬 기반 게임플레이를 제작하는 데 사용되는 주된 패치워크 구성 요소로는 노트 시퀀서, 노트 트리거, 곡 동기화 장치가 있습니다. Patchwork Parkour에서는 노트 시퀀서와 노트 트리거를 폭넓게 활용했습니다. 곡 동기화 장치는 UEFN 레벨 시퀀스를 오디오와 동기화하기 위한 강력한 도구입니다. 곡 동기화 장치는 개발 도중에 출시되었으므로 이 프로젝트에서 완전히 활용할 수는 없었지만, 향후 사용하는 데 있어 엄청난 잠재력을 보여주었습니다.
노트 시퀀서/노트 트리거 조합이 액터를 Patchwork Parkour의 드럼비트와 동기화하는 데 사용되었습니다.
노트 시퀀서를 사용하면 현재 템포에 맞춰 노트를 배치하고 연주할 수 있습니다. 이 장치로 음악을 바로 만들 수는 없지만, 노트 시퀀서의 출력 케이블은 그 외 다양한 장치에 연결할 수 있습니다. 이는 나중에 자세히 설명하겠습니다.
노트 트리거는 선택된 노트가 생성되면 이벤트를 발동합니다. 노트 시퀀서의 출력 체인에 노트 트리거를 배치하면 다른 장치가 이러한 이벤트에 응답하고 트리거된 노트에 따라 액션을 수행하도록 할 수 있습니다. 이것이 Patchwork Parkour에서 사운드트랙에 맞춰 환경 장애물에 애니메이션을 적용하는 주된 방식입니다.
노트 시퀀서/노트 트리거 조합이 게임 내에서 라이트 애니메이션을 트리거하는 것을 보여주는 동영상
곡 동기화 장치와 더불어 이러한 장치들이 리듬에 기반한 타이밍 게임플레이의 주된 기본 구성 요소입니다. 이 장치들은 그 외 다양한 장치와 조합하여 실제 음악을 만드는 데 사용할 수 있지만, 엄밀히 말하면 리듬 기반 게임플레이를 트리거하기 위해 어떤 사운드도 재생할 필요가 없습니다. 음악 제작 과정에서 다른 패치워크 장치와 직렬 또는 병렬로 실행되어 완전한 사운드트랙을 만들 수 있습니다. 이는 다음 섹션에서 다루겠습니다.
Patchwork Parkour에서는 음악 관리 장치가 매우 중요합니다. 단순하지만 모든 패치워크 장치의 템포를 관리한다는 결정적인 역할을 합니다. 음악 관리 장치에서 템포를 설정하면 배치하는 모든 노트 시퀀서가 해당 템포에 맞춰 재생되도록 할 수 있습니다. 이 기능을 통해 여러 노트 시퀀서를 병렬로, 모두 동기화된 상태로 실행할 수 있습니다.
동적 사운드트랙 제작하기
음악에 초점을 맞춘 게임플레이 경험을 위해 내외부에서 생성된 오디오 조합하기
주요 구성 요소: 퓨전 패치, 악기 플레이어, 효과, 필터, 모듈레이터, 스피커
패치워크는 완전한 음악 경험을 제작할 수 있는 오디오 장치들로 구성된 강력한 도구 모음입니다. 패치워크 기본 악기와 효과를 사용해 전체 사운드트랙을 생성할 수 있으며, 더 흥미로운 점은, 퓨전 패치를 통해 외부 오디오 도구를 사용하여 자체 샘플을 공급할 수도 있다는 것입니다.Patchwork Parkour는 프로토타입 단계에서 주로 기본 도구를 사용했으며, 개발 단계에서 퓨전 패치로 전환하여 동적 오디오는 최대화하는 한편, 맵에 배치해야 하는 장치의 수는 최소화했습니다.
음악적 복잡성과 메모리 사용량 사이의 균형을 맞추기 위해, 퓨전 패치 및 효과를 노트 시퀀서 및 트리거와 병렬로 조합했습니다. 구체적으로는, 노트 시퀀서/트리거 조합(스피커로 출력하지 않음)을 실행 체인 내 별도의 노트 시퀀서 한 개와 그 외 다양한 음악 생성 장치(예: 악기 플레이어, 필터, 모듈레이터, 최종적으로는 스피커)와 함께 배치했습니다.
이러한 방식을 활용한 결과 샘플 내에서 상대적으로 복잡한 음악을 만드는 동시에 게임플레이 애니메이션이 샘플 내에서 재생되는 음악과 정확하게 동기화되도록 할 수 있었습니다.
게임플레이로 음악에 영향 주기
음악 제작 및 게임플레이 메커니즘 향상 툴과 더불어, 패치워크에는 게임플레이가 음악에 영향을 줄 수 있도록 하는 다양한 도구가 있습니다. Patchwork Parkour는 다양한 기술을 사용하여 게임 내 플레이어의 행동과 진행 상황에 따라 음악을 동적으로 업데이트합니다.게임플레이가 음악에 영향을 주는 가장 단순한 형태는 플레이어의 돌연변이 유발 구역 장치 진입/퇴장에 따라 패치워크 장치를 활성화/비활성화하는 것입니다. 이는 저희 게임에서 광범위하게 이루어지며, 꽤나 흔하고 직관적입니다. 더욱 흥미로운 형태로는 패치워크 값 설정기 장치를 사용하는 것이 있습니다. 이 장치를 통해 게임플레이 중에 다른 패치워크 장치를 변경하고, 음악에 원하는 만큼 변경 사항을 적용할 수 있습니다.
다음 동영상은 게임플레이를 통해 음악을 제어하는 값 설정기 사용 예시를 보여줍니다.
동영상 2: 레벨 3가 끝날 무렵 음악이 새로운 믹스로 변경됩니다.
동영상 3: 값 설정기가 믹스를 업데이트하는 데 사용됩니다. 게임플레이 내내 많은 음악적 변화가 일어나지만, 이 동영상에서는 서로 다른 두 가지 음악적 섹션에 초점을 맞춥니다. 두 섹션은 노트 시퀀서의 현재 페이지를 조정하여 전환할 수 있습니다.
학습/개발 팁
주요 구성 요소: 패치워크 메모리 모드, 노트 시퀀서 내 여러 페이지, 퓨전 샘플, 스켈레탈 메시, 액터 바인딩
메모리 관리
패치워크 장치는 게임에서 상당한 양의 메모리를 사용할 수 있습니다. 동적인 음악을 유지하면서 메모리 사용량의 균형을 맞추기 위한 몇 가지 팁을 소개합니다.플레이어가 패치워크 장치와 꼭 직접 상호작용하지 않는 경우, 사용 중인 패치워크 장치의 수에 따라 잠재적인 메모리 적중을 줄일 수 있는 몇 가지 방법이 있습니다.
- 섬 설정에서 패치워크 메모리 모드 설정을 사용하세요. 이 설정은 게임플레이 중에 패치워크 장치에서 사용하는 모든 애니메이션과 다수의 그래픽을 효과적으로 비활성화합니다. 이 기능은 오직 플레이어가 게임플레이 중에 패치워크 장치와 상호작용할 필요가 없는 경우에만 적절합니다.
- 이는 균형을 맞춰 사용할 필요가 있습니다. 패치워크로 음악을 제작 및 통합하는 경우, 완전히 표시되고 상호작용 가능해야 합니다. 하지만 퍼블리싱 중이거나 메모리 테스트 중이라면, 이 기능을 활성화해 메모리 점유율을 크게 줄일 수 있습니다.
- 게임플레이 요구 사항에 따라 값 설정기 장치를 통해 변경할 수 있는 노트 시퀀서 내 여러 페이지를 활용하세요.
- 노트 시퀀서에는 여러 페이지가 있을 수 있으며, 이를 개별적으로 또는 순차적으로 루프할 수 있습니다. Patchwork Parkour는 이 기능을 활용해 게임 내 개별 장치의 수를 줄입니다. 예를 들면, 플레이어 진행 상황에 따라 페이지를 변경할 수 있습니다. 앞서 나온 값 설정기 동영상에서 다른 음악을 재생하기 위해 노트 시퀀서 3페이지에 대해 변경 사항을 트리거했던 것과 마찬가지입니다.
- 퓨전 샘플을 사용하세요. 앞서 언급한 것처럼, Patchwork Parkour는 퓨전 샘플에 크게 의존합니다. 외부 DAW에서 오디오를 제작해 악기 플레이어 장치를 통해 퓨전 패치에서 재생하면, 특정 사운드를 생성하는 데 필요한 개별 장치의 수를 줄일 수 있으므로 메모리 사용량도 줄어듭니다.
시네마틱: 장점과 문제
개발에 들어가면서 레벨 시퀀스와 시네마틱 시퀀스 장치가 성능에 큰 부담을 준 것을 알았지만, 두 장치가 음악과 잘 동기화되는 게임 메커니즘을 빠르게 반복작업하기에 적합하다는 사실 또한 발견했습니다. 프로토타입 제작 단계에서 두 장치로 재미있는 게임플레이 메커니즘을 쉽고 빠르게 만들 수 있으니, 프로토타입 제작/게임 개발 초반에 사용해 보시는 것을 권장합니다.단, 프로덕션 수준의 성능을 위해서라면 다른 애니메이션 형식으로 변환 가능한 모든 것을 변환하는 데 시간을 투자하세요.
저희는 Verse 스크립팅이 저희의 요구 사항에 가장 적합하다는 것을 알았습니다. 시각적으로 보다 복잡한 일부 애니메이션은 레벨 시퀀스에 유지되었지만, 최적의 성능을 위해서라면 해당 애니메이션을 세심하게 관리하는 것이 중요합니다.
- 비트와 동기화된 시네마틱 시퀀스 장치를 재생할 때, 해당 비트에 맞춰 애니메이션을 실행하는 가능한 한 많은 액터를 가능한 한 적은 레벨 시퀀스에 통합하도록 하세요. 이러한 장치는 시작 및 정지 시 상당한 성능 저하를 유발할 수 있습니다. 따라서 동시에 재생되는 레벨 시퀀스의 수를 최소화하면 성능 개선에 도움이 됩니다.
- Patchwork Parkour에서 저희는 구역 기반 애니메이션 활성화/비활성화하는 기능을 만들어 동시에 재생되는 시네마틱의 수를 줄였습니다. 싱글플레이어 게임이므로, 한 번에 재생되는 장치의 수를 세부적으로 관리할 수 있었습니다.
리듬 기반 장애물 코스/플랫포머 게임인 Patchwork Parkour에서는 각각 하나 이상의 액터로 구성된 동일한 장애물을 여러 개 사용해야 했습니다. UEFN에서 이는 손쉬운 조작과 복사 및 붙여넣기를 위해 오브젝트를 컴포넌트화하는 데 있어 개발상의 과제가 됩니다. 이 과정을 간소화할 수 있는 몇 가지 팁을 소개합니다.
- 스켈레탈 메시: 가능한 경우 시네마틱에서 스켈레탈 메시를 사용하지 마세요.
- 저희는 초반에 음악으로 트리거되는 모든 환경 장애물을 스켈레탈 메시와 애니메이션을 사용해 제작했습니다. 여러 장애물을 가지고 작업하기에는 훨씬 수월했습니다. 대부분의 경우 애니메이션을 변경하면 여러 시네마틱의 모든 트랙을 수정할 필요 없이 해당 애니메이션만 업데이트하면 되었기 때문입니다.
- 하지만 UEFN의 현재 상태에서 시네마틱은 스켈레탈 메시가 애니메이션을 틱하도록 하고 모든 프레임에서 본을 새로고침합니다. 설정된 애니메이션이 없는 경우에도 마찬가지입니다. 이는 성능 문제로 이어질 수 있습니다.
- 저희는 초반에 음악으로 트리거되는 모든 환경 장애물을 스켈레탈 메시와 애니메이션을 사용해 제작했습니다. 여러 장애물을 가지고 작업하기에는 훨씬 수월했습니다. 대부분의 경우 애니메이션을 변경하면 여러 시네마틱의 모든 트랙을 수정할 필요 없이 해당 애니메이션만 업데이트하면 되었기 때문입니다.
- 액터 및 트랙: 시네마틱 사용 시 성능을 최적화하려면 각 트랜스폼 트랙에 하나의 액터만 바인딩하는 것이 가장 좋습니다. 이 방식을 활용하면 로딩이 보다 원활해지며, 시네마틱이 하위 오브젝트를 처리하는 방식으로 인해 발생하는 잠재적 성능 문제가 최소화됩니다.
- 다수의 액터가 단일 트랙에 바인딩되어 있는 경우, 노란색 이중 화살표 아이콘이 트랙에 나타납니다. 최적의 성능을 유지하려면 이 아이콘을 표시되는지 잘 살펴보고 가급적 표시되지 않도록 하세요.

- 또한 시퀀스에서 액터를 분리해 두는 것도 좋은 방법입니다. 트랜스폼 트랙을 쉽고 빠르게 복사하여 붙여넣을 수 있으므로, 동일한 애니메이션을 재생하는 다수의 액터가 있는 경우 트랜스폼 트랙을 각 액터에 단순히 복사하기만 하면 애니메이션이 동기화됩니다.

Patchwork Parkour에서 저희는 어떻게 하면 성능을 최적화하는 동시에 동적인 음악을 매력적인 게임플레이와 어우러지게 할 수 있을지 탐구했습니다. 다양한 도구 활용에서부터 세부적인 메모리 관리에 이르기까지, 모든 의사 결정이 보다 매끄럽고 몰입감 넘치는 경험을 만드는 데 도움을 주었습니다. 자신만의 섬을 개발할 때는 다양하게 실험해 보고, 최적화하고, 즐겨야 한다는 것을 잊지 마세요!
지금 섬 코드 1425-4464-4801을 사용해 게임을 시작해 보세요.