But I'm not sure if it's fair, since we're talking about specials and health recovery
The mechanic is more complex by just comparing the damage vs cost. The player must choose what kind of profile they like more with each strength/weakness (fast/weak or strong/slow).
In addition, once you can kill enemies faster with Max, you are less exposed to being damaged by opponents and need to recover health less times too, plus if you don't need specials to do a high damage, you don't need to recover a thing you didn't lose. The same goes for the original SOR2, if you are playing as Max you can't use special all the time, otherwise you will lose too much health during the playthrough.
It's like if weak characters are trading their health in order to do more damage, a thing that stronger characters don't need to do many times.
deal pretty much the same damage across all characters, don't they?
Not exactly, every special move (generic therm for any move that is not normal) was balanced individually and the combo amount affects its performance too. For example, Axel does 64 of total damage with his front special and needs to do 8 hits to reach this value, Max does 36 but with just 3 hits (plus moving forward).
So, if I do a special move 2 times with Max I have 72 damage with just 6 hits and if I do it 3 times the result is 108 damage with 9 hits. In the end, it means that Max can do more damage than Axel with less hits due to its power, and considering the fact that a player can do at least 9 special moves using a full lifebar (sor4 type), it means a total of 324 damage for Max's front special with 27 hits, which is enough to kill any boss in the normal difficulty (they have 300).
And I didn't mention but Max will knockdown targets faster too with his front special and prevent bosses from countering because they will be in a "falling" instance, however Axel will only knockdown targets in the last hit and gives enough conditions to be countered with moves like Abadede's "groaaar"
As you can see there's many things involved in the balance than just damage vs cost and I can guarantee that every character was repeatedly tested using a damage table to make it most accurate possible
PS: Don't take all these values in consideration because I'm rewriting a new one with the correct values.
So why should Max need to hit more times to recover the same amount of health spent on the same special? I understand that his attack speed is lower to make up for higher damage, but perhaps there's a way to make him recover hp faster with each hit, since they're slower?
No, indeed the rate of the health recovered using the sor4 type is the same for all characters, Max just doesn't have moves that do the same combo amount from the other characters, like Blaze/Sammy. However, you can easily increase the amount by hitting multiple enemies at the same time, so 3 enemies will increase the recovery by 3x and so on.
(is he called Sammy in BK3?)
Yeah, I followed the BK3 name.
where he has 1hp by default which cannot be cut in half, is it?
Yes, you are right, it's a similar problem that happened with bikers. It seems that there's other enemies that needs exceptions added for the easy difficulty.
Thanks a lof for the tests and feedbacks
EDIT: I found where the problem is, it's a small and simple fix. The spawn script was subtracting the health in -100 but in the easy difficulty his health from the second appearance onwards already is 100, resulting in zero. Instead, now I 'm reducing the health by half, preventing the zero value.
I could make the code to "jump" those issues and prevent crashes, but indeed the crashes are good to show that there's a problem happening.
Thanks again for the report!