SlideShare una empresa de Scribd logo
1 de 35
How
High Dynamic Range Audio
            Makes
 Battlefield: Bad Company
         Go ”BOOM”
      Anders Clerwall
         EA/DICE
Overview

    Retrospective
»
    High Dynamic Range Audio
»
    Implications and Benefits
»
    Culling and Prioritizing
»
    Mixing & Mastering
»
    Conclusions
»
    Future
»

» Q&A
Retrospective

» Dynamic range traditionally faked
       Duck and snapshot-mixing
     
      Suits games with predictable sound scape
              Still, a lot of manual labor
          

» ..Even for multiplayer
         Highly unpredictabale sound scape
     

» Everything was turned to 11
         ”Every sound is important!”
     
              But not at the same time!
          

         Amplitude 1.0 has no meaning
     
Retrospective

» Battlefield: Bad Company
       DICE’s first ”Next-Gen” (360/PS3) game
     
      More of everything
      The sky’s the limit!

» Frostbite
       A new beginning
     
      We decided to use HDR audio from the
       start!
              Even the name sounded ”Next-Gen”
          

         It’s all about the dynamic range!
     
What is HDR Audio?

» It is..
        An automatic mixer
      
       An automatic prioritization method
       An effective culling method
       A way of mapping one part of a large
        dynamic range to a smaller one
        (amplitude)
                Basically like HDR lighting (Tone Mapping)
            

» It is not..
          Compression
      
                Although sometimes similar
            
What is HDR audio?
Great, but why?

» Sadly we can’t play at 128dB in
  peoples’ homes
       Neighbors, hearing loss, broken windows
     
      Technical issues with audio equipment

» Need a way to make sounds feel
  really loud
       But still hear quiet sounds
     
      Without all that traditional manual labor

» Spend our time more wisely
Great, but why?

» Lots of loud sounds make for a
  crowded upper part of the
  amplitude range
         Difficult to make quiet sounds temporarily
     
         loud
» ”Every sound is important!”
       But not at the same time!
     
      So we need a way to tell which ones are
How did we do it?

» Specify loudness (dBSPL) instead of
  amplitude
       The key to HDR audio
     
      Use real-life measurements as guideline
      One value-range for all sounds

» Measure each sound at the listener
  position
       Perceived loudness
     
      3D calculations
             Angle and distance attenuation/filter
         
             coefficients, etc.
             There’s no static ”MaxDistance” (gasp!)
         
How did we do it?

» Every sound contributes to the
  current loudness



» Position the HDR ”window”
      This is the most important part of the
    
      dynamic range
     Defined by MinTop, Size, ReleaseTime
     Loudest sound can move the window
        
How did we do it?

» Calculate amplitudes


       Apply headroom if needed
     
      Amplitude 1.0 has actual meaning again!

» Let’s listen to it!
Simple scenario video
Implications

» Less control
       No guarantee that a particular sound can
     
       always be heard
      No way of predicting how loud a sound will
       be, in absolute volume
» Somewhat of a paradigm-shift for
  sound designers
       No longer controlling absolute volume, but
     
       rather the relative volume between sounds
      Do they actually need control over that?
             I’m not a sound designer 
         
             They haven’t complained (at least not about that)
         
Benefits

» More control
         Loudness actually means something!
     
              Preserves the relationship between sounds
          
              in a clear way
         It’s always obvious which sounds should
     
         play
» Based on reality
       But actually not reality
     
      We’re making a game!
      Creative control very important
Benefits

» Easier to make exceptions to the
  rule than adding lots of rules
         For example; give first-person sounds and
     
         VO some headroom
» Less/cleaner code
         Means less bugs. Promise!
     

» Mixing the game
» Enables some pretty nice culling
  schemes
         Harsh, but fair
     
Pre-culling

» Before a sound gets activated and
  starts rendering
        Start with the sound’s specified loudness
    
             Apply distance/angle attenuation
         
             Remember, this is as loud as the sound
         
             could theoretically get!
        Previous update’s HDR window bottom is
    
        cutoff
