Jurassic World Evolution 2

게임 오디오

Frontier Developments is a leading independent video game developer and publisher, founded in 1994 by David Braben. The company has a long history of developing best-in-class management games, starting with Roller Coaster Tycoon 3 in 2003, through to self-published titles like Planet Coaster and Jurassic World Evolution. A common thread running through these games is an emphasis on player creativity and sandbox elements.

The Jurassic World Evolution franchise allows players to design and build their own dinosaur theme parks, taking them through a fully voiced Campaign featuring actors Jeff Goldblum and Bryce Dallas Howard. The goal with the sequel was to deliver a bigger, better narrative, a more immersive sim, and the best dinosaurs. Mirroring events in the movie franchise, where dinosaurs roam the planet, the focus shifted from managing dinosaur parks to managing nature reserves. Our key goals were: 

  • Improve on Jurassic World Evolution
  • Have the best sounding video game dinosaurs
  • Create a soundscape that responds dynamically to the player’s actions
  • Use authentic sounds that fit a Jurassic World product.

In this article we will describe how we used Wwise to achieve these key goals and deliver some of the new features we had planned for Jurassic World Evolution 2. We shipped the game with Wwise 2019.2.8.

Footplant system

When designing a Wwise structure, there is often a conflict between where shared and unique sounds live in the hierarchy. The footplant sounds in Jurassic World Evolution were a great example of this. Each dinosaur family (Ornithopod, Theropod, Sauropod etc) had a unique impact sound, along with a shared surface sweetener. Random containers were duplicated in several structures in the Actor-Mixer Hierarchy. If you wanted to turn down surface sweeteners, you had to look in 17 different places. This allowed us to be very flexible in how they were mixed, but ultimately made mixing efficiently impossible.

For Jurassic World Evolution 2 we wanted to have everything in one work unit, which was easy to maintain and less prone to human error, but that still had enough flexibility to mix the shared sweeteners depending on dinosaur size/family and other game data.

img1

What we settled on was a blend container with impact and surface switches. When a footplant event is triggered, we use it to Set Switch to the correct family (OrnithopodHadrosaur) and set a Game Parameter to determine whether it is a front or rear leg (this parameter drives the switch highlighted in the image above). The event can also be used to Set Pitch and Set Volume if any mixing is needed.

img2

The footplant blend is played. A switch from the audio code determines the surface type. The range of dinosaurs in this game is huge: from about the size of a small chicken right up to the largest land creature that ever lived. The surface sweetener therefore needs a lot of processing to work. We achieved this by recording long takes of various surfaces in our Foley pits, and editing long sweeteners from the recordings.

img3

Using the Envelope function in Wwise, we can apply a shorter envelope to the sweetener, depending on context. For example, if a dinosaur is idling or moving its feet on the spot we’d use a slower attack and release, whereas when a dinosaur is running we’d use a fast attack and shorter release to emphasize this, making the overall length shorter.

img4

Idle, walk, and run data is sent as a combined RTPC. Pitching the sweeteners up or down for smaller and larger creatures to match the shared impact sound using Set Pitch and mixing them appropriately brings everything together. 

Footplants are crucial to dinosaur audio: they convey the size and weight of a creature, their speed and gait, and the surface they are moving across. Together with breathing, they form the majority of the dinosaur soundscape. Having footplant impacts and surface sweeteners in one place in the hierarchy, where they can be easily tweaked and mixed was crucial for delivering the best sounding dinosaurs.

A clear, readable bus structure

The bus structure in our games can get pretty complicated. There are a few simple things that we did in Jurassic World Evolution 2 to simplify it and make it more readable. 

img5

The image above is our ‘distance filtered’ bus – most 3D-positioned sounds end up here. We mainly use the Master-Mixer Hierarchy for dynamic mixing using States and RTPCs, as well as any reverb/effect sends that we want. Keeping the bus name as short as possible, with all the key information on the left makes the Wwise mixer view (F8) more usable, as the bus names are clearly readable.

img6

Any text in brackets tells us the bus is sending to an effects bus or has some significant state mixing. When debugging or mixing, it’s useful to remember that any sound sent to cre_Flying will be ducked underwater (duw) and that df_Moving is affected by a Camera Focus RTPC (cam) so that is why the roar might be quieter when a Triceratops is behind the camera.

Finally, the use of colour makes a lot of sense when debugging with the Voice Monitor. I cannot overstate how useful this feature was. Being able to scrub through the lifecycle of an asset and see what effect RTPCs/states were having is invaluable.

