When you can’t do it the normal way, but you can’t not do it… you find a way, right?

I wanted a simple way to experiment with interactive scores, implemented in Unreal and Wwise, that allows for things like changing combat intensity levels without actually having to build a game with NPC enemies, AI, etc.

So: a proxy system. Let standing = low intensity, walking = medium intensity, and jumping = high intensity. I quickly whipped up a test score with three levels and some stingers to help cover the transitions. Now all I’ve got to do is some basic mathy things to get the behavior right. We don’t want it bouncing between levels instantaneously. We don’t want it lingering too long at the wrong level. We do want nice, musical transitions. We don’t want it skipping the middle level—or do we?

A little Blueprint system takes care of all this. Every tick a variable is checked. If we’re standing still, it goes down in value (until it hits a lower limit). If we’re walking, it climbs slowly. If we’re jumping, it climbs quickly (until it reaches the upper limit). There are clamps on the delta—limits that allow it to ascend faster than it descends, but not too fast. And the number value at which we climb into the level above should probably be higher than the value at which we sink back down—or else we need some other mechanism to stall the change for a short bit so it can’t toggle rapidly between two levels.

The system I’ve got here needs a little more refining, and I’d like to add proxies for things like health and damage, combat stingers, and other things. Then I can get back to the main attraction—experimenting with some intensity-level-based interactive music techniques. I plan to follow up with another video once I’ve developed this further. Let me know what you think!