Wayward Strand's Voiceover Pipeline | Part 3

게임 오디오

This article is part 3 of Maize's 3-part series on the voiceover pipeline of Wayward Strand. You can read the first part here, and the second part here.

Playing the wavs through Wwise:

In some ways, this was quite straightforward, because Wwise has a great implementation for playing external audio files, and once we’d figured out how to do this once with Unity’s Wwise plugin, it would work across all of the lines across all scenes. The trickiest thing here was figuring out how to organise the wavs inside the subfolders.

We ended up going for a folder structure of: <day>/<scenename>/<files, named 01.wav through 999.wav> - we could then figure out the path of a particular wav in a particular scene by knowing the day the scene was in, the scene name, and the special number that we had defined for the recordings for that line. An additional wrinkle was that we had a special folder for ‘shared’ scenes for characters, which required a different folder structure - this one was shared/<character>/<scenename>/<01.wav-999.wav> - so if it was in the ‘shared’ folder, it used that structure, otherwise it used the general day structure.

That special number mentioned just a sequential line index within the scene, but one that we ‘fixed in place’ before printing scripts out/recording sessions, so that if a scene had additional edits or structural changes after recording, the index wouldn’t change even if the scene did. Edits post-recording happened surprisingly often! Whether it was that a scene had logical issues that were only perceptible when QA testing with the VO in there, or line-reads that weren’t exactly right and could be cut without breaking the flow of the scene, or sneaky additions where lines from a few different scenes could be used to create an entirely new scene. Fixing the numbers in place turned out to be an incredibly useful approach that meant we could be fixing bugs and improving scenes after the VO was recorded, right up until release.

Bugs:

So what VO bugs can there be?

Wrong line or take

To fix this, I would open the relevant notation sheet, and Pro Tools file, and go digging for the correct line. This would need to be re-edited through the Pro Tools and RX presents. Sometimes the notation was the source of the mistake, and the described line didn’t exist. There’s so much to concentrate on during recording, things get missed!

Line not sliced correctly, leading to scene going out of sync

Woops! A line of dialogue wasn’t sliced properly, so now every line after it has the wrong number, and the characters are saying each other's words! Jason made a tool that scraped through all the scenes, and see if there was more or less wav files in their folders, than was expected. So I was able to go through these pretty systematically, and fix them. But, sometimes the scene would sync up again by the end, because of an additional miss-slice, and so the scene would be found through manual QA, and not any of our automated tools.

The first step is always to open the notation sheets, and check there first. They’re the source of truth! But, I didn’t always then have to open Pro Tools. I got to the point where if all the right words were there, just not in the right clips, I’d skip Pro Tools and use Audacity to slice/combine instead.

Words missed

When you don’t speak Danish, and when you’re slicing through 100 lines a minute, it’s easy to miss-slice. Or it could be because a character was coughing, speaking gibberish, or making some other nonsensical sounds that were mistaken for dialogue. This would lead me back into Pro Tools, to go looking for where this missing word went. OR, in the case where a word was never said, I would either look through the scripts to find another instance of that word, or I’d go into the Ink/script file in the game and change the line there.

So, the tools I was using to fix VO bugs were:

  • Our notation spreadsheets
  • Pro Tools sessions
  • Audacity for simple stuff
  • Ink for script fixes

We didn’t have many bugs! In fact the person who made the most mistakes in the editing process was me, Maize! Look, we all have our specialties... I had some stats on what percentage of scenes had bugs. I think out of the hundreds of scenes, maybe 5% of them had some small fix needed? Thankfully we had budgeted for implementation time, which ended up being half automated, so I was able to pivot to bugs which we hadn’t predicted.

The End

The end of the process was scene direction. Jason, as well as Aspen Forster, Susan Dang, and Marigold Barlet would do scene direction using the timeline feature of Unity, as well as a totally custom suite of tools made by Jason, with assistance from Russell Dilley and Thomas Ingram. This was an additional place where VO bugs could be found, for me to fix. As well as any extra pieces of audio cues that may have been missed, and had to quickly be made and implemented.

In the end, recording and getting the VO into the game, was a massive team effort. I just have to remind myself that it IS the equivalent of 18 feature films! Massive!

