Log In or Create Account
Back to Blog
DEVELOPMENT

9

1,538
Weekly Update - Fiddling Around With Dynamic Battle Music
3 years ago2,454 words
Here are some musical experiments I did to try and figure out how to integrate the musical resonars with the battle background music!

I started off the week by doing a full playthrough of what I have so far, making a list of all the things I need to fix up before running another alpha test. It's a long list! But I made some progress getting through it. The tasks I added to it varied widely in scope - from simple typos to revisions of major features - and I started with a lot of the quicker, easier ones which aren't worth talking about. One of the middling-investment tasks I did gave me something visual to show though:

Since very early in development, the monsters - or figmon, as I'm calling them now - have had species. They're similar to the creature types in MARDEK - I like classifying things in that way - in that they determine the icons to represent monsters, but don't really have much mechanical function other than a few skills having bonuses or resistances against certain types. No rock-paper-scissors relationships like Pokemon types.

For a while though I'd been thinking of using them to restrict which figmon characters can equip, but it's been on my huge To Do List for months. I finally got around to that this week!



Figmon have one or two species, and characters can equip six different types each. They can equip figmon if they're allowed to equip either of their types; they don't need both. So for example Palade is Warrior/Celestial, and Collie can equip it because she can equip Warriors even though she can't equip Celestials, and Savitr can equip Celestials - but not Warriors - so he can equip it too. But Pawnite (I keep going back and forth with that thing's name; it's that again for now) is Beast/Warrior, so now it's effectively - appropriately - unique to Collie, without necessarily adding some explicit "only Collie can equip this" kind of thing.

