Wednesday, 19 December 2018

The Fifth Element

*Disclaimer: this blog has nothing to do with the movie starring Bruce Willis.

Do you want to upgrade your elemental skills throughout the game? You betcha goshdarn tush you do. Well, luckily ya girl has been slaving over a skill upgrade system for the last couple of months, and things are getting pretty real.

Learn Suffocate? Wow, what a wholesome skill!

You see, other existing skill upgrade systems just weren't going to cut it for me, mainly because they are all based around the skills themselves, and I wanted to include some other arbitrary things, like increasing stats, increasing the damage of said skills, etc. Plus, the upgrades are all based around which shard you have equipped, of which there are many (two for each element (single target and multiple target), plus three levels, so 36 in total), and the skills are basically the same skill, different flavour.

Basically, every time you use an elemental skill, you earn arcana experience (e.g. arcana EXP in the screenshot above); at the moment, I've set it to accumulate 3 points per skill use, but I may change that later on down the line, depending on how the balancing and things go. You can then use this arcana experience to upgrade the skills in the Skill Upgrade menu. If you decide you don't want something anymore, you can just downgrade the skill and get the exact amount of arcana points back. I think this makes for a more flexible build, especially since you're encouraged to chop and change the shards as you please, and I didn't want to punish the player.

The Upgrade menu is populated with upgrades relevant to the shards you have equipped (of which you can equip two) and the Downgrade menu is populated with all the upgrades you have purchased. If you want to wipe the slate clean, you can just hit Reset. The upgrades are active while you have the relevant shard equipped; e.g. if you purchased 'increase AGI +1' with a Austri Shard (single target air), it will only be active while you have Austri Shards equipped.

For those that are interested, I basically made a big hash of each upgrade at each shard level, each skill relative to each element and each shard ID relative to each element. It was a lot of brain work. I have big brain now.

The :none stands for the amount of friends I have now
Each 'upgrade' has its own code string that I then parse further on in the script to figure out what it is I want and how the upgrade will work. You know, there's probably a way simpler way to do all of this, but this made sense to me and seemed like the least amount of work and repetition.

Another script that I made that ties into the skill upgrade script is an element absorb/reflect/damage boost script. I wanted battlers to be able to absorb/reflect only a certain percentage of elemental damage when under absorb/reflect states, but I also wanted to player to be able to boost the absorption/reflection percentage through different upgrades. For example, you might absorb 50% air damage when under the Air Absorb state, but if you've unlocked the 'increase absorption' upgrade, you will absorb 75% air damage instead. Everything is accumulative as well, so there might be a piece of equipment that also boosts your absorption rate by 10%, making it 60% without the upgrade and 85% with the upgrade.

I do hope these sorts of updates where I blather about what I've done are interesting and/or helpful. I don't really know how much detail to go into.

Right now, I'm focusing on going back through the database and balancing stats, making damage formulas, that sort of thing. It's pretty fun. I recently discovered the benefits of having a multiplicative damage formula (currently atk_param * (atk_param / (atk_param + def_param))) * modifier), as opposed to the additive formulas I originally had (e.g. atk_param * modifier - def_param * 2). It's been making things a bit easier to balance, which is nice.

And while we're at it, here's another screenshot of a map I finished fairly recently:

I think that's the last map involving water that I need to do for this set of maps, so that's exciting. Having two different water levels really did seem like a good idea at the time. I have two or three more maps to go before I finish that dungeon, but they don't (at this point) involve water, so I should be able to churn them out fairly quickly (she says).

Perhaps once I finish all the database balancing and things, I'll release an updated demo. It won't have any more story-related stuff, but at least it'll show off the new mechanics and stuff. I feel like that'll be useful? I dunno. Anyway, thanks for coming to my TED talk.

1 comment: