As a French person I feel like it's my duty to explain strikes to you. - AdrienIer

Create an account  

 
Test games played

Quote:. What if they attacked despite stack military strength?

They'd lose all their stacks achieving nothing?
Unless the AI has a relevant combat spell (for example Banish against the undead creatures), there is no guarantee they get to kill anything (in fact thanks to how armor and regeneration works, they are more likely to not kill anything and then there is raise dead...probably only a pure chaos or pure death wizard with very rares can reasonably expect to actually kill part of a good player doomstack.)

A great problem I see here is the player can block towers and then no matter how good the last AI is, they are not going to be a threat. Fortunately the player can only do that if they are ahead (or abuse buffing), otherwise the AI doomstack will be able to attack and break tower garrisons even if nothing else can.
Maybe I should have picked Plane Shift as the spell to keep in game instead of Planar Travel...nah, that's still only relevant for one realm out of 5. Besides the AI is not allowed to change planes into water and most tiles on the map are water on Tiny.
Reply

The player doesn't have a mana cheating bonus smile I for example tend to always be mana starved, and give myself just enough to pass the turn, all the rest is spent either as gold or as skill.

If more fights happened, that'd at the very least make AIs force the player to waste mana with the risk to reach dangerously low levels. Sure, the player would adapt and keep enough resources, but that means having less to spend and therefore making the AI bonus matter more. Also, regeneration is one realm only, raise dead too and works only once.

The other option is of course to make cheating nonlinear, that I actually prefer a lot, if we can find a way.
Reply

You stay mana starved? Interesting. I try to keep about 10 times my skill as mana at all times - I've had late wars where I burned through 13000 mana in one turn.

We do want AI to attack powerful stacks, as per my berzeker things - but how do we define that in a way the ai can use? And what if its the first few turns and the AI is attacking a lair? Or its later and the AI is attacking another AI?

A lot of factors need to be dealt with to switch permissible targets.
Reply

Yeah, the attack decision has to be made based on two numbers : The stack power of the AI and the target. No other information is known, not even the owner of the targeted stack - it literally is a number on the map saying "there is 376 points of enemy military force on this tile". (Even ranged units counting double is a workaround : it merely calculates those units as though they had double the ranged power if the unit value procedure was called from a particular location. So that 376 might be all melee or all ranged which has been already doubled, not even that is known.)
Reply

Is it a straightforward 'attack if ours is higher', or do you have some leeway, such as attack if: AI>=targetStack*0.75?
Reply

(October 13th, 2017, 11:28)Tlavoc Wrote: Is it a straightforward 'attack if ours is higher', or do you have some leeway, such as attack if: AI>=targetStack*0.75?

Currently the former, used to be the latter. The AI won't go out their way to build up the stack any larger if this criteria is met so lowering it results in weaker attacks even if the AI could do better (including the doomstacks).
Hard to draw the line because higher army usually works better, but not if the AI can't assemble a higher army in a reasonable amount or time or at all.
Reply

I assume that means the latter created the 'black hole' situation; all AI stacks dying to a group of super ranged and never doing any damage?

That's the only way I could figure making the late game more challenging, because if army size doesn't matter and the AI doesn't -really- megabuff, then no matter the size of the army it would never attack the strike force and be useless.

If there's no way to bring any other numbers in (such as overall military strength or an average strength of the area) then maybe have a hard number as the 'AI within this number will attack target greater than (arbitrary number)'. Or maybe a static difference rather than a percentage beyond a certain limit? If the incoming stack is 16000, then a 12000 force may not stand a chance, but a 1500 could do damage to a 2000. Given that, either it would need to scale closer as the numbers get larger (rather than a flat percentage), or change the limits/equations once it exceeds some value, probably based on the numbers for rare or very rare summons.

I do agree it's a bit of a problem - my latest game, still early, I can stack a strong force of 6 units, and even if they would be worn down by the opponent's swarming army, they just ignore it instead so I can easily hold a spot without worry even without a way to replace a dead unit. Of course, this could cause a problem of the AI deciding to demolish lairs earlier since they can wear them down.

If a 9 stack unit can do some damage, then the power of the player's stack is reduced since the defensive value has been reduced, which would then open them up to attack from everything else too - so, ideally, we need to find an acceptable equation that would ensure -some- damage was being done, right?
Reply

Quote:I assume that means the latter created the 'black hole' situation; all AI stacks dying to a group of super ranged and never doing any damage?


It wasn't that bad but the percentage of successful AI attacks went up quite a lot by the change so I decided to keep it.

Quote:so, ideally, we need to find an acceptable equation that would ensure -some- damage was being done, right?

Yea, but there isn't enough information for that. Also, any decent endgame human stack is immune to being damaged that way. Hydras, Behemoths, the Regeneration spell, Supreme Light, Raise Dead, that covers 3 realms. Sorcery can be immune to most anything through spells and Death, well, they have Animate Dead so anything non-undead you kill comes back twice as strong. (and then there is high armor and heroes...)
Unless the AI knows spells that cannot be regenerated/raised from AND affect the important units in the stack, the attack does nothing, and if the attacking force was relevant and it's not a "blocked towers" scenario then the stack could have actually done relevant damage elsewhere.