This helps make each character distinct in terms of battle role, plus something I found while testing was that Collie and Savitr had an overwhelming amount of skill choices early on, which this rectifies somewhat (I have some additional ideas about that which I'll talk about in another post).

I also redrew the head icon/mini-portrait things, since the dream versions of Collie and Savitr were using their waking form ones and I needed to redo those. Plus I added two new types (Celestial and Demonic).

Since I like comparing old to new, here are the old versions:



And the new ones:



The 'official' names for them are:

Beast, Avian, Aquatic, Insectoid, Flora, Amorphous, Warrior,
Fey, Golem, Arcane, Undead, Dragon, Celestial, Demonic,
Savitr, Savitr (Dreamy), Collie, Collie (Blight Wolf), Pierce, Ossoum



An annoyingly long time ago (5 months!!), I ∞ wrote this post about the musical 'resonars' the characters wield, and the issues with integrating melodies into gameplay ∞. I was unable to decide what to do back then, and have been busy with other stuff since then, so for the past several months the resonars have just made no sound at all when used. So that's something important that I tried to address this week.

In that post, I included this video, showing three potential solutions I'd experimented with:



The first sounds ghastly - due to the specific melody more than anything - but the others sound acceptable, maybe... at least at the start of the background track, when it's just playing accompaniment. Once the music starts playing a melody, it and these player-triggered melodies interfere with one another in a way I imagine many people would find frustrating.

The week after that, in ∞ this post ∞, I wrote about how I'd experimented with an alternative, where each piece has channels for each character that are normally silent, but which fade in while they're using a skill:



The main issue with that is that it'd require every battle track to have several unique tracks that have to sound okay regardless of where they start playing from, which seemed very daunting and unenjoyable to compose.

As I said in one of those old posts, I love the two battle tracks I have currently, and I know that battle tracks tend to be the most popular pieces on OSTs. I know I'd want an RPG OST to have some good, memorable battle music. But there's also a lot to be said for the potential of dynamic music to really involve players in the experience... So I feel very conflicted!

I mean I could just scrap the resonars, again, and do away with the music stuff, keep the standard battle tracks... But I already did all that and ended up coming back to them, so I wanted to at least try to experiment a bit to see if I could end up with something that could work.

So I spent all of yesterday (including many hours outside my usual scheduled 'work time') and this morning doing that. I'll go over the whole journey; both the initial ideas and their revised versions.



I've been playing Pokemon this week, and I got wondering how they handled Sing in those games. Conveniently, Pokemon's enough of a cultural juggernaut that at least some of the legions of fans are happy to devote their time to making videos like this:



In some games, Sing causes the background music to fade, but not in others. Seems it's got quicker over time, presumably to be less of a disturbance. You'd use Sing so rarely though that it's hardly a fair comparison to the music clips that'd play on every turn in Atonal Dreams.

After thinking about it for some time, I wondered whether instead of there being a 'Casual Battle' track, maybe each of the game's handful of 'dungeons' could have its own battle track (or 'Musical Environment', as I apparently titled the files).

Each could have a repeating 2- or 4-bar groove which could be changed based on an intensity value that'd be altered by plot states (which is already a thing in the game). When characters used a skill, the procedural music-playing code I already have could play a melody specific to that area's track and the skill's or figmon's element, always starting at the beginning of a bar to keep it in time with the music.

So every skill would have a melody determined by its element, with the instrument used to play that melody being determined by the character (violin for Savitr, flute for Pierce, etc).

Here's a video of me playing around with the idea:



The 'groove' would just be those two chords repeating over and over... which I was concerned would get stale too quickly. Plus I wasn't clear on what exactly was going on with the intensity adjustments. The piano changes and the tempo and key shift, but it was muddy and vague. Plus that specific attempt didn't sound very battle-music-like.

So I tried again:



The ideas are similar, though this time it uses a more active rhythm, and the accompanying piano chords change based on the elemental melodies. The intensity was still vague though; there are like five different intensity levels being explored there.

Another attempt:



Again, the melodies change the underlying chords... but I feel like the result is too colourful, too all over the place; any feeling of consistency of environment is lost. Like a painting that uses a bunch of different unharmonious primary colours; really garish. Plus composing six different elemental melodies + chords took too long, and while I'm pleased I'm at the creative level where I can spit out melodies like that without any struggle and have them at least vaguely feel like I intended them to, I feel they all kind of blend together because there's no external familiarity to hook onto. The melodies and the changed chords are also too long for a fast-paced battle with many different skills being executed.

Attempt number four:



I think this might be close to something that could work!

I used the general groove from the previous attempt, but instead it's extended to 8 bars that'd play on loop (feels like the minimum amount to me for a short journey), and the melodies are based on the characters instead of elements. I feel that each one using their musical motif in combat like this is a much more potent memory hook than something vague and distant like elements... plus it's much easier to compose since I already know their motifs and there are fewer characters than elements.

I wrote recently (last week?) about how I'd been thinking of changing the 'arousal' stat that characters have to 'wakefulness', but I also felt while testing that the damage altering aspects of that stat on top of element and runes were just too confusing or irritating. Plus I liked the idea of the music's intensity changing, but wasn't sure what that'd depend on; would it always be triggered by a significant plot event?

I had an idea: Maybe Intensity is a basic battle mechanic? It'd be a value with three possible states: Calm, Normal, and Intense. There could be some kind of global intensity gauge, and when you take or deal damage - or maybe the greater the effectiveness multipliers of the skills you used - it fills. Some skills could also raise or lower it specifically, rather than riling or calming a specific target.

They might give fixed damage multipliers: at High intensity, everyone deals and receives double or 1.5x damage, while at Calm everyone takes and deals half damage.

And of course the music would change to reflect the current intensity value. It'd basically change the depth of the looping accompaniment, though some pieces could have distinctly different Calm, Normal, and Intense sections (a dark, forbidding Normal section and a glorious, triumphant Intense one, for example).

This is an idea I had literally hours ago though, so it's hardly fully-formed! And as you can see from those composition attempts, the perfect idea doesn't arrive complete; they need to be worked, refined, experimented with.

If I did go with something like this though, each 'dungeon' area could have its own battle track, and they'd be composed in a clear, structured way. Each one would need:
Three 8- or 12-bar looping 'grooves' for the three intensity levels
Short melodies for each character (based on their motif, but unique to each piece to fit its unique rhythm and key), and either one for all figmon, or a few for the handful of figmon species in that area.

It'd actually be much easier to make the pieces if I had a clear plan like that. I still haven't composed a battle track for The Beast because of uncertainty about how to approach it, but having a clear plan like this makes me excited about the idea! It's like how the limitations I gave myself for Sindrel Song helped simplify the composition process for that.

I could even do away with regular background music for dungeons, and instead give their battle tracks an additional 'out of combat' section which plays on loop between battles, shifting seamlessly into a different intensity when battle starts. That's something I might play around with next week.



I'm still very much in the excited, experimenting phase with this, but I feel like I might finally be onto something that could possibly work maybe?!? But it's hard to know when it's just abstract; maybe I'll implement it and it'll just be unpleasant.

One concern I have are that the looping groove sections would get too repetitive; good pieces of music are journeys, with lots of tension and release, while the unavoidable nature of this approach would be much flatter. Whether or not the player triggering the melodies would make up for that could only really be discovered through testing.

Another is that the music would be largely aesthetic; the player doesn't tap in time with the rhythm or play a melody or anything like that. They just select a skill, then the character plays their melody at the start of the next bar. I wonder whether people would have the expectation that they should be interacting with the music, though, and they'll complain if they can't.

Speaking of which, each skill starting at the beginning of a new bar might lead to some frustrations because there'd necessarily be variable delays between skill selection and execution. Maybe if people are caught up in the groove though, it'd be okay?? It'd never be more than a second or two.

(Or timing it correctly - waiting for your cue - could be the way of interacting with the music... hmm.)



Next week, I'll try to make a working prototype so then I can actually demonstrate what I mean; it's hard to communicate the ideas I have swirling around in my head in just text! Hopefully at least some of what I'm thinking of came across here though!



I still haven't decided on a new PC - I keep procrastinating and forgetting about it - so I'll need to sort that out soon if I want to get one before Christmas interferes with deliveries etc.

I have however been playing Pokemon: Brilliant Diamond this week. I avoid hearing what the critical community takes issue with, and I've just been enjoying it in my own way, noticing a lot of things as a developer that I could learn from. I'll write about it more when I'm done (like I did with Kingdom Hearts: Chain of Memories...), but one relevant thing worth noting is that Pokemon battles - locked into keeping everything familiar because the alternative would be outrage - are sloooow, what with all the archaic battles system's pauses and unnecessary text box descriptions. Obviously they can get by on brand familiarity though in a way that some random indie game couldn't, so it's not as if players' acceptance of that says anything about how they might feel about delays in Atonal Dreams' battle system!

Oh, and yet again I did no meaningful work (other than fiddling around with a model for about an hour) on that AFC Remake/Mentales thing this week. Bleh! I never had the energy; hopefully the mental weather will be better next week??

I've also continued to be terrible at engaging socially with anyone - online or off - for that reason. I really should do something about that.

9 COMMENTS