Maize Wallin

Composer, Sound Designer and Audio Programmer

Maize Wallin

Composer, Sound Designer and Audio Programmer

Victorian College of the Arts (BFA) educated, Melbourne based composer, sound designer, and audio programmer working across indie games and big budget AAA. ​Their focus is in 3D spatialised audio, and dynamic music, using cutting edge techniques to create unique outcomes. Maize lectures consults in Australia and around the world on these topics, and is strongly engaged in the game development community, and in activism and representation within it. Highlights from Maize's extensive folio include God Fall, Receiver 2, Wayward Strand, and Cosmic Express, as well as their solo experimental audio game works.

maizewallin.com

 @MaizeWallin

댓글

댓글 달기

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


다른 글

Wwise를 사용한 반복 재생 기반 자동차 엔진음 디자인 | 제 2부

다시 뵙게 되어 반갑습니다! 이 시리즈에서는 Wwise에서의 간단한 반복 재생 기반 자동차 엔진을 구성 및 설계를 함께 살펴보게 됩니다. 디자인을 제어하기 위해 필요한 엔진 매개...

9.5.2023 - 작성자: 아르토 코이비스토 (Arto Koivisto)

UE5와 C++를 활용한 WAAPI 입문

이 글에는 Unreal에서 WAAPI를 사용하는 데 필요한 모든 정보가 담겨 있습니다. 이 글의 대부분은 Audiokinetic 문서, Wwise 업 온 에어 영상, AK 블로그에...

11.6.2025 - 작성자: 하비에르 주머(Javier Zumer)

Wwise Time Stretch 플러그인을 활용한 인게임 시네마틱 제어

소개 이 글은 제이터 (루오하오) 쉬(Jater (Ruohao) Xu)가 역붕괴: 베이커리 작전(Reverse Collapse: Code Name Bakery)에서 진행한 작업을...

9.7.2025 - 작성자: Ruohao (Jater) Xu (루오하오 (제이터) 쉬)

'궨트: 더 위쳐 카드게임'과 '궨트: 방랑 마법사' | 동시에 두 개의 게임을 작업하는 방법

소개 안녕하세요! 우선, 궨트(GWENT) 와 방랑 마법사(Rogue Mage)의 세계로 들어가기 전에 우리가 누구이며 CD PROJEKT RED에서 어떤 경험을 쌓아왔는지 간단히...

8.10.2025 - 작성자: 마테우시 쉬만스키(Mateusz Szymański)

네바(Neva)의 사운드

이 글은 원래 루벤(Rubén)이 Medium에 게시한 글이며, 그의 다른 글들은 여기에서 확인할 수 있습니다....

12.11.2025 - 작성자: 루벤 린콘(Rubén Rincón)

'언패킹(Unpacking)', Foley 사운드의 탄생 비화

언패킹(Unpacking)은 상자에서 물건을 꺼내 새 집에 들여놓는 익숙한 경험을 소재로 한 게임입니다. 블록 맞추기 퍼즐과 집 꾸미기를 동시에 즐길 수 있는 '언패킹'에서 짐을...

26.11.2025 - 작성자: 제프 밴 다이크(Jeff van Dyck)

다른 글

Wwise를 사용한 반복 재생 기반 자동차 엔진음 디자인 | 제 2부

다시 뵙게 되어 반갑습니다! 이 시리즈에서는 Wwise에서의 간단한 반복 재생 기반 자동차 엔진을 구성 및 설계를 함께 살펴보게 됩니다. 디자인을 제어하기 위해 필요한 엔진 매개...

UE5와 C++를 활용한 WAAPI 입문

이 글에는 Unreal에서 WAAPI를 사용하는 데 필요한 모든 정보가 담겨 있습니다. 이 글의 대부분은 Audiokinetic 문서, Wwise 업 온 에어 영상, AK 블로그에...

Wwise Time Stretch 플러그인을 활용한 인게임 시네마틱 제어

소개 이 글은 제이터 (루오하오) 쉬(Jater (Ruohao) Xu)가 역붕괴: 베이커리 작전(Reverse Collapse: Code Name Bakery)에서 진행한 작업을...