The aim is to make sure the numerous AI stacks attack and destroy cities faster than the single human stack can - unfortunately, both Tiny landmass and Towers work against this goal.
Do note if the AI reached a very rare creature they are likely to have a doomstack that can attack anything the player has except maybe other very rare stacks. (If the player can afford 6*9 very rares, to block all towers, the AI is probably doomed anyway...yes, I'm still worried about cheaper very rares being too much in favor of humans.)

Also, if the stack can be damaged, then waiting for it to attack something that belongs to the AI and then throwing the spells at it works better as that guarantees the AI gets the first turn in combat (and might even have Guardian and city spells backing it up.) - in fact, powering up city defense game mechanics might be the way to go if it's necessary. Another thing to consider is more/stronger spells that can kill things on the overland map - but we aren't doing that poorly in that department. Now that endgame summons are cheaper, the "this is too expensive to kill by an overland spell" argument is less valid for them.

Speaking of which...now that the bug in that was fixed, did anyone observe Sorcery AI to repeatedly cast Stasis on their doomstack approaching the AI capital? I wonder if it works now, if yes that's one more thing the AI can do against stacks it cannot otherwise hurt. (This feature is limited to high difficulty only and the AI has to have high casting skill to do this.)
We might want to extend the range from 7 tiles to a wider area? Although...if the human can summon 9 new great drakes in 9 turns, it might be a questionable tactic now...
Reply

I think we might want to put in something that let's the AI attack with certain army strength regardless of target. The goal is to make sure AI doomstacks can attack.

So I'd like to see a minimum value that tells the AI 'attack regardless of target strength'.

The problem with that is that it can lead to black hole chaos nodes.

So, the strongest chaos node I've seen was 7 hydra and 2 chimera. Therefore, make the cutoff value that strength.

Except that's going to be a monstrous amount that most AI will never reach.

So a hard cutoff value won't work.

Therefore we need a conditional target.

However, we do not know the controlling wizard of the target - so we can't base it on attacking the human (which would by far be the best, since that's the only situation with tactical combat and therefore real attrition potential.

We do not know about any other stacks the attacking AI has, so we can't base it on being a doomstack (or even better, the most powerful stack the attacking wizard owns that's not in a city.)

We don't know the comparative casting skill of the attacking and defending wizards so we can't base it on likely spell results.


@Seravy: can we call the turn for this? Could we make the percentage reduce based on time, since the longer the game has lasted, the more important combat spells are?*
*obviously this is a super general rule, but I'm trying to grasp at anything.

Without that, I think the only thing left is a flat reduction and hope it works. I think the AI has enough of a numerical advantage it can afford to lose battles; other AI are usually in the same ballpark, so if they lose against each other, it will probably be roughly equal in both directions. Therefore only effect on the human is slightly more AI vs AI combats, and generally less troops on the map, which is probably not a psrticukaroy bad thing. AI vs lair, past a certain spell skill, AI will always win anyway, so that's fine.

AI vs human is the only case that's a potential problem. Gebrally speaking, the AI losing battles isn't a problem, as long as it doesn't lose cities/nodes because of it. Garrisons won't attack anyway, so this only comes from potenrually gained cities the AI would win if we don't change the numbers.

Also, the human PLAYER, likes winning battles, and getting a chance for defensive battles. Therefore letting the AI attack AND LOSE is a goof thing from a gameplay point of view. It just can't happen so much that the AI never wins.

I'd make it based on difficulty. On easy, we are teaching the players tactical. It literally never matters if the AI wins a combat it initiates. So I'd say 70% here. The human will make lots of mistakes to make up for it. This also will cause lairs and nodes to black hole for a while while the AI builds up casting skill, further allowing the player to make mistakes without being destroyed for it.

Normal, advanced, and expert, are all where we want the AI to do this by the book, and not assume the player is using outrageous strategic value to prevent attacks.

I'd do 80%, 90%, 100% to reflect the players growing ability to fight tactically.

Master and Lunatic I would then reduce it again. At these levels, the AI has enormous boosts, and in normal circumstances will have more casting skill and stronger armies.

This means, one way to beat the AI is to game the meta and prevent the AI from attacking. By reducing the values, the AI will attack earlier, and the AI higher casting skill should make up for this. (If the human is both gaming the strategic strength and has higher casting skill, the AI is in super trouble anyway, so it needs to rely on the human making mistakes, or the AI getting lucky, both of which happen much more frequently in tactical than overland.)

So 90 and 80% for master and lunatuc respectively.


If you can't even use diffculty, then flat 90% across the board.
Reply

Quote:We do not know about any other stacks the attacking AI has, so we can't base it on being a doomstack (or even better, the most powerful stack the attacking wizard owns that's not in a city.)


Even worse than that, the doomstack might be halfway built, still only having 5 Great Drakes with 4 heading to merge with it. If the 5 drakes are allowed to attack they won't wait for the other 4 and do it. And this is true for every stack. So if the AI is building stacks within range to a target, this reduction allows those targets to disturb the stack building process that much earlier.

Turns are doable but it can backfire - later turns it's more likely the human can eliminate the entire AI stack on the first turn using spells. (Flame Strike, Massacre, Wave of Despair, High Prayer on a ranged stack, whatever else)
Basically, the enemy gets the first chance to cast spells, so stronger spells is not helping at all.
Difficulty can also be used - but honestly a 20% flat difference is not really a solution. It's too little to matter where we want it to, and too much to be safe in case of identical units on both sides. 4 Great Drakes vs 5? Any decent player can position them in a way the 5 drakes suffer no losses killing those 4. 5 vs 5? Probably at least 2 losses on human side for that one...
I don't like working for a long time on such questionable solutions that might or might not help. Besides, -20% is almost exactly where we came from (75%) and the current 100% looks much more effective. Especially on high difficulty where the AI not only has numerical, but also qualitative advantage (higher tier units) so it's actually unlikely to build those 9 very rare stacks before it.

This is pretty much unfixable through the AI itself, if necessary, we have to fix it through other game mechanics.
Reply



Forum Jump: