Knee Deep in Wwise: Reimplementing the Doom Audio Engine - Robin Fencott - ADC20

3 Просмотры
-- @audiodevcon
Organized and produced by JUCE:
With production & streaming by Digital Medium:
This talk covers a project undertaken earlier this year to reimplement the audio engine for an open source port of ID Software's 1993 title Doom, using the Audiokinetic Wwise C++ SDK and content authoring tool. Devised as a learning and portfolio project, the author had no prior knowledge of Audiokinetic Wwise, no previous experience with the Doom codebase, and indeed no other game development experience whatsoever. As such, this talk is suitable for beginners wishing to learn more about the Wwise audio middleware, spatial audio developers, gamers and of course Doom enthusiasts.

Doom is once of the most influential video games of all time, defining the first-person shooter genre and introducing countless technical advancements which shaped the course of gaming history. The open-source licensing of Doom means it has also been heavily modded, ported and hacked-upon, and comes with two decades worth of community documentation.

Aside from the obvious absurdity of integrating a state of the art and industry standard audio engine into a 27 year old title, this project presented lots of interesting technical challenges and provided the opportunity to explore many of the core, low-level feature of the Wwise SDK.

The project features audio events for all the original game sounds, plus many brand new audio events such as a velocity based footstep algorithm, bullet ricochets and gore splatters, shock states and critical health sounds, data/texture driven environmental sounds, geometrically informed occlusion, attenuation and early reflections, and a novel geometry classifier using an RTree-based algorithm to procedurally analyse Doom's idiosyncratic map/level data and dynamically calculate reverberation sends for more realistic sound spatialization as the player moves around the game.

Using diagrams, code examples, video clips and play-throughs this talk will provide necessary background on the Doom engine software architecture before delving into the process, challenges, discoveries, successes and pitfalls of the implementation.

Specific topics will include exploring and unpicking the Doom engine to extract relevant data for transformation into Wwise API calls and Sound Events, writing extensions to the Doom engine to manage adding/removing/positioning Wwise Game Objects, events, states, switches, RTPMs and game defined Aux Sends. Finally, detail will be provided on translating Doom's '' fixed-point arithmetic graphics into a full 3D coordinate representation using the Wwise Spatial Audio/Geometry API.

The talk will conclude with a discussion of what can be learned from undertaking such a project, and the benefits from an educational and portfolio perspective.
Robin Fencott (Freelance)
Robin Fencott is a London–based musician, creative technologist and freelance software developer with a technical background spanning audio, graphics, interaction, mobile, web, backend and physical computing. He holds a PhD related to musical interface design from the Centre for Digital Music at Queen Mary University of London. As an independent artist/researcher he is frequently engaged in collaborations connecting art, music and technology. Robin releases electronic music as Metalogue and co-organises a label and electronic music club series titled Towards Collapse. He has presented and performed work at many high profile events and institutions including Boomtown Fair, Tate Modern and New Interfaces for Musical Expression (NIME), as well as countless underground and DIY events across the UK and Europe.
Special thanks to the ADC20 Team:

Céline Dedaj
Timur Doumler
Derek Heimlich
Josh Hodge
Andrew Kirk
Bobby Lombardi
Tom Poole
Ralph Richbourg
Jim Roper
Комментариев нет.