» Helps clean up the sound scape
» Low overhead
        These calculations would be done anyway
    
Pre-culling

» One-shots can be completely
  ignored
» Loops are considered infinite and
  become pending
         Until they’re explicitly stopped
     

» Shifts load-balancing to where
  most knowledge is
       More reliable
     
      Distance is inferred by loudness
              It’s about what you hear, not how far away
          
              you are
Culling of active sounds

» Every sound is either ”Audible” or
  ”Inaudible”
       Basically above or below some threshold of
     
       hearing
      Assume HDR window bottom
             May end up being the nth sound’s
         
             perceived loudness due to load-balancing

» Once a sound becomes inaudible,
  suspend it
       One-shots may never return
     
      Looping sounds most likely will
      Resume once audible again
Culling of active sounds

» Worst-case: Lots of similarly loud
  sounds
       They’re all inside the current HDR window
     
      Limit on number of active sounds affects
       threshold of hearing
» Best-case: Your weapon vs. bullet
  impacts nearby
       Weapon will raise HDR window and bullet
     
       impacts can be completely ignored
      Very common scenario in Bad Company
Better measurements

» Measure each sound’s RMS
         Apply to perceived loudness
     



» Compensate for maximum sine
  RMS when pre-culling
       Subtract 3dB from ”attenuated” loudness
     
      Due to peak-normalization in pipeline

» Improves culling and prioritization
       Need to guard against premature culling
     
       before first RMS value is available
      Same for priorities
Prioritizing

» Sound designer specifies base
  priority
       None, Low, Medium, High, Permanent
     
      Combines with loudness into final priority
       at run-time
» Priority determines rendering order
       When max. rendering time is reached,
     
       expel quiet sounds
      Ensures we should always hear the loudest
       sounds
             Use Permanent priority carefully!
         
Mixing

» Traditional scenario
       Mixed at the end of the project
     
      Spent at least a few weeks
      Did nothing else

» Fundamentally different approach
  with HDR audio
       A lot of the complexity ends up being
     
       handled by the sound system
       automatically
      Sound designer ”only” tweaks loudness
       and attenuation values
Mixing

» Battlefield: Bad Company
      Mixed throughout the project
    
     Spent at least an equivalent of 6 months
     In fact, the game was always mixed
             Ship it!
         

        Only a couple of days spent finalizing the
    
        mix at the end
             Including tweaking the listening settings
         
Mastering

» How do you listen to your game?
Mastering

» How do you listen to your game?
Mastering

» How do you listen to your game?
Mastering

» How do you listen to your game?
        We can’t predict all setups
    
Mastering

» How do you listen to your game?
        We can’t predict all setups
    

» Realtime mastering of the 4.0 mix
      Equalizer and Compressor
    
     Sounds can bypass
     LFE and dialog always bypass

» Most common setups
        TV
    
Mastering

» How do you listen to your game?
        We can’t predict all setups
    

» Realtime mastering of the 4.0 mix
      Equalizer and Compressor
    
     Sounds can bypass
     LFE and dialog always bypass

» Most common setups
      TV
    
     Hi-fi
Mastering

» How do you listen to your game?
        We can’t predict all setups
    

» Realtime mastering of the 4.0 mix
      Equalizer and Compressor
    
     Sounds can bypass
     LFE and dialog always bypass

» Most common setups
      TV
    
     Hi-fi
     Home Cinema
Let’s listen to the result!
Conclusions

» Suits first/third-person games
         Most likely other types of games as well
     

» Battlefield: Bad Company audio on
  average 92 rated
       Awesome sound design may have
     
       contributed 
      A case of great tech enabling awesome
       design
» High Dynamic Range audio works!
       Our gamble definitely paid off
     
      The future for HDR audio looks ”loud”!
In the year 2000

