SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

High Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteHigh Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in Frostbite
Electronic Arts / DICE
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
Tiago Sousa
 

What's hot (20)

Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360
 
Crysis 2-key-rendering-features
Crysis 2-key-rendering-featuresCrysis 2-key-rendering-features
Crysis 2-key-rendering-features
 
CryENGINE 3 Rendering Techniques
CryENGINE 3 Rendering TechniquesCryENGINE 3 Rendering Techniques
CryENGINE 3 Rendering Techniques
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
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
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
 
High Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteHigh Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in Frostbite
 
SPU Shaders
SPU ShadersSPU Shaders
SPU Shaders
 
Lighting you up in Battlefield 3
Lighting you up in Battlefield 3Lighting you up in Battlefield 3
Lighting you up in Battlefield 3
 
Introduction To Video Compression
Introduction To Video CompressionIntroduction To Video Compression
Introduction To Video Compression
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 

Viewers also liked

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
Electronic 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
 
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
 

Viewers also liked (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
 
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
 
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
 

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

Similar to 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
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
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...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 

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!