Behind the Sound of I Am Fish

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

I Am Fish is a charming, physics-based adventure which sees the player take the fortunes of four intrepid fish friends into their hands as they try to escape for the sea. It was developed by London-based Bossa Studios and is a spiritual successor to their earlier hit I Am Bread. The game features a variety of bizarre physics-based vehicle audio, dynamic music, a bunch of systems to handle water (would you believe), as well as the challenge of making the player feel like four very different fish. The audio designer for the project, Ali Tocher at LookListen Audio, was asked by Audiokinetic to share a few tricks, tips and takeaways from using Wwise on the game.

So let’s dive in! (Sorry, I will try to keep piscine puns to a minimum, but they were a mainstay on our team slack so I might have to Plaice a few in [groan])

fish key art

Dynamic Vehicle Audio

I Am Fish lets the player/fish control some unusual and bizarre vehicles which were a blast to make sounds for. Mop buckets, dumpsters, observation tanks, beer glasses, mine carts, large jars, a spherical fish bowl, luggage, a cube of ice, an inebriated human male and more! I wanted to share a couple of details on the design and usage of Wwise for two of these.

Spherical Glass Fish Bowl

The fish bowl audio needed to be readable at both very low speeds but could also reach very fast speeds for a decent amount of time. Initial tests on layers and processing for a rolling glass object showed that a traditional vehicle approach of pitch ramping through a blend of layers was not going to work. From recording and analysing a bunch of glass things rolling and spinning around, I realised that the main “sound of rolling” is defined by a sine sweep that describes a full rotation, and this should slow down and speed up based on roll speed. My first attempt of chopping up and recombining individual rotations was fruitless, so I settled on the approach of using an LFO in Wwise to create this shape dynamically in a designed piece of noise.

As you can see in the video, I set up a parametric EQ on the mix busses for rolling sounds, (in-picture left) then used a rolling speed parameter to control the Attack, Depth of Frequency of an LFO (in-picture right) to apply the “sound of rolling” to the noise layers.

A couple of notes beyond what’s shown here: 

• I’ve isolated just the rolling in the video, there are water layers and fish movement layers present too in-game. However, I kept the bowl impacts as they do a crucial job of covering some janky frames when the ball goes from very fast to stopped and also registers the ground.

• We do a check to see if the vehicle is grounded as there are plenty of airborne moments and this is a surface layer.

• You can hear it only faintly in this video example, but at high speeds a glassy texture is added as an alarm to let the player know they have reached a speed which will cause the bowl to smash if they don’t lose momentum.

Ice Cube Vehicle

I wanted to quickly share one thing about the ice-cube vehicle too, shown in the video. Mostly it was fairly straightforward to use this vehicle’s momentum to drive RTPCs, however I was struggling with the impacts; and they are the key layer for gameplay feel. I solved this by using angle of impact for the first time; so there are two types of designed impacts - scrapes (when the angle of impact is between 10-60 degrees) and hits (when the angle is 60-90 degrees), which are selected using Switch Groups. This seemed very obvious once I’d found the solution but took me a while to recognise.

img1

Water

I could trickle on at length about how we made the water sound splash off the screen… But I’ll just pick a couple of things.

Surfaces and edges

As those who have attempted it before know, water is a little bit tricky for object-based audio and the use of a spline system to move the sound source relative to the player is required. I focused on two uses of this to try and get good coverage for water audio. First was getting our graphics programmer to define a “surface boundary” for each body of water, shown with the red line. Secondly I also defined “traversable edge” regions (shown in yellow), for edge areas that were important to gameplay, usually because they were the player’s destination.

img2

As you can hear in the following video, the surface spline is located directly below the camera to enable the sound to attenuation for camera height, but importantly it also stops when it reaches the red marked boundary, and waits there until the player returns; as our puffer friend has a real penchant for getting out of bounds!

Water, music and how not to make it all sound dull

From day one of this project I had a big question on my mind. How do I make this game not sound dull and flat when I’m underwater, when I know that the allegory for underwater is to roll off a bunch of high frequencies? The answer came to me from the music. The score of I Am Fish is intended to mirror the emotional state of the fish, especially as the game plays a lot with things that seem unthreatening on their face but are rather different when you’re a 10cm goldfish. Fish like being in water, so I had the idea to flip the dampening idea on it’s head. What if the music was dampened when the camera is out of water (in the human domain) and full spectrum when the camera goes back underwater to the fish’s happy place! This gave me the added benefit of creating room in the mix for ambience above water while covering the LPF effect when submerging. They always say; you know a design solution is good when it starts solving other problems too! We also extended this to maintain full frequency music if the player is above the water and also using their special ability (ie. flying/rolling/biting). 

Fish Movement and Specials

Foley is always a treat to do, and that’s still true for fish! But get ready to unhook a lot of footstep concepts you’re used to! I’ll share a couple of things about how the sounds for the actual fish came together.

img3

Fishy footsteps?