» More accurate perceived loudness
      Tweak distance model
    
     Take frequencies into consideration
     More fitting normalization of source data
     Improves culling, prioritization and thus
      the whole sound scape
» Better workflows and debug info
      Live-tweaking was crucial, but could be
    
      improved
     Fix things that didn’t get a lot of attention
      due to focus on shipping Bad Company
» Optimize, Optimize, Optimize!
Questions?




 Contact: anders.clerwall@dice.se

Más contenido relacionado

La actualidad más candente

Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space MarinePope Kim
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The SurgeMichele Giacalone
 
Latest Technologies in Production & Broadcasting
Latest  Technologies in Production & BroadcastingLatest  Technologies in Production & Broadcasting
Latest Technologies in Production & BroadcastingDr. Mohieddin Moradi
 
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingElectronic Arts / DICE
 
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsGTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsColin Barré-Brisebois
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsElectronic Arts / DICE
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lightingozlael ozlael
 
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color CourseFilmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Coursehpduiker
 
Audio Production
Audio ProductionAudio Production
Audio Productionptcentrum
 
Khronos Munich 2018 - Halcyon and Vulkan
Khronos Munich 2018 - Halcyon and VulkanKhronos Munich 2018 - Halcyon and Vulkan
Khronos Munich 2018 - Halcyon and VulkanElectronic Arts / DICE
 
Naughty Dog Vertex
Naughty Dog VertexNaughty Dog Vertex
Naughty Dog VertexNaughty Dog
 
Basics of Videography
Basics of VideographyBasics of Videography
Basics of VideographySusan Murphy
 
Lighting Shading by John Hable
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John HableNaughty Dog
 
Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3stevemcauley
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingElectronic Arts / DICE
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2Guerrilla
 

La actualidad más candente (20)

The Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's EdgeThe Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's Edge
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
 
Latest Technologies in Production & Broadcasting
Latest  Technologies in Production & BroadcastingLatest  Technologies in Production & Broadcasting
Latest Technologies in Production & Broadcasting
 
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
 
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsGTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
 
Destruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance FieldsDestruction Masking in Frostbite 2 using Volume Distance Fields
Destruction Masking in Frostbite 2 using Volume Distance Fields
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lighting
 
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color CourseFilmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
 
Audio Production
Audio ProductionAudio Production
Audio Production
 
Khronos Munich 2018 - Halcyon and Vulkan
Khronos Munich 2018 - Halcyon and VulkanKhronos Munich 2018 - Halcyon and Vulkan
Khronos Munich 2018 - Halcyon and Vulkan
 
Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3
 
Naughty Dog Vertex
Naughty Dog VertexNaughty Dog Vertex
Naughty Dog Vertex
 
Basics of Videography
Basics of VideographyBasics of Videography
Basics of Videography
 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
 
Lighting Shading by John Hable
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John Hable
 
Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based Rendering
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 
Video Editing Process
Video Editing ProcessVideo Editing Process
Video Editing Process
 

Destacado

Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...
Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...
Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...Electronic Arts / DICE
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteElectronic Arts / DICE
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect AndromedaElectronic Arts / DICE
 
Executable Bloat - How it happens and how we can fight it
Executable Bloat - How it happens and how we can fight itExecutable Bloat - How it happens and how we can fight it
Executable Bloat - How it happens and how we can fight itElectronic Arts / DICE
 
5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive RenderingElectronic Arts / DICE
 
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...Johan Andersson
 
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09) 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)Johan Andersson
 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Johan Andersson
 
Parallel Futures of a Game Engine
Parallel Futures of a Game EngineParallel Futures of a Game Engine
Parallel Futures of a Game EngineJohan Andersson
 
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Johan Andersson
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Johan Andersson
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringElectronic Arts / DICE
 
5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)Electronic Arts / DICE
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Johan Andersson
 

Destacado (20)

Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...
Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...
Audio for Multiplayer & Beyond - Mixing Case Studies From Battlefield: Bad Co...
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
 