img7

From the colours in the image I can quickly tell what part of the structure I am looking at. Yellow is 2D ambiences, mainly continuous loops. Green is 3D positioned ambiences. The two shades of purple are dinosaurs.

img8

The unique sounds are coloured in a different shade of purple to the shared, making the vocalisation easier to spot. We would often have volume issues with these unique sounds because they were often only used in very few animations, so mix issues could be easily missed; being able to pick out a specific problematic asset from a wash of other well-mixed shared assets is very valuable.

Flying reptiles

One of the big new features for JWE2 was the addition of flying reptiles. There were a number of constraints/assumptions that we based the technical design on. 

  • Reptiles are either released inside or transported in via a helicopter/drone. 
  • When the freely moving camera is outside the aviary, reptiles inside should be silent. 
  • When the camera is inside, the outside world should be silent. 
  • When the reptiles get uncomfortable and escape, they need to make noises outside.
  • The only way a reptile can be outside is if they escape.
  • Aviaries are closed systems sealed from the outside world, constructed from a solid, glass-like material. While not strictly true, when it came to technical design we treated the aviaries as closed systems in order to make the implementation easier.

We had two pieces of data. One was a Game State that reported the location of the camera/listener:

  • cameraOutside
  • cameraAviaryInside

We also had a Switch set on each of the dinosaur emitters: 

  • insideAviary by default
  • outsideAviary if they escaped 
img9

 

img10

 

 

We have hundreds of different random containers of sounds for seven different flying reptiles and every single one of them uses this structure. This system works perfectly, but relies heavily on the assumptions listed above. 

img11

Setting up the system was a careful process, because missing a state or switch can cause sounds to be silent. The main flaw to this system is inflexibility: if the camera is outside, and there is a creature inside, that creature is silent. We have multiple aviary types in the game, including a temporary-style structure, built with metallic mesh, used by the Department of Fish and Wildlife. Outside the dome you should be able to hear reptiles inside. With the data we had to use, and the approaching deadline, it felt like an acceptable compromise to make. 

The globalGameState

In this project, the globalGameState was one of our most handy problem-solving systems. In Jurassic World Evolution and past games, we have a global state that reports the macro-state the game is in:

img12

In this game it got pretty big. Our fantastic audio engine has some nice features, and a particularly useful one is to send a pair of _start and _stop events as the game switches through globalGameState. Entering the game map view sets the state to Game_ViewBuilding and sends   Game_ViewBuilding_start/stop to Wwise. This is a circumstance where we’d ask audio programmers for an event, so having this functionality built in is very handy.

The thing that makes this state so useful is that it’s very macro. It’s a set of broad strokes for making big mix changes. As such, we try to confine state mixing that uses it confined to the grandparent buses of the Master-Mixer Hierarchy where it is very useful for mixing. 

Switching to a riding view inside a Gyrosphere (Game_Vehicle_Gyro_1P), we can use the globalGameState to un-bypass an effect on the external ambiences, muffling them, use the event pair to start/stop some 2D internal ambiences, mute the audio of dinosaurs and do a pre-fader send to a new bus that’s audible inside the Gyrosphere which makes the dinosaur audio thin and tinny, and send it to a glassy internal reverb.

It’s another great Wwise feature that, with a small amount of audio code work, we can use to independently create a totally different mix for a space.

Meters

Meters are the best. 

img13

We use a meter bus on JWE2 because it provides flexibility: you can send a signal to the bus for metering, or you can attenuate the signal with an RTPC or state. A great example of a fun meter application is using them as an Envelope follower, and using that envelope to drive real-time parameters on other containers. 

img14

We have a gusty wind sound that uses Emitters with Automation and a random container with a random delay to pan occasional gusts around. With User-Defined Auxiliary sends, we can send this bus to our meter bus mtr_2d_windGusts.

img15

The meter effect on the bus is set up as a pretty accurate Envelope Follower, outputting to an RTPC meter_2d_windGusts. This RTPC is then used to drive other wind ambience dynamically: when a random gust is triggered, the RTPC goes HIGH, and we can say remove some Low Pass Filter RTPC on a ‘Wind through the trees’ sound for instance, making the random gust sound seem like it is affecting a different sound.

If we decided there were situations where we didn’t want this effect while it was raining, we could use the Rain_Intensity RTPC to mute the volume of the send.

Leveraging powerful new Wwise features such as envelopes, meters, and macro states made our work and the mix much simpler. There were a host of features we haven’t covered here that we also used and loved. Special shout-outs to the Random parameter generator and the LFO.