This was another example of expectation reversal. The default view that “as video game character moves faster, more foley audio is heard” turned out to be untrue for our fish. The important player feedback and correct feel was that activity was heard from the fish’s tail mostly during maneuvering; ie. changes of direction or speed, but while the fish is heading in a sustained direction then water pad layers (or wind if airborne) were better to convey speed. Frankly I didn’t have the first clue how I was going to do the movement sounds for these fish coming in so it was very rewarding to find a solution that felt right. In the end a simple loop of high pitched bubbling that was processed using pitch and filters did the heavy lifting, as shown in the video.

Adding personality to the fish

The fish are the stars of the show in our game. Here are a couple of highlight sounds.

Pufferfish

The puffer fish’s special ability is to inflate, giving it the properties of a ball - rolling, bouncing etc. It reminded me of a semi-inflated foot[soccer]ball. 

Here it is in action:

Piranha

The piranha was, perhaps predictably, quite bitey. It reminded me of a small dog, so I scoured my library for snuffles, whines and gnawing and made a fun dynamic instrument. Having a dynamic loop helped out with a game design challenge too. When the piranha has successfully bitten a gameplay prop, the player must use the main input control to wiggle the prop free. With no sound this was confusing as the player could no longer move, but left-stick wiggle = more growly-barking exertion sounds seemed to get the message across well.

Thanks to Audiokinetic and Bossa for asking me to put this together. I hope you were able to take something useful away from it. I hope you all enjoy a well earned rest this coming holiday season!

Ali Tocher

Audio Designer

Ali Tocher

Audio Designer

Ali Tocher is a freelance audio designer and Director of LookListen Audio, based in Stroud, UK. He is a 2020 Bafta Breakthrough for games. Alongside working with a wide range of indie and AAA dev teams, Ali also makes audio for hospital and medical care projects using the power of game audio middleware.

 @Ali_LookListen

댓글

댓글 달기

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

다른 글

꿈의 직업: 게임 오디오에서의 윤리적 고용

저는 약간의 두려움과 함께 이것을 쓰고 있습니다. 저는 그렇게 오랫동안 고용주가 아니었고, 한 신뢰할 수 있는 개발자가 저에게 말했습니다. "저는 여러분이 적어도 한 번은 크게...

16.6.2020 - 작성자: 고든 맥글래더리 (GORDON MCGLADDERY)

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

어떤 게임에서는 사용자 인터페이스가 플레이어의 전체 경험에 궁극적으로 영향을 거의 미치지 않습니다. 수많은 모바일 게임과 같이 어떤 게임에서는 거의 전체 게임플레이 동안 UI를...

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

Wwise에서 음악 설계 템플릿을 사용하여 독보적인 사운드 디자인을 만들어내는 방법

Foxface Rabbitfish(폭스페이스 레빗피시)의 작곡가 겸 오디오 디렉터인 가이 휘트모어(Guy Whitmore)는 2019 Wwise 상호작용 음악 심포지움에서 현대...

24.11.2021 - 작성자: 가이 휘트모어 (Guy Whitmore)

텔 미 와이(Tell Me Why) | 오디오 다이어리 제 3부: 사운드 디자인

텔 미 와이(Tell Me Why)의 오디오 팀에게는 독특하면서도 인상 깊은 서사적 시퀀스를 향상시킬 수 있는 기회가 많았습니다. 저희 시네마틱 및 크리에이티브 디렉터는 영상에 꼭...

19.7.2022 - 작성자: 매튜 피오렌티니 (Mathieu Fiorentini)

Strata 작업 과정 파워업하기 | 2부 - "연결된 REAPER 프로젝트 열기"

Wwise를 REAPER와 함께 사용하는 사운드 디자이너라면 Wwise에서 작업하는 동안 REAPER에서 사운드를 다시 렌더링하고 싶은 경우가 종종 있습니다. 원래대로라면 관련...

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

임펄스 응답 리버브로 현실감 있는 사운드 만들기

임펄스 응답은 실제 공간을 초현실적으로 재구현하는 것으로 유명합니다. 최고 품질의 임펄스 응답을 녹음하는 것은 다소 기술적이며 고급 장비가 필요한 일입니다. 공간적인 품질을 갖춘...

8.9.2023 - 작성자: BOOM Library

다른 글

꿈의 직업: 게임 오디오에서의 윤리적 고용

저는 약간의 두려움과 함께 이것을 쓰고 있습니다. 저는 그렇게 오랫동안 고용주가 아니었고, 한 신뢰할 수 있는 개발자가 저에게 말했습니다. "저는 여러분이 적어도 한 번은 크게...

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

어떤 게임에서는 사용자 인터페이스가 플레이어의 전체 경험에 궁극적으로 영향을 거의 미치지 않습니다. 수많은 모바일 게임과 같이 어떤 게임에서는 거의 전체 게임플레이 동안 UI를...

Wwise에서 음악 설계 템플릿을 사용하여 독보적인 사운드 디자인을 만들어내는 방법

Foxface Rabbitfish(폭스페이스 레빗피시)의 작곡가 겸 오디오 디렉터인 가이 휘트모어(Guy Whitmore)는 2019 Wwise 상호작용 음악 심포지움에서 현대...