CppCon 2017: Guy Somberg “Game Audio Programming in C++”

preview_player
Показать описание


Game audio programming is a sort of dark art practiced and understood by its few practitioners, but audio is an important and vibrant part of any game. There is a huge body of knowledge and history here, but the C++ standard, unfortunately, has yet to acknowledge the existence of audio output devices. In this talk we'll discuss the current state of the art in game audio programming, and what steps we can take toward bringing real-time audio to the C++ standard.
We will begin with first principles: representing waveforms and playback of sounds. With a few basic mathematical principles out of the way, we'll discuss how a low-level mixer works, and the sorts of tools that game audio builds on top of it. Finally, we will present a set of abstractions that are useful for real-time audio, and how they can be brought into the C++ standard.

Guy Somberg: Echtra Games, Inc., Client Lead Programmer

Guy has been a game audio programmer for 15 years, and has shipped numerous titles, including Hellgate: London, Bioshock 2, Minion Master, The Walking Dead Season 2, Tales From the Borderlands, and Game of Thrones. (The last three are all Telltale Games adventures.) Also, Dora the Explorer Super Star Adventures. And slot machines. He has written the audio engines for all of those titles, and has been working in C++ for his whole career.


*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

Nice slides, this is how it should be. Thanks for uploading !

hanneshauptmann
Автор

Great video. The Richard Scarry book was a nice touch.

EntertainmentUnit
Автор

I think the standard has something to say about audio: printf('\a')

xavierthomas
Автор

Very nice talk. And as others said: Busy wait, yikes, but in game audio they probably make sense. Would be nice to know how hardware acceleration comes in to play (EAX, openAI).

Superlokkus
Автор

In the sense of "keeping simple things simple" and as a beginner I would like to have some sort of a 3-liner, that does everything from loading to playing a sound.

OperationDarkside