Thanks to the whole Jurassic World Evolution team.

Further reading: https://www.asoundeffect.com/jurassic-world-evolution-sound/

The audio team

Alex Vincent (Senior Audio Producer) 
Ben Hammond (Audio Test Engineer)
Dan Matarov (Graduate Audio Programmer)
Duncan MacKinnon (Audio Lead) 
Dylan Vadamootoo (Senior Sound Designer, Audio Lead DLC)
Gavin Chuong (Audio Rigger)
Hakan Yurdakul (Graduate Audio Programmer)
Henry Flewitt (Sound Designer)
Ian Hawkins (Senior Audio Programmer)
Irma de Wind (Music & VO Supervisor)
Jim Croft (Head of Audio)
Janesta Boudreau (Music & VO Supervisor)
James Stant (Dialogue Manager, Senior Sound Designer)
Jamie Stuart (Senior Audio Programmer)
Luigi Platania (Graduate Audio Programmer)
Matthew Mainprize (Sound Designer)
Michael Maidment (Senior Sound Designer)
Valentin Goellner (Senior Sound Designer)
Will Augar (Principal Audio Programmer)

About Frontier Developments

Frontier is a leading independent developer and publisher of videogames founded in 1994 by David Braben, co-author of the iconic Elite game. Based in Cambridge, Frontier uses its proprietary COBRA game development technology to create innovative genre-leading games, primarily for personal computers and videogame consoles. As well as self-publishing internally developed games, Frontier also publishes games developed by carefully selected partner studios under its Frontier Foundry games label. 

About Jurassic World Evolution 2

Jurassic World Evolution 2 is the critically-acclaimed sequel to Frontier’s highly successful Jurassic World Evolution, building upon the ground-breaking and immersive 2018 management simulation. It introduces a compelling, new narrative campaign, incredible new features and awe-inspiring new dinosaurs brought to life with captivating authenticity. Together with expanded construction and more customisation options, the result is an even bigger, better and authentic Jurassic World game.  

Duncan Mackinnon

Lead Audio Designer

Duncan Mackinnon

Lead Audio Designer

I am a lead audio designer who led development on the initial release of Jurassic World Evolution 2. Prior to that I worked on Jurassic World Evolution, focusing on dinosaur sound design, and Elite Dangerous, mostly on ship audio.

댓글

댓글 달기

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

다른 글

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

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

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

텔 미 와이(Tell Me Why) | 오디오 다이어리 제 2부: 음악

Tell Me Why의 음악은 본질적으로 캐릭터의 서사와 감정을 뒷받침하도록 설계되었습니다. 게임의 이야기는 두 주인공에게 아주 자세하게 집중되어 있으며 생각에 잠기기 쉬운 느린...

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

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

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

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

상호작용 음악: '여러분이 직접 선택하는 모험' 스타일의 발라드

2018년 크라우드 펀딩 캠페인을 성공적으로 마친 inXile Entertainment(인엑사일 엔터테인먼트)는 '웨이스트 랜드 3(Wasteland 3)' 게임의 본격적인 제작에...

23.5.2023 - 작성자: Alexander Brandon (알렉산더 브랜드)

Scars Above(스카스 어보브)의 오디오 최적화 모범 사례

소개 이 글에서는 게임 스카스 어보브(Scars Above)를 프로파일링하고 오디오를 최적화하는 데 적용한 다양한 원칙을 설명해드리려고 합니다. 사운드 디자이너분들에게 저희가 겪은...

12.3.2025 - 작성자: 밀란 앤틱(Milan Antić)

Wwise로 게임 마스터링하기 | 제 1부: 게임 오디오 마스터링 접근 방법

게임은 다양한 구성에서 뛰어난 청각적 경험을 제공해야 합니다. 이것은 헤드폰의 3D Audio가 될 수도 있고, 스테레오 TV 스피커 혹은 광대한 7.1.4 Atmos 시스템이 될...

19.3.2025 - 작성자: 로익 쿠티에(Loïc Couthier) & 단제리 스켐브리(Danjeli Schembri)

다른 글

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

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

텔 미 와이(Tell Me Why) | 오디오 다이어리 제 2부: 음악

Tell Me Why의 음악은 본질적으로 캐릭터의 서사와 감정을 뒷받침하도록 설계되었습니다. 게임의 이야기는 두 주인공에게 아주 자세하게 집중되어 있으며 생각에 잠기기 쉬운 느린...

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

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