Aporia: Beyond the Valley - Making Sounds for a Ghost

게임 오디오 / 사운드 디자인

What does a ghostly, dark, mysterious, and dangerous entity sound like? And how does it affect its surrounding sounds? Naturally, it sounds like an old coffee machine! It also sucks out all other sounds from its vicinity, leaving only a cold, dead atmosphere. But then, as it starts chasing you, stressful, ever rising musical phrases start playing. You run as fast as you can but can’t outrun it. You don’t have time to turn your head, but you can sense that it’s getting closer as the air gets colder, freezing, while the musical phrases intensify! In an instant, you can’t move and all sounds disappear. You gasp for air and the ice cold atmosphere fills your lungs. Then, there’s only darkness.

Header.png 

My name is Troels and I’m part of a team developing a game called Aporia: Beyond the Valley. Throughout the production of this game, I’ve acted as sound designer, composer, and the Wwise integration/optimization person (in one title: The Sound Guy).

Story

To give you an understanding of what this game is about, we’re dealing with a first person exploration, adventure/puzzle, set in an ancient valley, which tells a story completely without text or dialogue. The game is developed in CryEngine, which is very useful especially for creating large, beautiful environments. Ruins and stuff from the past are scattered all around the game world, and as the player explores the forgotten lands, a dark entity is watching and patrolling the forest. This entity has the shape of a ghost and could be considered the enemy in the game. The ghost is a central part of the game and closely related to the narrative. I’d like to mention that while the game does have some scary elements to it, it wasn't designed or imagined as a horror game.

 Swamps.jpg

The game has tons of audio and several instances of rather complex audio behaviour; therefore, Wwise was an obvious choice for audio integration software due to its versatility and ability to mix, monitor, and optimize performance via remote connect and during gameplay. Additionally, for me as sound designer and composer, one of the greatest benefits of using Wwise is the massive amount of control I gain without being dependent on the audio programmers. Wwise has all the functionality I could wish for, and programmers can very quickly integrate the Events I create. Once an Event is integrated, it’s also easy to update the audio which it triggers later in the process.

 

In this blog post I’ll talk about some of the sound design related to the previously mentioned ghost, as well as the integration of the sounds on a technical level.

Ghost events.png

This is a list of the Events connected to the ghost (Although the ghost, according to the lore, has an official name, on the team, we tend to call it KNUD, a traditional Scandinavian name. Please, don’t ask why.)

To give you a better understanding of how the Events work in an in-game setting, we made this behaviour tree that shows how the ghost’s AI is set up.

KNUD patrol graph.png

What we want the ghost/enemy to feel like

So, via sound, we wanted to make the ghost appear scary, with a tint of sad. Early in the process, our game director Sebastian Bevense requested a clicking sound. This led my thoughts to the characteristic ghost throat sound from The Grudge. My goal was to establish the same feeling without it having too many associations. Now, as the list above reveals, besides the clicking, the ghost has many other sounds and Events connected to it. I’ll go a bit in depth with those Events and their purpose below. I think it’s always challenging to design sounds for abstract elements as we usually don’t have any exact expectation as to what they would sound like. So, where do you start when you are given the task to design sound for a big, dark, floating ghost? Usually in situations like this, I start experimenting with all sorts of different sounds from recordings and synthesizers and try to imagine which elements on this ghost would emit sound.

forest1.1.jpg 

The only element easy to understand that the ghost has is some cloth that flaps as it moves. So, cloth that’s flapping and a clicking sound. Those are actually decent guidelines!

How we achieved it

The moment Sebastian requested a clicking sound for the ghost, I thought of a sample of an old coffee machine I had heard one week earlier. I don’t recall exactly where I found this sample, but I think this sound is very recognizable.

Original coffee machine sample

We passed the sound through a chain of processing units and tried blending in different types of sounds that could work well with it. As sound designers, we always like to layer sounds—sometimes even too much, and we end up ruining the effect because of too many elements overlapping, making everything muddy (maybe it’s just me). When I export the sound effects for import in Wwise, I like to export layers. For example, I separate the various layers in low, mid, and high content (depends on the type of sound). Then when I import to Wwise, I tie the Events to Blend Containers that contain the different layers. 

shadows1.1.jpg

This allows me to mix and randomize individual layers rather than having only one sound to tweak. My experience is that this approach gives much better results, as you can more easily tweak/mix the sound to fit exactly how you want the player to experience a certain situation. To me, this way of mixing is also much more effective than making sounds solely based on a video recording of a given event/animation or interaction. Of course, when I start designing a sound, I do it based on a video recording; but, from experience I know that it usually feels different playing a game compared to watching it. Therefore, the layer export approach makes sense to me.

