The most exciting parts of action games lie outside of attacks, the attacks themselves are just a means to an end.
An interesting aspect of oldschool 2D beat 'em design that has been lost to time is instant, unreactable attacks. Unlike newer games where enemies have wind ups that give you ample time to dodge or parry, in older games the general idea is that if an enemy attacked, you've already lost the exchange.
This design is generally frowned upon in the Souls and CAG era of beat em up design. But it has some very unique, important elements which are very hard to recreate with reactable attacks. The main thing they do is make the spacing game more fuzzy & continuous.
Because enemy behaviors and attacks are (hopefully) both complex enough to create a range of preceding and following states/responses, and have a degree of randomness to them, this creates preemptive probabilistic decision making - tactical, informed guesswork.
You will generally know when an enemy is going to attack and when they won't, and have some ranges in mind. You will know that if you are too close to an enemy, they will be more likely to do x attack, and if you're far they will do y attack. Unlike say, AOE damage zones however, these borders are fuzzy, and the fuzziness creates room for interesting decision making. Say an enemy is in their active range and you've grabbed another dude. Do you go for a 3 hit grab attack before throwing the dude, or do you play it safe and throw immediately, knowing the attack can come out at any point?
Andores in Final Fight are perhaps the purest example of this at work - they are docile until they decide to bodyslam you, which can range from reactable (from far away) to unreactable (from close up). You have to treat them as a dynamic, fuzzy, ever shifting walking AOE.
The fighting game nerds call it a mental stack. Simply put though it's just how the mere threat of certain attacks can influence your playstyle and decision making.
This fuzzyness becomes more interesting when you add RPS style attacks - if an enemy can semi randomly decide between a throw or a melee attack, it forces you to consider your response preemptively, and informs your tactics. Unreactable attacks allow parries to have true risk vs reward tradeoffs that influence your game plan instead of dominating it.
And like many of the things I advocate for, this is anti-commercial at the moment. Players will probably hate it, and you need to either sell it to them via good staging or just make it feel so tight and good that they'll swallow the frustration. Also the games should be built around this kind of challenge - if most attacks are reactable but then you suddenly change things up, it makes your game design incoherent and will piss me off personally.
Then there's Streets of Rage 4 which has attacks you can see coming miles away hitting you cuz you're stuck in recovery frames. God dammit Streets of Rage 4.