A Real-time Radiosity Architecture
A Real-time Radiosity ArchitectureA Real-time Radiosity Architecture
A Real-time Radiosity Architecture
 
Scope Stack Allocation
Scope Stack AllocationScope Stack Allocation
Scope Stack Allocation
 
Executable Bloat - How it happens and how we can fight it
Executable Bloat - How it happens and how we can fight itExecutable Bloat - How it happens and how we can fight it
Executable Bloat - How it happens and how we can fight it
 
5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering
 
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
 
Bending the Graphics Pipeline
Bending the Graphics PipelineBending the Graphics Pipeline
Bending the Graphics Pipeline
 
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09) 	 Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
Shadows & Decals: D3D10 Techniques in Frostbite (GDC'09)
 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)
 
Parallel Futures of a Game Engine
Parallel Futures of a Game EngineParallel Futures of a Game Engine
Parallel Futures of a Game Engine
 
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
 
Mantle for Developers
Mantle for DevelopersMantle for Developers
Mantle for Developers
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
 
5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)5 Major Challenges in Real-time Rendering (2012)
5 Major Challenges in Real-time Rendering (2012)
 
Rendering Battlefield 4 with Mantle
Rendering Battlefield 4 with MantleRendering Battlefield 4 with Mantle
Rendering Battlefield 4 with Mantle
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
 

Similar a How High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOM

Final Cut Pro X Lesson 8
Final Cut Pro X Lesson 8Final Cut Pro X Lesson 8
Final Cut Pro X Lesson 8Samuel Edsall
 
Hearing is believing - A quick guide to setting up a High Res Home Audio
Hearing is believing - A quick guide to setting up a High Res Home AudioHearing is believing - A quick guide to setting up a High Res Home Audio
Hearing is believing - A quick guide to setting up a High Res Home AudioPhalgun P
 
The Secret Lives of MP3 Files
The Secret Lives of MP3 FilesThe Secret Lives of MP3 Files
The Secret Lives of MP3 Filesdkaye
 
Skype for Interviews
Skype for InterviewsSkype for Interviews
Skype for Interviewsdkaye
 
Final Cut Pro X Weynand Certification Lesson 8
Final Cut Pro X Weynand Certification Lesson 8Final Cut Pro X Weynand Certification Lesson 8
Final Cut Pro X Weynand Certification Lesson 8Samuel Edsall
 
Next Generation Testing: Biometric Analysis of Player Experience
Next Generation Testing: Biometric Analysis of Player ExperienceNext Generation Testing: Biometric Analysis of Player Experience
Next Generation Testing: Biometric Analysis of Player ExperienceLennart Nacke
 
Basic principles of audio recording
Basic principles of audio recordingBasic principles of audio recording
Basic principles of audio recordingHermogenes Lomosad
 
Audacity workshop
Audacity workshopAudacity workshop
Audacity workshopAxelBohmann
 

Similar a How High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOM (10)

Adaptive Mixing in Frostbite
Adaptive Mixing in FrostbiteAdaptive Mixing in Frostbite
Adaptive Mixing in Frostbite
 
Final Cut Pro X Lesson 8
Final Cut Pro X Lesson 8Final Cut Pro X Lesson 8
Final Cut Pro X Lesson 8
 
MMT Audio
MMT AudioMMT Audio
MMT Audio
 
Hearing is believing - A quick guide to setting up a High Res Home Audio
Hearing is believing - A quick guide to setting up a High Res Home AudioHearing is believing - A quick guide to setting up a High Res Home Audio
Hearing is believing - A quick guide to setting up a High Res Home Audio
 
The Secret Lives of MP3 Files
The Secret Lives of MP3 FilesThe Secret Lives of MP3 Files
The Secret Lives of MP3 Files
 
Skype for Interviews
Skype for InterviewsSkype for Interviews
Skype for Interviews
 
Final Cut Pro X Weynand Certification Lesson 8
Final Cut Pro X Weynand Certification Lesson 8Final Cut Pro X Weynand Certification Lesson 8
Final Cut Pro X Weynand Certification Lesson 8
 