Naturally, with this approach you end up with a much higher voice count in Wwise. To compensate for this and in order to optimize performance, at the end of development, you have to manually “bake” all of the sounds by recording a couple of takes of the parent Blend Containers, cutting them into one-shots, and then placing them in Random Containers so that you end up triggering only one sound instead of several. This can be a tiring process and I often wonder if there is a more effective way of doing this.

Processed sound of the coffee machine.

Ghost Events and abilities

Below, I’ll elaborate on various Events connected to the ghost. I’ll focus on the most important sounds rather than going into depth with everything.

  • Emission

Sound-wise, one of the first things we focused on related to the ghost was its emissive sound.

As the ghost is of critical importance, we want to bring it to the player’s focus. A great way to do that is obviously to make it emit a 3D sound, 360 degrees around it.

Early in the integration process we established an RTPC defining the distance to the ghost. This allowed us to easily control the volume of the various layers. For example, we wanted the clicking to be audible earlier than the sub layer. As all layers react differently based on the RTPC, we also created a less static experience of the ghost closing in compared to a one layer loop. Besides controlling the layers, we also used the RTPC to control the gain in one band of the Wwise multiband distortion, making the sound more present and destroyed up close. Using an RTPC also allowed us to control parameters on the bus level. This allowed us to control the ambience and footsteps volume in a controlled way, decreasing them as the ghost moves closer to grab you! One of my favorite features in Wwise is the ability to send signal output values to RTPCs using the Wwise Meter Effect. Exactly as in music production, the ability to route signals across busses and use them to control parameters (external sidechain) is a very useful/powerful way of dynamically controlling your mix. This is an essential tool for achieving a cleaner mix in non-linear audio playback.

After several iterations, we finally ended up with something we were happy about.

One thing I think is difficult when making sound for abstract entities like this is to make everything sound consistent, like it’s coming from the same object in the game. I layer sound upon sound untill everything becomes muddy and nothing stands out. Hopefully, someday I’ll learn that less is more! 95% of the time I think the best result comes from keeping things simple, minimalistic, and effective.

This is a recording of the ghost’s emission going from far away to close-up.

  • Occlusion

One problem that we encountered during testing was that players sometimes would hear the emission of the ghost at full volume even if they were separated by a wall. This indicated that they were in great danger even though the ghost’s AI had no chance of detecting them. We wanted the players to understand that the ghost was near without playing the intense elements of the layers. In an attempt to solve this problem, we split the emissive sounds into two Blend Containers and made one of them react to occlusion. Note how the low end is present in the recording, reacting to occlusion to appear more threatening and make the players feel they are in imminent danger.

Recording of the emission not reacting to occlusion (1 meter away).

Recording of the container reacting to occlusion (1 meter away).

Occlusion setup.png

The spotting sequence

When the player stares at the ghost, the player draws its attention and gradually the player’s position is revealed. Eventually, the ghost will become enraged, charge its energy and teleport to the player. From there, it will initiate a furious chase accompanied by ever rising stressful musical phrases that intensify the closer it gets. Below, I’ll break down and elaborate on the various Events related to the spotting sequence. All signals coming from the ghost run into 1 of 2 busses, the ghost bus or the critical sfx bus. The other busses (music, non-critical sfx, ambience, footsteps,  etc.) all react to these 2 busses by ducking their volume whenever they receive an important signal. This way, we get a cleaner mix while keeping important sounds in the foreground.

  • Locking on

As mentioned above, when the player starts looking at the ghost, it will gradually become aware of him/her. To inform the player about this, we introduce a riser that contains information about how close you are to being spotted. If the player looks away during the riser, the riser stops. This introduced a problem as the sound felt like it was being interrupted too abruptly. Even if we stopped the sound with a fade out, it felt wrong. We attempted to solve this by sending the container’s signal to an aux reverb bus with a long tail. This way, when the container was stopped by looking away from the ghost, the sound would quickly fade out, but hang for a few seconds with a reverb tail creating a nice, more natural fade out. We actually made all of the sounds more or less, associated with the ghost send to this specific aux bus for the sake of consistency between the various ghost sounds.

  • Locked on > Freeze ground > Teleport > Arrive close to player 

Woe to the one who stares at the ghost for too long. When it picks up your presence it will charge its energy and prepare to engage. When it scopes in on your body, the ground freezes around you and you hear the sound of creaking ice. After a few seconds, it starts teleporting (moving fast) towards your location. To provide information about how close it is during the teleportation phase, it emits a howling 3D sound during flight. When the ghost reaches its destination, it appears very close to the player and initiates a chase. At that point, to stress the player, we choose to play a loud impact sound followed by a looping chase Shepard tone-like musical loop. The chase loop consists of 3-4 different layers of increasing intensity. These layers are placed in a Blend Container where the layers crossfade from one to the other based on the previously mentioned RTPC, set by the distance to the ghost.

 Locking on, locked on and freeze ground.

