February 20th, 2019, 19:49
Posts: 5,010
Threads: 17
Joined: Aug 2016
If your gladiator has all 3 life defense buffs, you don't need 6-9 to beat most units that will have weapon immunity. You only need 1. Weapon immunity, and the casting cost of holy weapon, is only relevant so early that you don't need to buff more than 1 anyway.
Heroism is what gives you the bonus attack, the bonus thrown, the bonus health. With a unit like gladotaor that already has barracks built in its not as relevant. But it's the single most important spell for allowing one unit to actually kill an entire enemy stack, not just not die.
Heroism also has overland maintenance. Holy weapon and armor do not. I literally plan my life bezerkers games around being able to cast both Holy armor and holy weapon, overland , on at least my first 20 and usually my first 60 bezerkers. That plus combat heroism let's them kill whatever I need. The lack of overland maintenance is extremely relevant to being able to afford that. Forcing overland holy armor just forces optimal play. It doesn't nerf life at all.
Breath/throw vs pikemen: in many tropes: d&d, lord of the rings, action movies in general, anime in general, warhammer, standard throwing range and breath weapons are usually 10-20 feet (and often only 5'). They can be farther, but that's generally considered long range and therefore extremely inaccurate, or only done by unique powerful beings. Even Smaug, arguably an ancient giant red dragon, isn't described as breathing fire from much farther away.
Pikes are also generally 10-20' long.
Therefore, attacking at the same time is reasonable, particularly given balance issues.
Logic for ai to use thrown first strike abilities:
Same as for me.
If either myself or my opponent has those abilities, check if I have enough movement that i can attack in Melee this round. If yes, do so. Prioritize being able to attack at all over being able to chase a higher value target if I would otherwise be unable to reach the higher value target this turn*. I'd If not able to attack, move to one square outside my opponents move speed so that he cannot attack next turn (therefore negating his first strike, or ensuring he can't negate my first strike, or possibly both)**. If unable to move far enough to get outside that range, act normally.
If neither of us has first strike style abilities, act normally.
*This step may need to be skipped, as there's a lot of subjectivity in *higher value*.
**This step needs to be modified to account for mixed enemy units including ranged units. If they exist, compare damage of ranged units to combination of enemy first strike damage AND loss of my own first strike damage. If ranged damage is higher, act normally. If ranged damage is lower use step as described. Further modify based on my distance involved. If following the step results in moving backwards, multiply ranged damage by total ammo. If following step results in moving closer to ranged units, compare distance that would be moved to speed of ranged unit -1. Take the difference and divide it into the distance between my unit and the ranged unit before I follow the step. Take the result of that division and multiply the ranged damage by that result. If the difference is zero, instead multiply ranged damage by ammo.
Add one more step based on enemy casting skill IF other combat procedures have the AI make decisions based on enemy cadting skill.
February 20th, 2019, 19:53
(This post was last modified: February 20th, 2019, 20:10 by Nelphine.)
Posts: 5,010
Threads: 17
Joined: Aug 2016
If having enemy units dance around like chess isn't fun, restrict this ai procedure to master and above. Generally the AI has worse casting skill on lower difficulties, so it's reasonable to just say casting skill requires them to act normally. On higher difficulties, casting skill is usually in favor of the so ai it's reasonable to bother with it at all.
February 20th, 2019, 20:13
(This post was last modified: February 20th, 2019, 20:15 by Nelphine.)
Posts: 5,010
Threads: 17
Joined: Aug 2016
You could even do super basic versions 'if AI is faster than all human units, and either ai unit or any human unit has first strike stuff, and AI cannot attack this round, move to 1 square outside their speed.' You could modify by ranged in this case too if you want. Or have ranged completely negate the procedure. (I don't recommend that though, too easy to have one caster hero and 8 bezerkers, so it's not even someone trying to abuse it it's just a natural stack.)
But anything to at least avoid sky/great drakes getting annihilated by bezerkers. Even if you just made it a special command specific to sky/great drakes and nothing else.
February 21st, 2019, 14:54
Posts: 441
Threads: 4
Joined: Apr 2018
Ah, gladiators are for conquest?
Then what are berserkers for? Being obsolete?
(February 20th, 2019, 07:47)Seravy Wrote: Heroism? Why? I mean, sure, it's good, but Holy Armor gives +1 To Def (which is as good as 2-4 armor) for 8 while Heroism is 2 armor for 15 (yes it also adds other stats but armor is the important one).
Its versatility. It is possible to cast heroism on disposable units in matches making them maximise their damage, making it basically a goblin granade. That should be chaos...
See for example Sapher going against phantom beasts/soldiers with swordsmen in the swordsmen rush game.
Even with some life nerfing, gladiators are still OP. You say that they are "almost AG level coming before" but they are actually much better of most AG units, just look at their armor values on the fast ones. Yes, speed 3 all-terrain is fast.
February 22nd, 2019, 03:02
Posts: 10,463
Threads: 394
Joined: Aug 2015
Quote:my opponent has those abilities
As in, the target candidate chosen for the attack, or as in, any unit the enemy wizard has on the battle?
Quote:check if I have enough movement that i can attack in Melee this round.
This fortunately already exists and works. And it is used for...
Quote:Prioritize being able to attack at all over being able to chase a higher value target if I would otherwise be unable to reach the higher value target this turn*.
Exactly this. Being able to attack the target adds priority, and adds more priority in certain cases, thrown/breath being one of them as far as I remember.
Quote:I'd If not able to attack, move to one square outside my opponents move speed so that he cannot attack next turn
Same question, does this refer to the attack target we are currently evaluating or the entire enemy army? Either way this is difficult, but probably not impossible, just have to fetch for the move path matrix for the target, if it's one unit, and tiles they can't reach but are adjacent to tiles they can reach are good. However if there are multiple enemies to check, these areas usually won't overlap so then what do we do?If this results in out unit not moving at all, or moving further away from the enemy instead of closer, what special strategy do we follow? Doing that, if we aren't superior in spellcasting, is no better than hitting the flee button - the enemy can and will decide not to attack and use spells instead to win. Speaking of which, how do we even recognize if we are moving closer, or not? The AI doesn't even know that as is, so the pathfinding can make it take pretty large detours.
By the way, let's say we are in the scenario you want to fix. Enemy Sky Drake takes only 1 step froward so berserker can't attack it. In this case, a smart human player pulls the berserker back 1 tile. If he moves forward, they are sure to be annihilated. However if they are taking a step back, the Sky Drake now has to move only 1 tile again, otherwise the berserker gets the first hit. As the Drake always moves only 1, you can kite it forever (remember, if you are getting cornered, you can always opt to move 3 instead of 1, and get 2 additional tiles of distance), and use pretty much anything you have available to kill it (most trivial being webs+crack's call but if it wasn't a sky drake but a great drake, even fire bolts do the job.) - so how is this supposed to actually help the AI?
---
Based on what you say, isn't the lack of maintenance on Holy Armor one of the problems? It's way more powerful than before so no maintenance on it no longer makes sense.
February 22nd, 2019, 18:36
Posts: 5,010
Threads: 17
Joined: Aug 2016
You do check all enemy units. However, due to that first check of 'attacking is more valuable', it doesn't matter if there are overlapping fields. If you're in range, you attack anyway; otherwise you stay the most distant you need in order to either not be attacked if you have first strike, or to not be attacked by a unit that has first strike. This does mean, if you don't have first strike, you will move into range of units that also don't have first strike, as long as you stay out of range of units that do have first strike. So you have to do the check individually against all enemy units.
Sky/great drake keeeps moving 1 and you kite it? Perfect. In general, this means one of two things: it is late game, and you are fighting either sorcery or chaos, in which case they have powerful combat spells which the AI is excellent at using. Therefore, the AI is better off than moving forward and letting the bezerkers one shot the drake.
Or it's early/mid game, and the human is attacking a neutral. While the neutral has no spells, it's also most likely the human is unable to kill the Drake's with spells, so by kiting, the human will simply get a draw, and the neutrals will therefore win.
In both situations, it's better for the drakes to try to kite.
However, note that the amount of damage the enemy unit can do could be so low as to make the AI act normally - for instance a Drake against completely unbuffed bezerkers.
----
Holy armor is only good on buffed units. If the unit has less than 8-10 armor without holy armor, holy armor isn't good enough to warrant maintenance PARTICULARLY since we want the AI to use the spell.
The armor pre holy armor is much bigger impact than holy armor.
Note, large shield IS part of why I think gladiators should have 1 less armor - it's always been ranged that's an issue for bezerkers not melee, so having high armor AND large shield is overkill.
February 23rd, 2019, 03:13
Posts: 10,463
Threads: 394
Joined: Aug 2015
Quote:Then what are berserkers for? Being obsolete?
No, they are for Life players to buff. Gladiators are to work unbuffed. Berserkers are also useful against certain lairs and nodes where low defense and resistance isn't an issue. Furthermore berserkers are far more effective in deterring attacks and influencing diplomacy.
A berserker still has twice the damage output of a gladiator due to twice as many figures. As long as you can keep it alive, it's a vastly superior unit. However, nonlife players have trouble with that "keeping alive" part so they can't really use them against wizards.
Quote:Sky/great drake keeeps moving 1 and you kite it? Perfect. In general, this means one of two things: it is late game, and you are fighting either sorcery or chaos, in which case they have powerful combat spells which the AI is excellent at using.
What if they don't? What if the unit not moving isn't a drake but a Death Knight? Wouldn't think make Hydra completely useless? It's not having enough movement speed to ever attempt attacking anything this way.
But really having the creature does not guarantee you have any of the good combat spell in the realm. Even if you do, the spells might not be applicable to the type of enemy you fight. (for example, Disintegrate won't affect a properly buffed berserker, doom bolt doesn't deal enough damage to it, you can negate it by healing, etc, ultimately in these cases the feature only helps depleting the AI's mana reserves.)
Then there is the case the berserker isn't the super buffed one you usually use, or it's just a hell hound, or anything that's not an actual threat to a Drake.
I'm not saying the feature would be overall bad, but the benefits are way too questionable compared to the amount of work, and then there is how the players will perceive this.
"oh, a new bug, the AI fails to attack, how silly." or "This is so dumb, if it attacked I would have had a lot of losses but now I can just crack's call it." or even "wow a Great Drake is afraid of my Hell Hounds, are you kidding? This has to be a bug!"
Quote:Note, large shield IS part of why I think gladiators should have 1 less armor - it's always been ranged that's an issue for bezerkers not melee, so having high armor AND large shield is overkill.
I guess that's a valid point. I'll consider reducing it by one but would like to see them in action some more before that and I most certainly don't have time to play now. Maybe Sapher or someone else wants to play Barbarians again?
February 23rd, 2019, 03:36
(This post was last modified: February 23rd, 2019, 03:36 by Sapher.)
Posts: 185
Threads: 0
Joined: Aug 2018
(February 23rd, 2019, 03:13)Seravy Wrote: Maybe Sapher or someone else wants to play Barbarians again?
I'll think about that ^_^
February 23rd, 2019, 12:36
Posts: 441
Threads: 4
Joined: Apr 2018
Thinking of the mechanic of being less buffable by life, why don't you drop their armor by 4 (1 to balance as Nelphine said, plus 3) and raise the to-defend by 1? Then they're less affected by prayer, and even holy armor if they get armor by other means.
Holy armor should definitely have maintenance.
Heroism and holy weapon should not be castable in combat to avoid the goblin grenade usage on stuff like human pikemen.
February 23rd, 2019, 12:40
(This post was last modified: February 23rd, 2019, 12:47 by Nelphine.)
Posts: 5,010
Threads: 17
Joined: Aug 2016
Right, so put in a minimum cut off. Instead of checking for enemy with first strike, look for enemy with first strike who can do are expected to deal 1/4 to 1/8 of the active units damage in one round (depending on how stringent you want the check to be). This would mean umbuffed bezerkers and hell hounds wouldn't threaten drakes so the drakes would act normally.
Similarly if the active unit has first strike, then you're checking for any enemy units who are expected to do that much damage in melee.
@baghtru: I believe holy weapon must be castable in combat, as all other realms have both common combat summons, and common offensive combat spells, and therefore have multiple in combat spells that gets around weapon immunity.
Why would holy armor, when cast on any unit with 6 or less armor (including large shield), possibly warrant maintenance? That just makes it so that you never want to cast the spell, except on your doomstacks, which you're going to cast it on regardless of maintenance. The spell shouldn't be extreme niche - it should be something that both human and AI use, alongside heroism but mostly holy weapon, to replace overland summons. With heroism, those units would match or beat actual common summons. Without heroism, holy armor and holy weapon should at least make city units able to hurt common summons, and therefore should be something the AI can randomly spam on city garrisons to replace the fact that they don't have overland summons.
|