Next Generation Testing: Biometric Analysis of Player Experience
Next Generation Testing: Biometric Analysis of Player ExperienceNext Generation Testing: Biometric Analysis of Player Experience
Next Generation Testing: Biometric Analysis of Player Experience
 
Basic principles of audio recording
Basic principles of audio recordingBasic principles of audio recording
Basic principles of audio recording
 
Audacity workshop
Audacity workshopAudacity workshop
Audacity workshop
 

Último

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

How High Dynamic Range Audio Makes Battlefield: Bad Company Go BOOM

  • 1.
  • 2. How High Dynamic Range Audio Makes Battlefield: Bad Company Go ”BOOM” Anders Clerwall EA/DICE
  • 3. Overview Retrospective » High Dynamic Range Audio » Implications and Benefits » Culling and Prioritizing » Mixing & Mastering » Conclusions » Future » » Q&A
  • 4. Retrospective » Dynamic range traditionally faked Duck and snapshot-mixing   Suits games with predictable sound scape Still, a lot of manual labor  » ..Even for multiplayer Highly unpredictabale sound scape  » Everything was turned to 11 ”Every sound is important!”  But not at the same time!  Amplitude 1.0 has no meaning 
  • 5. Retrospective » Battlefield: Bad Company DICE’s first ”Next-Gen” (360/PS3) game   More of everything  The sky’s the limit! » Frostbite A new beginning   We decided to use HDR audio from the start! Even the name sounded ”Next-Gen”  It’s all about the dynamic range! 
  • 6. What is HDR Audio? » It is.. An automatic mixer   An automatic prioritization method  An effective culling method  A way of mapping one part of a large dynamic range to a smaller one (amplitude) Basically like HDR lighting (Tone Mapping)  » It is not.. Compression  Although sometimes similar 
  • 7. What is HDR audio?
  • 8. Great, but why? » Sadly we can’t play at 128dB in peoples’ homes Neighbors, hearing loss, broken windows   Technical issues with audio equipment » Need a way to make sounds feel really loud But still hear quiet sounds   Without all that traditional manual labor » Spend our time more wisely
  • 9. Great, but why? » Lots of loud sounds make for a crowded upper part of the amplitude range Difficult to make quiet sounds temporarily  loud » ”Every sound is important!” But not at the same time!   So we need a way to tell which ones are
  • 10. How did we do it? » Specify loudness (dBSPL) instead of amplitude The key to HDR audio   Use real-life measurements as guideline  One value-range for all sounds » Measure each sound at the listener position Perceived loudness   3D calculations Angle and distance attenuation/filter  coefficients, etc. There’s no static ”MaxDistance” (gasp!) 
  • 11. How did we do it? » Every sound contributes to the current loudness » Position the HDR ”window” This is the most important part of the  dynamic range  Defined by MinTop, Size, ReleaseTime  Loudest sound can move the window 
  • 12. How did we do it? » Calculate amplitudes Apply headroom if needed   Amplitude 1.0 has actual meaning again! » Let’s listen to it!
  • 14. Implications » Less control No guarantee that a particular sound can  always be heard  No way of predicting how loud a sound will be, in absolute volume » Somewhat of a paradigm-shift for sound designers No longer controlling absolute volume, but  rather the relative volume between sounds  Do they actually need control over that? I’m not a sound designer   They haven’t complained (at least not about that) 
  • 15. Benefits » More control Loudness actually means something!  Preserves the relationship between sounds  in a clear way It’s always obvious which sounds should  play » Based on reality But actually not reality   We’re making a game!  Creative control very important
  • 16. Benefits » Easier to make exceptions to the rule than adding lots of rules For example; give first-person sounds and  VO some headroom » Less/cleaner code Means less bugs. Promise!  » Mixing the game » Enables some pretty nice culling schemes Harsh, but fair 
  • 17. Pre-culling » Before a sound gets activated and starts rendering Start with the sound’s specified loudness  Apply distance/angle attenuation  Remember, this is as loud as the sound  could theoretically get! Previous update’s HDR window bottom is  cutoff » Helps clean up the sound scape » Low overhead These calculations would be done anyway 
  • 18. Pre-culling » One-shots can be completely ignored » Loops are considered infinite and become pending Until they’re explicitly stopped  » Shifts load-balancing to where most knowledge is More reliable   Distance is inferred by loudness It’s about what you hear, not how far away  you are
  • 19. Culling of active sounds » Every sound is either ”Audible” or ”Inaudible” Basically above or below some threshold of  hearing  Assume HDR window bottom May end up being the nth sound’s  perceived loudness due to load-balancing » Once a sound becomes inaudible, suspend it One-shots may never return   Looping sounds most likely will  Resume once audible again
  • 20. Culling of active sounds » Worst-case: Lots of similarly loud sounds They’re all inside the current HDR window   Limit on number of active sounds affects threshold of hearing » Best-case: Your weapon vs. bullet impacts nearby Weapon will raise HDR window and bullet  impacts can be completely ignored  Very common scenario in Bad Company
  • 21. Better measurements » Measure each sound’s RMS Apply to perceived loudness  » Compensate for maximum sine RMS when pre-culling Subtract 3dB from ”attenuated” loudness   Due to peak-normalization in pipeline » Improves culling and prioritization Need to guard against premature culling  before first RMS value is available  Same for priorities
  • 22. Prioritizing » Sound designer specifies base priority None, Low, Medium, High, Permanent   Combines with loudness into final priority at run-time » Priority determines rendering order When max. rendering time is reached,  expel quiet sounds  Ensures we should always hear the loudest sounds Use Permanent priority carefully! 
  • 23. Mixing » Traditional scenario Mixed at the end of the project   Spent at least a few weeks  Did nothing else » Fundamentally different approach with HDR audio A lot of the complexity ends up being  handled by the sound system automatically  Sound designer ”only” tweaks loudness and attenuation values
  • 24. Mixing » Battlefield: Bad Company Mixed throughout the project   Spent at least an equivalent of 6 months  In fact, the game was always mixed Ship it!  Only a couple of days spent finalizing the  mix at the end Including tweaking the listening settings 
  • 25. Mastering » How do you listen to your game?
  • 26. Mastering » How do you listen to your game?
  • 27. Mastering » How do you listen to your game?
  • 28. Mastering » How do you listen to your game? We can’t predict all setups 
  • 29. Mastering » How do you listen to your game? We can’t predict all setups  » Realtime mastering of the 4.0 mix Equalizer and Compressor   Sounds can bypass  LFE and dialog always bypass » Most common setups TV 
  • 30. Mastering » How do you listen to your game? We can’t predict all setups  » Realtime mastering of the 4.0 mix Equalizer and Compressor   Sounds can bypass  LFE and dialog always bypass » Most common setups TV   Hi-fi
  • 31. Mastering » How do you listen to your game? We can’t predict all setups  » Realtime mastering of the 4.0 mix Equalizer and Compressor   Sounds can bypass  LFE and dialog always bypass » Most common setups TV   Hi-fi  Home Cinema
  • 32. Let’s listen to the result!
  • 33. Conclusions » Suits first/third-person games Most likely other types of games as well  » Battlefield: Bad Company audio on average 92 rated Awesome sound design may have  contributed   A case of great tech enabling awesome design » High Dynamic Range audio works! Our gamble definitely paid off   The future for HDR audio looks ”loud”!
  • 34. In the year 2000 » More accurate perceived loudness Tweak distance model   Take frequencies into consideration  More fitting normalization of source data  Improves culling, prioritization and thus the whole sound scape » Better workflows and debug info Live-tweaking was crucial, but could be  improved  Fix things that didn’t get a lot of attention due to focus on shipping Bad Company » Optimize, Optimize, Optimize!