Teleport sound up close + Arrival close to player

Chase loop going from far to up-close > Catch the player

This concludes this blog post! I hope you gained something from reading, and that you might be able to use it as input for when you have to design sound for an abstract dark entity!

As a bonus, here’s a piece of music from the game. Not scary.

 

Game’s website: aporiathegame.com

Developer’s website: investigatenorth.dk

Troels’s website: ubertones.com

Troels Nygaard

Technical Sound Designer and Composer

Investigate North

Troels Nygaard

Technical Sound Designer and Composer

Investigate North

Troels Nygaard is a technical sound designer and composer with a BA in Sound Design (2014) and a MSc in game design with focus on audio integration and user experience (2016). Additionally, Troels is a Wwise Certified Instructor, and music producer.

nordictones.com

댓글

댓글 달기

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

다른 글

Total War: WARHAMMER 2 (토탈 워: 워해머 2): 음악 구조 제작과 체계적 사용법

Total War 시리즈를 잘 모르시는 분들을 위해 설명 드리자면 Total War는 턴 방식의 전략 게임으로 대규모의 실시간 전쟁이 특징적인 게임입니다. 중세 유럽, 봉건 일본,...

21.8.2019 - 작성자: CREATIVE ASSEMBLY (크리에이티브 어셈블리)

제 1부 - 니어 : 오토마타(NieR:Automata)의 공간 음향과 Wwise로 구현한 다양한 게임 플레이 유형

니어 : 오토마타는 외계 침략자들이 인류를 달에 추방한 후 황무지가 된 지구에서 펼쳐지는 액션 롤플레잉 게임 (RPG)입니다. 이 게임은 인류가 지구를 되찾기 위해 개발한...

11.9.2019 - 작성자: PlatinumGames Inc. (플래티넘 게임즈)

라우드니스를 처리하는 최상의 방법, 제 2강: 라우드니스와 다이내믹 처리 방법

우리가 여기서 말하는 '라우드니스'는 우리가 예시로 측정하는 도시 소음이나 sound pressure level (SPL) 미터와는 다릅니다. SPL 미터는 소리 압력을 측정해요....

15.1.2020 - 작성자: 지에 양 (Jie Yang, 디지몽크)

AI를 활용한 Pagan Online의 다이얼로그(대화) 관리 개선

오디오 프로그래밍 / 게임 오디오 / 사운드 디자인 니콜라 루키치 (NIKOLA LUKIĆ) 우리는 인공지능의 연구개발이 상당한 추진력을 얻고 있는 시대에 살고 있습니다....

24.3.2020 - 작성자: 니콜라 루키치 (NIKOLA LUKIĆ)

보이스 제어 방법- CPU에 최적화하기(제 1부)

프로젝트 개발 과정 동안 성능 문제가 일어나는 것은 꽤나 흔한 일입니다. 문제의 원인은 다양하지만 대부분의 경우 동시 재생되는 사운드의 수와 직접 관련된 경우가 많죠. 볼륨만...

12.5.2020 - 작성자: 마튜 쟝 (Mathieu Jean)

라우드니스를 처리하는 최상의 방법, 제 3강: 게임을 위한 측정 가능한 라우드니스 처리

우리는 대부분의 경우 복잡한 사운드를 다룹니다. 게임에서는 각 사운드가 전반적인 출력 라우드니스에 기여합니다. 영화나 텔레비전 제작과 달리 작은 세그먼트의 다이내믹과 주파수 반응을...

27.5.2020 - 작성자: 지에 양 (Jie Yang, 디지몽크)

다른 글

Total War: WARHAMMER 2 (토탈 워: 워해머 2): 음악 구조 제작과 체계적 사용법

Total War 시리즈를 잘 모르시는 분들을 위해 설명 드리자면 Total War는 턴 방식의 전략 게임으로 대규모의 실시간 전쟁이 특징적인 게임입니다. 중세 유럽, 봉건 일본,...

제 1부 - 니어 : 오토마타(NieR:Automata)의 공간 음향과 Wwise로 구현한 다양한 게임 플레이 유형

니어 : 오토마타는 외계 침략자들이 인류를 달에 추방한 후 황무지가 된 지구에서 펼쳐지는 액션 롤플레잉 게임 (RPG)입니다. 이 게임은 인류가 지구를 되찾기 위해 개발한...

라우드니스를 처리하는 최상의 방법, 제 2강: 라우드니스와 다이내믹 처리 방법

우리가 여기서 말하는 '라우드니스'는 우리가 예시로 측정하는 도시 소음이나 sound pressure level (SPL) 미터와는 다릅니다. SPL 미터는 소리 압력을 측정해요....