Welcome to our tenth dev blog- Spellcasting!
We’ve done previous dev blogs about Combat (see here: Indiedb.com )
However, we’ve never gone in-depth into our spellcasting system.
In Moonrise, there are a vast array of different Units, each with multiple unique spells to take advantage of. With so many Abilities, how could one easily cast all of them in both a quick and convenient manner? Accomplishing this is simple- by utilizing a Spell Hotbar. Player is allowed to drag and drop various spells they wish to use onto it, and customize how they can cast it, controlling exactly what keypress to be used for each spell.
In addition, we provided near-indefinite space- with 15 slots per bar, and 4 bars total, there’s more than enough space for every spell to be used. This is granted if its necessary- in our development process, we found the 15 slots to suffice for most combat.
Now, onto some of the logic behind it:
Inherent spellcasting logic casts each spell based on the first available Unit which can cast said spell. Meaning, if you have two different Units, each obviously having different Abilities, you can simply select both, cast the initial Ability, then cast the second Ability, all without having to vary who is selected. Selection is key here- you can merely have all your Units selected at once, and be able to access all of their Abilities at any given moment.
On top of that, there is also some ‘smart-logic’ behind casting the same spell with multiple of the same Units selected. If a Unit is casting a desired spell, we definitely do not want to override it with another one. We want the spellcasts to spread out across all Units, and not have to worry about who casts what when we’re worrying about how to defeat whom we are fighting (which could be a large group of foes, or a difficult boss). As such, spellcasting logic allows for casting the same Ability across multiples of the same Unit-type smart enough to know that casters already casting said spell should not be overridden, and the desired spell should go to the next Unit.
Lastly comes “All-Cast”- certain Abilities are not cast one-by-one. This is done intentionally- you may not want a spell to be cast by multiple Units but instead just a single Unit. On the other hand, for other Abilities, you may want all Units to cast the desired Ability. This is where All-Cast comes in: it saves you precious seconds from having to cast the spell with all your Units one-by-one, and instead has all your Units (that can use the Ability) cast it as soon as possible.
Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!
If you’re brand new, consider checking out our trailer and overall description of the game here: Indiedb.com