I made a lot of improvements to Atonal Dreams' battle system this week!
First Weekly Update of 2022! Gasp!
I'd got into the habit of writing these on Friday afternoon, but I've been so busy this week that I chose to spend that time doing dev work instead. For months, due to various factors, I was getting between 1 and 3 hours of productive work in most days, if that - and I missed some days completely - but this past week I've done between 5 and 8 hours every day, so that's a big improvement. I've been really enjoying it, too!
I made a simple testing area separate from the story areas - something I should have done ages ago but never did for stupid reasons - where I focused entirely on addressing various issues with the battle system. I made a long list of all the missing features, bugs, etc, and managed to add or fix around 80% of them, to my surprise! I suppose the finish line feeling close motivated me to do stuff I would have otherwise put off until another day (for finalising the mechanics I mean; releasing the game is still a long way away!).
I started the week by spending all of Monday composing some new 'standard/casual battle' dynamic music. I already had some that I'd composed specifically for the Sprouting Isle area, but I felt it was too pleasant for battle music that'd be used everywhere from the tutorial island to dank dungeons and haunted catacombs, and I also felt I'd learned a lot from experimenting with the 'Dynamusic' system about how to compose music that'd work with it so I was curious and motivated to see what else I could come up with.
I should upload both the old version and the one I composed this week to ∞ my Patreon ∞, but since they're composed in parts, with the melodies playing over the backing at different times based on player input (which I like because it's like you're never listening to the same background music twice), it's trickier than usual to produce a 'definitive version'. I'll need to for the eventual OST, though, so I should give it a try; I'll post them on Patreon when I do.
I revised the UI a bit. The stat number icon things on the 'statues' look slightly different to how they used to, and the skill info box is now coloured according to the element/rune gradient, which I find rather pleasing. It's got a revised layout too since some of the information it showed was unclear or no longer relevant.
I also implemented the Wakefulness thing I've talked about a couple of times. Now, when a character's wakefulness - their beating heart - reaches 0%, they enter a Slumber state, and when it reaches 100%, then enter a Mania state. The coloured circles in the centre of the faces show this status: here, three of the four allies are in a Slumber state, and a Rabbish on the enemy side is in a Mania state.
I'm not yet completely decided about what this actually does, though. Currently I'm thinking of using this instead of typical RPG status effects, so Slumber acts kind of like Pokemon's paralysis in that you have a 1 in 3 chance of 'dozing off' and missing your turn, and Mania deals damage each turn like Poison. I could tweak their effects if they become too overpowered, useless, or annoying for players during the next alpha test.
I've also added a visual "BONUS" indicator when you succeed at hitting the rhythm, which wasn't there before.
The colour of the 'cord' that you're meant to 'connect' two barlines with is the same as the speaker's speech bubble colour, which presented issues when trying to attack with figmon that you'd tamed from the other side since they don't have all the same data that the human characters have. I addressed this by having tamed figmon store a reference to their tamer, and when you use a skill with that figmon, their tamer plays their instrument and the UI colour is based on their voice.
There was another issue here though: what if the tamer is KO'd? They couldn't play their instrument then. So to address that, now when a human character dies, all tamed figmon assigned to them die too. This means that you can't win battles if your human characters are KO'd, which is something I wanted to be the case anyway, so I'm pleased with how it turned out.
It also works with the lore, as the figmon are mental manifestations rather than physical creatures. So if they become adopted into a person's consciousness - as they do when tamed - then when that person falls unconscious, they cease to be.
I've found that the intensity system - with stars that fill or empty based on damage dealt or certain skills used - feels fairly significant in the battles I've tested so far. The music changes when the intensity shifts, and now I've added this visual indicator which makes it feel more polished.
I've improved this 'Pokedex screen' (bizarrely called 'TamedFancy' in the code, for reasons I can't remember) which shows after battle if you've tamed a new species of miasmon and acquired its skill. Obviously the book would have lore text, but I'll write all that later!
I also composed a short music loop that plays during this, which was tricky since unlike, say, battle music, there aren't really any references to what music in such a scenario 'should' sound like, other than the obnoxiously short cheery loop from Pokemon. I made a 30-second loop in about half an hour which I hope will be okay.
I revised the skill equipping menu, though I don't know if I ever showed the old version so maybe that doesn't mean much to anyone but me!
The main noteworthy thing here though is that - on this screen only - each skill shows a six-point star/aster thing in the upper right. This is the skill's boon, which is a permanent stat boost you get for levelling up the skill by using it.
Previously, each skill had two separate boons, the first of which unlocked when you trained the skill to its initial cap of level 10. By clearing an area of a particular species, you unlocked a level 20 cap for it, and reaching that would unlock a second boon which could be different to the first.
Now, though, level is capped at 60, and for every 10 levels, you get one extra 'petal' of the flower, and a singular stat increase associated with that skill is applied for each petal. So if a skill had a HP+5 boon, then you'd get 5 extra HP for every 10 levels of that skill. Using a wide variety of skills would be the main way of increasing your characters' stats.
Because there's no longer a second boon unlocked by clearing a species in an area, I've been wondering about some other possibilities, like one where skills work like characters in roster-based mobile games in that they have a star rank which can be increased by acquiring shards (or whatever). Maybe you'd get shards either by defeating figmon or taming them - more for taming them, maybe - and you'd get enough to fill an additional star from clearing a species in an area. I'm thinking that in addition to the finite number of fixed battles each area has, there could be some optional way to trigger as many random battles as you want - some chest you can open repeatedly or something, not wandering around in grass or whatever - and maybe some figmon would appear in those battles more rarely than others, making their skills and those skills' stars and boons more valuable... or something. It wouldn't be tough to implement, but it feels probably too micromanagey for a short, linear RPG, probably. But then again, you could probably ignore it during a casual run, and a lot of people did seem to like mastering all the skills etc in MARDEK...
I also paid some attention to equippable items, which I've largely ignored for much of the development. I've gone back and forth between imagining them as granting basic stat boosts or more complex passive effects, and what I've settled on is kind of a middle ground.
Items have up to six properties, which have different trigger conditions. The green 'Passive' ones apply stat changes as long as the item is equipped (on a technical level, they're applied at stat calculation), while others - usually damage boosts - trigger when using skills of certain types or hitting targets of certain types.
I suspect it's similar to how most games work behind the scenes, including MARDEK, so it shouldn't be too difficult to understand or anything. I'm pleased with how I've coded it though; much nicer than MARDEK's naive code!
I also fixed a bunch of bugs and made various technical changes that I can't really visually show!
So yes, it feels like I did a whole lot this week! I'd also like to get back into uploading weekly music albums, both to Bandcamp and maybe to YouTube as well, which I'll write a separate post about once I've finalised this week's.
2