The system I have come up with has multiple layers and this is how I am approaching implementation overall:
The Collision Layer: This is the already existing system that is "Basic Combat." There are collider objects created when a player performs a colliding action (attack, block, etc.) and they transfer hit effects and damage (or lack thereof) to the target.
The Axial Layer: This system helps determine hits based on the axes said attack covers. This system both helps create a more reasonable hit registry by accounting for the fake 3D nature of the game ( i.e. overhands only hit targets close to the same Y position), while also creating variety in the ways to evade or block maneuvers based on the attack used due to axes not affected by said attack.
The Move Layer: This system is related to a variety of moves users (players, NPCs and enemies) perform in combat. There are innumerable ways in which a collision event can take place but this system should be set to handle an ever growing list of moves based on content demands. Moves will call a script with arguments based on the lower layer ( The Axial Layer) so that each attack has authority over changing the combat masks and their respective Axial info.
The Technique Layer: This layer is where players have input (besides button/key input) in the overall combat system. Players will be able to combine moves into a sequences of their liking. Each move will transition into the next on the same button press (unlike typical combo systems that use different buttons) until the combo is finished. Multiple combos can be made and switched between. A set of combos is a technique and multiple techniques can be made and switched between as well.
0 comments