CriWare Audio API Adventures!
Recently, I wrote a test tool for our sound designers at IGT. CriWare makes pretty much the only audio middleware out there for web games. More info about them here: https://www.criware.com/en/
Their WebGL API is pretty easy to understand, so I got this sound cue tester going while our sound designers were waiting for engineering to finish integrating the CriWare audio engine into a newly-adopted Haxe-based framework.
We were in need of something that generates buttons for each sound cue we set up in the AtomCraft middleware session, names the buttons per cue name, sorts them into different categories to keep everything organized, and handles the more complex playback behaviors. Writing a pre-delivery tester helped us ensure beat-synced cues and events that wait for a beat division before firing would work, so we know what to expect once we get it in a game’s build.
This is a demo video where I’ve loaded it up, and am playing some dorky chiptunes-ish cues I made. This mainly demonstrates how good CriWare is at waiting for a phrase or beat to be complete before transitioning to different sections of music. I’ve built a separate SFX player below the music player as well, and most one-offs get sorted to this simpler player. Those have various sequential and random sound trigger functions set up in AtomCraft and loaded here.