The majority of my time since my last blog has been dedicated to learning and using Audio Kinetic's Wwise software. Before diving into it, my only impression of middleware was of FMod - something I used briefly during our Sound Design course in 2nd year. I appreciated what it was offering the sound designer, which was essentially less dependency on code and the programmer, but I wasn't as enthralled by it as I felt I was supposed to be. FMod tries to look very much like a DAW (Digital Audio Workstation), which is definitely something I identify with, since that is a standard audio software design. However, it's precisely because of that design that I found it difficult to make logical connections between FMod and the code within Unity.
Wwise I found easier to learn because I can connect the dots from audio file, to event, to event actions, to sound bank, to script event, to functionality. Within Wwise I've steadily taken more work off the programmer's hands (i.e. state changes, switches, parameters, etc.), and I can test, troubleshoot, and create a more efficient sound design all within the middleware. Wwise has a great debugging mode that provides comprehensive real-time data during gameplay so that I can observe and track every morsel of activity and burden on memory. Wwise tutorials on the Audio Kinetic website and on YouTube have been very easy to follow. The more I understand Wwise, the more I like it. I don't want to work on another game project without it in fact - I would instantly feel powerless if I did.
It's through this learning experience that I've also seen how much I could have benefited from learning Wwise much earlier on. Since I'm acquiring more control over the implementation of sound and its various conditions in a 3D game world, it has become very clear how many bugs audio can have. So far, there are 95 different sound effects and music pieces in the game, and more are coming - not a single one hasn't needed adjusting in some noticeable way. Most of them don't work as intended right off the bat, especially when there are conditions (i.e. only playing a sound during a certain animation, but stopping it if the animation is interrupted by only certain actions, without it interfering with other sounds that need to carry on). It's been lots of confusing frowns on my part, but it's also been incredibly rewarding to figure these things out. I almost enjoy problem-solving within Wwise - it feels like my sound stage. I want to keep developing my Wwisdom in audio implementation so that I can see more and more of any game scene as the production window of my DAW - a tool only limited by my knowledge and imagination.
I'm very excited about our game nearing completion. While the game wet set out to make isn't necessarily what we've got, I think the game we have is certainly one we want to make. The learning has been profound, and I am very anxious for more long-term game projects because I really don't see myself getting tired of development.