For July, a lot more work was done on improving the combat. The goals for this month were to re-implement the abilities using the new combat scene, brainstorm extra gameplay features to allow for more interesting action, and adding weapon attachments to weapons.
Cast a Spell on You
Since the combat loop code was being refactored, it was a great opportunity to also rework the code for how abilities are implemented. The major improvements were from separating the ability information from the visual sequencing that occurs when an ability is performed. There used to be one class dealing with how all the abilities visuals would appear and interact with targets but having them split up into individual classes makes it a lot more manageable to make changes in the how an ability will appear.
As in the above gif, there is now an ability selector since units now can have multiple abilities rather than just have one special ability. The original concept was to have a single ability since there would be a large pool of characters. But in order to have a game with characters that have character development, the number of characters needed to be reduced so that everyone has a significant role in the story. Having multiple abilities per character gives you more decisions to make, which should help in leading to more engaging combat.
Locked and Loaded
Having only 4 pieces of equipment per unit felt pretty limiting since the equipment used/received would be the same at the same points in the storyline. I wanted there to be a way for you to be able to make more fine-tuned decisions in what kind of character you want to make. Weapon attachments felt like the perfect thing to implement since they can act like gem/crystal modifiers in other JRPGs.
The UI for equipping/unequipping weapon attachments has been completed. What I'm think about now, is if there should be a system like in the "Tales of" game, where each weapon, or in this case weapon attachment, has a passive ability associated that can be permanently learned after some time using the equipment. This can lead to interesting scenarios where rare weapon attachments are being cycled through all party members, to be able to learn a certain passive or trying to weigh the benefits of stats vs passive ability.
Something that felt like it needed to be added to combat was a resource system. Typical RPGs would use mana for magic abilities or even stamina since the characters physically exert themselves. In Bright Red Skies, the main method of dealing damage is through modern weapons such as guns, so mana and stamina resources didn't fit. But what does make sense, are bullets. By giving units a set amount of ammo, it should make you think harder, since some abilities will use the ammo resource as well.
Knowledge is Power
I wanted to make it easier to understand the values of accuracy and damage when attacking a target, since looking at your unit's stats it might say that their accuracy is 70% and the amount of damage they'll do is 4, but the real chance to hit is 55% and real damage is 3. This might be confusing, since you don't exactly know where these stat debuff are coming from, so there is now UI indicators that will point at objects on the screen that are affecting stats. For example, in the gif below, when there is a full cover in the way, it will block 100% chance to hit. The full cover is pointed at and there is an info card explaining that it causes "-100% Accuracy".
Future Game Mechanics
There are still some more modifications that can be done to improve combat. One of the mechanics that still needs to be introduced is a weapon's "effective range". All guns, no matter what type, can shoot at a target no matter how far they are, but this doesn't really give weapon types a distinct feel to them. This is where effective range comes in. The effective range is the hex range that the target must be in to be able to attack them with no stats debuff. If the target is outside the effective range then the target can still be shot at, but there will be major accuracy and a slight damage debuff on the attack. By doing this, weapons like the shotgun can be given a low effective range and snipers can be given a high effective range so that the weapons are used like they are typically in other games.
Another mechanic that I'm thinking about introducing is being able to perform multiple basic attacks in one turn. The idea is to increase the ammo usage for each additional attack to give a large downside to making multiple attacks. For example, the first basic attack would use 1 ammo, the second basic attack would use 2 ammo, the third uses 3, etc. Making multiple actions would also put the unit in the turn order as if they used the same amount of actions, so there would be a period where they are extremely vulnerable. This mechanic seems like it would be great since it can be used to more quickly clear combat where you're against generic trash mob enemies, and in important battles, it can be used when setting up a string of debuffs on an enemy to capitalize on damage output in one turn.
Behind the Scenes
This part of the devlog is for talking about the improvements that were made but can't clearly be shown with a gif. It's done so that you can have a better understanding of all the things that have been completed. So, for July, the following was also done:
- Removed the need to use colliders for ability interactions and instead purely using position and tweening, for performance.
- Replaced the defend action with reloading.
- Added a forest combat scene.
- Updated the combat effects manager and how it instantiates effects on the map.
The combat is really starting to shape up, but there's still some more work to be done! For August, the plan is to complete the following:
- Add the "effective range" combat mechanic.
- Implement the system that allows for a unit to perform multiple actions.
- Create new UI for turn order.
- Transition from world map to combat and combat back to world map.
If you have any suggestions or want to give your opinion on the game, follow me on social media, I listen and respond to any comment :D