Behind the Sound of Headbangers: Rhythm Royale | Bringing the Pigeon Rhythm Game to Life

게임 오디오

Headbangers: Rhythm Royale is the world's first competitive online music game. It pits you against 29 other players in intense musical and rhythmic battles. The challenges involved in creating this game were enormous. In this article, I'll explain some of them and show you how we managed to get around some of the limitations.


Online synchronization

The way we synchronize our 30 online players in Headbangers is unique. The game is not based on the characters' movements in space or their actions, but on their responses to musical events. We therefore decided to synchronize the client and the server to the music and its progress. 

Since time and validation are managed by the server, we can detect whether a player is out of sync with the network time. Above a 100 ms time lag, the player will be resynchronized, which in practice means that the playback head will move in the music to synchronize the player at the right moment. Thanks to extensive network optimization, we were able to ensure that these resynchronizations were extremely rare. 

When it came to implementing all this in Wwise, we were faced with a real challenge: Wwise is not designed for the method we wanted to apply. There's no simple way of moving the playback head of music and sounds forwards or backwards according to network time instructions.

We came up with a (largely random) trick: using the transition system to create specific rules. We noticed that by creating an immediate, fade-free transition from a song to itself in the Transitions tab of a Switch Container, we could now move the playback head as we wished. 

img1

This method was quite cumbersome to apply to the whole game. Headbangers contains thousands of musical segments (over 50 hours of music), and this procedure had to be applied to every musical segment in the game. Which brings me to my next point. 

SoundBank management and optimization

The sheer quantity of sounds and music contained in Wwise (tens of thousands in total) makes it certainly one of the most voluminous games in terms of sound content in the history of video games. With the game being released on all consoles and the PC, managing memory and SoundBanks (especially for the Switch) was a real challenge. 

My advice is to anticipate these issues as far in advance as possible. On my end, I had to deal with this concern late in the development process, which forced me to completely rework my architecture. 

There are 23 mini-games in Headbangers. In the end, we decided to divide the game into 24 SoundBanks: one SoundBank per mini-game and one general SoundBank, containing sounds common to all mini-games, as well as menu sounds and music. The decision to distribute sounds between these SoundBanks is a key element in memory management. We therefore had to think long and hard about the use and place of each sound in the game to optimize all this. 

In the same spirit of saving space and memory, we also had to optimize conversion. We therefore created several conversion parameters in Wwise, some of which are only used on certain platforms such as the Switch. So, by converting all sound effects to ADPCM on this console, we were able to save a great deal of space with very little loss of quality, while maintaining a more optimal result for music (the key element of the game) in Vorbis.

img2

Synchronize audio feedback with player actions

Most games accept a certain latency between the moment the player presses a button and the sound feedback of the action. In Headbangers, it was impossible to be satisfied with this latency. Indeed, for a musical game, if the time lag between the button press and the sound feedback is significant, the player's entire perception is blurred. 

We therefore decided to apply streaming parameters to certain sounds directly linked to gameplay. Defining that a sound will be streamed means that it can be called up more quickly, thus reducing audio latency. The key is then to set the Prefetch length for each sound, to avoid source starvation effects or untimely audio cuts. 

img3

In one of our mini-games, Piano Mezzo Forte, our pigeon has to sing over background music. So we created an event for each note in each nuance (Piano, Mezzo, and Forte) and set their Prefetch length according to their characteristics and durations. Even if the end result was totally ridiculous (that’s what we wanted), this near-perfect synchronization was very important, as you can see in the video below. 


Dynamic menu music

What I particularly like about Wwise is how easy it is to create dynamic music.

Even though Headbangers wasn't the game that needed most in this respect (it's a very scripted game), I had a lot of fun creating dynamic, ever-changing music in the menus, which is always appreciated by players.

Our main menu is made up of several tabs, each representing a different menu in the game: Home, Progress, Challenges, Customization, Shop, Options (see video below). 


