For June, all the work done was related the combat system of Bright Red Skies. The main goals for this month were to conceptualize different gameplay designs, refactor the existing combat-related code, and making some quality of life improvements. Although the combat still needs to be improved some more, I'm really satisfied with where the combat is going!
Ideas, Ideas, Ideas
I felt like the old combat was lacking in some fun factor, so I decided to spend a good amount of time trying to conceptualize combat ideas. The first thing I tried was updating the current combat by adding a vertical component so that squads can get the high ground over their enemies.
The issue here was with the importance of having the high ground over the enemy. By adding more stats to a squad on the high ground, such as bonus cover/defense/attack, it effectively becomes a slightly improved version of a regular hex since each hex can have environmental cover. The vertical aspect didn't seem like it would really have much of an impact to the gameplay, so I ended up scraping the idea. Additionally, when the height of the hex was high, then the hex could block the line of sight but because of the shape of a hex, it would block the line of sight significantly which was unwanted.
After going through the idea with adding verticality, I started to think of creating a completely different combat mechanic. It would be a very similar to the very first version of combat where the game would play in real time with pausing allowed. It would take some time for a squad to reach its destination and complete an attack, so fast squads would be able to move away faster from special attacks compared to slower tankier squads.
After thinking about it more, this concept seemed like it also wouldn't be fun since either the game was slow enough for you to be able to comfortably command a squad to move or attack, but once the commands would be given then since the game is slow, there would be a lot of waiting. On the other hand, if the game was fast, then there would be little idle time, but you would be forced to go in and out of the pause menu so often, that it might as well be a turn-based game. Finally, a real-time game where you command multiple squads would be hard to do with a controller, which I'm planning on supporting.
So, the current version of the combat is back to being turn-based, but now there's a cover system. There can be half or full cover on either the edges of a hex or on the entire hex itself. Right now, the cover is static and will give a cover bonus if it's a half cover or completely block an attack if it's full cover. Also, as you can see, instead of having 3D hexes and a plain background, it's now 2D hexes on a 3D environment. In my opinion, this makes the environment of the fight much more recognizable and visually appealing.
Quality of Life Improvements
While making the cover system, I realized there was room to implement some quality of life improvements so that the information is easier for you to understand. The first improvement was for the attacker, target, and all associated elements to be highlighted when making an attack>
In the gif above, we can see that when a target is selected for attack all irrelevant object will be translucent. The attacker and their target will stay their normal transparency and any cover that contributed to the accuracy of the attack will also stay its original transparency. Additionally, if the cover involved is a full cover (thus reducing the chance to hit to 0%), then the line connecting the attack and target will be stopped and an icon will appear over the full cover to clearly indicate that the attack is blocked.
Sometimes, when moving to a new hex it's unclear whether a certain piece of cover is blocking the attack. With the second quality of life improvement, when trying to make a move, if you focus on a hex, it will show you which enemies you can attack and your chance to hit if you move to the new hex. This will save a lot of frustration from incorrectly estimating if you have the flank!
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 June, the following was also done:
- Continuing to refactor some of the old combat code to prevent god classes
- Combat actions can be confirmed by clicking the button or the shown keyboard key
- Updated combat camera controller to zoom in/out appropriately with new hex layout and the camera can focus its view so that all targetable items are centered on the screen.
- Added desert and forest combat maps
June has been successful and I'm really liking the direction that the new combat is going towards. The combat still needs some more work and I hope that most of it will be completed by the end of July. Specifically, what I hope to finish include:
- Update squads so they have multiple abilities they can perform.
- Refactor ability and item select UI.
- Create map editor tool to generate map data for map configurations of hex cover elements.
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