The process for creating this dynamic music effect is simple. I created one tune per menu, with the constraint that all these tunes have the same tempo, duration and harmonic progression. Then simply use Wwise transitions to create an immediate "Same time as playing segment" transition rule, and you can move from a point in one piece to that same point in another piece smoothly and efficiently. 

img4

It's all very simple and quick to set up, and the effect is always satisfying. Wwise really helped us meet a lot of the challenges on Headbangers, and we consider it to be a really reliable and robust audio engine, yet accessible and intelligent enough for composers or sound designers. 

Charles Bardin

Director and Co-founder

Glee-Cheese Studio

Charles Bardin

Director and Co-founder

Glee-Cheese Studio

Charles Bardin is the director and co-founder of French video game studio Glee-Cheese Studio. For over 10 years, he has been creating sound worlds for a wide variety of independent games, including Stellar Overload, Overloop, A Musical Story, and the very recent Headbangers: Rhythm Royale.

 @GleeCheese

댓글

댓글 달기

이메일 주소는 공개되지 않습니다.

다른 글

UI 설계 관점에서 UI 오디오 접근하기 - 제 2부

이 글에서는 UI 디자이너*의 관점에서 UI 오디오에 접근하는 방식을 보여드리려고 합니다. 이를 통해 심미적으로나 기능적으로 화합적인 UI를 제작하는 데에 도움이 되었으면 합니다....

20.10.2020 - 작성자: 조셉 마척(JOSEPH MARCHUK)

게임 오디오 직업 스킬 - 게임 사운드 디자이너로 고용되는 법

20.1.2021 - 작성자: 브라이언 슈밋(BRIAN SCHMIDT)

새로운 Impacter 플러그인 알아보기

개요 Impacter(임팩터)는 기존의 SoundSeed Impact 플러그인을 영감으로 하는 새로운 음원 플러그인입니다. 이 플러그인은 '타격음' 사운드 파일을 저작 도구로...

20.5.2021 - 작성자: 라이언 돈 (RYAN DONE)

텔 미 와이(Tell Me Why) | 오디오 다이어리 제 1부: 환경음과 보이스오버

'텔 미 와이(Tell Me Why)'는 DONTNOD(돈노드)가 개발하고 Xbox Games Studios(엑스박스 게임 스튜디오)가 출판한 싱글 플레이어 서사적 어드벤처...

4.5.2022 - 작성자: 루이 마르탱 (Louis Martin)

Strata, Wwise, Unreal을 결합해 몰입형 게임 환경 만들기

이 블로그에서는 Wwise가 통합된 Unreal Engine 5 프로젝트의 멀티트랙 컬렉션 중 하나를 사용하여 Strata를 이용한 상호작용 디자인 과정을 살펴보겠습니다.이...

16.5.2023 - 작성자: 체이스 스틸(Chase Steele)

무료 Wwise 인디 라이선스 | 최상의 오디오로 인디 개발자에게 힘을 실어줍니다

프로젝트의 비전에 맞는 몰입형 오디오 경험을 만드는 것은 특히 예산이 제한된 인디 개발자에게는 어려울 수 있습니다. 바로 이를 위해 Audiokinetic의 Wwise는 인디...

18.7.2024 - 작성자: Audiokinetic (오디오키네틱)

다른 글

UI 설계 관점에서 UI 오디오 접근하기 - 제 2부

이 글에서는 UI 디자이너*의 관점에서 UI 오디오에 접근하는 방식을 보여드리려고 합니다. 이를 통해 심미적으로나 기능적으로 화합적인 UI를 제작하는 데에 도움이 되었으면 합니다....

게임 오디오 직업 스킬 - 게임 사운드 디자이너로 고용되는 법

새로운 Impacter 플러그인 알아보기

개요 Impacter(임팩터)는 기존의 SoundSeed Impact 플러그인을 영감으로 하는 새로운 음원 플러그인입니다. 이 플러그인은 '타격음' 사운드 파일을 저작 도구로...