Posts: 10,492
Threads: 395
Joined: Aug 2015
Quote:To go back to the objective of this testing. Is it to nerf the OP strategies and then nerf the cheating, making more strategies available and the game more diverse? If not, what are we doing?
No, the objective is to determine if and how much nerf to the cheating is necessary within the remaining next 48 hours to avoid "this is unplayable/unbeatable" player experience, then I release 5.0. (Also, to find and fix all remaining major bugs in the new features while doing so)
Anything else, comes after.
Since Lunatic is expected to be like that, I'm ignoring it this time - if other levels need a nerf, then Lunatic gets the same amount/type of it.
I've already played enough Normal and Advanced to deem those levels appropriate for what they are meant to be. I'm currently playing the first game on Expert and it might be the only one I get to finish although I have quite a lot of previous experience on this difficulty. Overall, roughly half the games felt good, half too difficult. The current one is weird, all 3 AI on arcanus are pushovers, but the Myrran wizard is as powerful as I am even though I control 90% of Arcanus and it's only 1409. The extra myrran settler production limit originally designed for Extreme might be too good for Expert, or the AI just got lucky (it plays nature/life, so far I only saw one outpost, which is Beastmen)
Checked the save game.
Turn 1 the doomstack moves towards the neutral High Men city. This seems to work as intended, that city is of much higher value (both the units in it and the city itself) as the one with 3 bears. The difference seem large enough to outweight the distance.
Turn 2 the stack continues this move.
Turn 3 it attacks and conquers the neutral successfully but loses 3 nagas.
Turn 4 it stays idle - Yellow only has 8 available nagas and can't build a doomstack this turn as it requires 9 units.
Turn 5 it leaves the city and starts to meet up with 3 other nagas coming from elsewhere as one got summoned meanwhile.
Turn 6 as it is now outside it can attack targets so it stops trying to meet with others and heads towards the purple city and units scattered around.
Turn 7 it moves towards the city.
Turn 8 it conquers the city.
Unless you mean a 3 pop city with no buildings and 3 units 3 tiles away needs to have a higher priority than pop 8 with 5 buildings 8 tiles away where killing 9 units is possible?
I'm quite sure the AI should prioritize larger enemy stacks first, otherwise it just gives the enemy a chance to destroy the doomstack with combat spells without causing significant losses. So it's either the distance needs an even higher priority (currently using 1/X), or population/buildings needs to have lower to get your desired result.
Considering the stack went though both land and sea tiles and managed to consistently stick to one target, I think this is a great success here.
Note that intercontinental attacks do not prioritize war targets any higher than nonwar targets, unlike land attacks, but the neutral "player" is a war target anyway unless special cased. Unfortunately prioritizing war targets can't be done - it would require storing the priority somewhere, meaning we'd need a third array and we aren't that lucky to have another one already allocated for us. Currently priority is merely the total amount of stuff on the tile, including land units, plus cities. Speaking of cities, making those an exception is doable, so if we want cities specifically to be higher priority if they are a war target, that can be done. Which is not a bad idea, I think land targeting also only has that for cities.
Posts: 10,492
Threads: 395
Joined: Aug 2015
(All of these are then divided by the target's distance in the end)
Land Attacks
Unit priority : total unit military power. One third if not on the home continent.
Neutral City priority : (10*(pop+buildings)+100)*(War multiplier)
Warlike hostility city priority : (10*(pop+buildings)+100)*(War multiplier)
Nonwarlike hostility city priority against human : (10*(pop+buildings)+100)*(War multiplier)
Nonwarlike hostility against other AI : (5*(pop+buildings)+50)*(War multiplier)
Where War Multiplier is 10 during war with that player, 1 otherwise and unset for neutrals (bug!) so it'll take the value of the multiplier against player 4.
Question is, do we want neutrals to be a war, or a nonwar target? They are easier to conquer and should probably be picked over another player's city during nonwar so I'd say they are war targets.
Hostility without war, is mostly the same for all cases, although the lowest hostility level against other AI is halved (so if the AI has two equal targets, it'll pick the human first but targets are almost never equal, especially after the distance weight so this difference might even be too small to matter)
Intercontinental Attacks
Unit priority : total unit military power - including land units that can't participate in a sea battle and thus aren't included in the actual military power for the decision.
City priority : unit priority in the city plus 16*(population+buildings)
Ideally we'd want the two to be completely identical one way or another.
Posts: 5,010
Threads: 17
Joined: Aug 2016
As a note, I don't think I participated in death/chaos economy testing. I know I firmly believe overland casting skill is too high. I also think maintenance/income bonuses are a little too high (not as bad as overland casting skill).
I don't for a second think they shouldn't have bonuses. But if we want to encourage other styles of play, I do think the bonuses should be reduced.
Given I think lunatic should have 50-60% overland casting skill modifer (instead of 40% as now), that's a 15-33% decrease. Given I think overland casting skill is the biggest culprit, nothing else should be reduced by that much. That means, I'm looking at a 10-20% decrease in things like maintenance/income bonuses, on lunatic. So IF lunatic was currently at gold production of 250% (I don't remember offhand what the current bonuses actually are), then I'd be looking at having that reduced to 210-225% instead.
Posts: 542
Threads: 4
Joined: Jul 2017
Well, based on my tests, anything that isn't OP (ghouls, mono life, diplomacy tricks) is currently quite unplayable, unless you manage to somehow survive the first 4-5 years and end up in a decent enough position. Then it's pointless to continue because you've won.
I would tweak the priorities more, to reduce the time wasted wandering around, and reduce the cheating substantially at the beginning, but increase it with the number of cities the AI gets to account for the need for garrisons. This would fix both of these issues.
> Unless you mean a 3 pop city with no buildings and 3 units 3 tiles away needs to have a higher priority than pop 8 with 5 buildings 8 tiles away where killing 9 units is possible?
Yes, definitely, especially when it's a war target! A war target should summon units there as it's close to your fortress, creating a huge risk factor. And a close city can then be left, to go grab the farther away target, which is quicker than doing all the way there then coming back.
> I'm quite sure the AI should prioritize larger enemy stacks first, otherwise it just gives the enemy a chance to destroy the doomstack with combat spells without causing significant losses.
Agreed - I'm not speaking of wandering units, but if there's a city to be gained, it's different.
> So it's either the distance needs an even higher priority (currently using 1/X), or population/buildings needs to have lower to get your desired result.
Yes, buildings should be lower, especially now that they get razed much more easily!
> Speaking of cities, making those an exception is doable, so if we want cities specifically to be higher priority if they are a war target, that can be done.
Definitely!
> Warlike hostility city priority : (10*(pop+buildings)+100)*(War multiplier)
> Nonwarlike hostility city priority against human : (10*(pop+buildings)+100)*(War multiplier)
I find this to be a big problem. Why are they equal? This really contributes to the feeling of pointlessness of AI wars. Why wouldn't you raise the priority of war targets? Make wars matter.
Question. Is the multiplier for the player without war the same as war if the AI is in the state where it attacks without wars?
(October 5th, 2017, 11:19)Seravy Wrote: Checked the save game.
Turn 1 the doomstack moves towards the neutral High Men city. This seems to work as intended, that city is of much higher value (both the units in it and the city itself) as the one with 3 bears. The difference seem large enough to outweight the distance.
Turn 2 the stack continues this move.
Turn 3 it attacks and conquers the neutral successfully but loses 3 nagas.
Turn 4 it stays idle - Yellow only has 8 available nagas and can't build a doomstack this turn as it requires 9 units.
Turn 5 it leaves the city and starts to meet up with 3 other nagas coming from elsewhere as one got summoned meanwhile.
Turn 6 as it is now outside it can attack targets so it stops trying to meet with others and heads towards the purple city and units scattered around.
Turn 7 it moves towards the city.
Turn 8 it conquers the city. Interesting, in my case it went on to capture an even farther away node, then came for my city, it didn't go to the purple city. You can see it in the second save. Anyway, IMHO the purple city should be the first target, as it's only 1 turn away. What if instead of distance (in tiles) you used time (in turns) as a divider?
Posts: 5,010
Threads: 17
Joined: Aug 2016
Target priority: I can't help a lot here. Playing barbarians on lunatic badly skews my perceptions.
To Arnuz: consider that the attack you're describing (where it skips those closer cities) is actually probably something akin to the human fortress strike. Humans absolutely skip some targets to hit more important ones - even when we're not at war with them. I think that's actually very GOOD behaviour. Harder to predict? Yes. But realistically that's what we want. The AI should pick important targets, weigh the current treaty status vs the value of the target, and then attack the most important target. Obviously, its not quite there yet, but what you're describing is the right direction.
Posts: 5,010
Threads: 17
Joined: Aug 2016
However, I do think the AI should attack cities it can take THIS turn, as per previous conversations. It can't know enough about how things will change to ever warrant passing targets it can take immediately.
Posts: 542
Threads: 4
Joined: Jul 2017
Except that that's not what I saw. Here it went to a neutral then onto a node, another node, and then for me, all the time ignoring the 2 war target cities 2-3 times closer to its fortress. Sure those are without buildings, but still places that can summon troops close to your heart.
As these create a spot where units can be bought and summoned, I maintain that war cities close to the fortress are actually the most important target. No matter the buildings inside.
Furthermore, by going to the close place first, thanks to the doom-stack creation rules, the AI can now be much more efficient at conquering. And that's still what I do when I'm not fortress striking. The buildings in the cities are quite meaningless to me - first of all because they're probably going to get razed, and second because it's anyhow better to go to the closer city first and then to the farther away. Sure, the human can chain cities based on their direction, but going back and forth is the worst solution of the travelling salesman, any other solution is better.
October 5th, 2017, 12:37
(This post was last modified: October 5th, 2017, 12:48 by Nelphine.)
Posts: 5,010
Threads: 17
Joined: Aug 2016
This is where the economic discussion cones in. City buildings are huge for the AI. And look how impoetant nodes are to me -
I'd be happy if AI cared more about nodes. True about the summoning issue though.
So perhaps putting a base priority on all cities that's worth a certain number of buildings. What that number us I'm not sure, but something like:
A cities base value, due to summoning potential, is worth.. The same as a fighters guild + barracks + mechanics guild; plus it also removes that potential from the enemy, so its twice that good.
October 5th, 2017, 12:48
(This post was last modified: October 5th, 2017, 12:51 by Seravy.)
Posts: 10,492
Threads: 395
Joined: Aug 2015
Quote:Yes, definitely, especially when it's a war target! A war target should summon units there as it's close to your fortress, creating a huge risk factor. And a close city can then be left, to go grab the farther away target, which is quicker than doing all the way there then coming back.
Distance from the fortress isn't and won't be part of the priority calculations, it's too much work and space - calculating overland distance is nontrivial as there are X Y and Plane coordinates, plus the map loops around.
Quote:Agreed - I'm not speaking of wandering units, but if there's a city to be gained, it's different.
Wouldn't it make more sense to hit the largest city first to cause the most damage, even if it takes 1-2 extra turns to reach? If the neutral was purple and purple was the human player, losing the 3 pop 3 bears city is of no relevance and opens a chance to kill some nagas. A good human player likely kills half the stack or more. On the other hand losing the 8 pop city is a major blow and might make the difference between the human winning or losing the game, even if most of the nagas die in the process.
(note that distance from the fortress, while a valid reason, is not part of AI decisions, so we have to ignore it and assume they cities are equal distance from the fortress.)
Quote:I find this to be a big problem. Why are they equal? This really contributes to the feeling of pointlessness of AI wars. Why wouldn't you raise the priority of war targets? Make wars matter.
You are misreading those formulas. "War multiplier" is a variable, that is 10 during war, 1 otherwise. So they are only equal if warlike hostility is enabled WITHOUT actually being at war. If there is war, it's 10 times as much.
Basically there are 4 possible cases of hostility in the game :
Hostile, no war. This is when the AI sneak attacks you.
Hostile, warlike, no war. Same as above but the AI is more aggressive about it. Don't remember if this makes any difference elsewhere, here it seems do do close to nothing.
Hostile, warlike, formal war. This is when you see a war declaration and a war icon in the magic screen. This has the 10x multiplier.
Hostile, jihad, formal war. This is same as above but has extra features - the AI is prioritizing attacks on fortress and is much more reckless about it than normal. This only happens during Spell of Mastery or if the wizard is Ruthless at low chance.
Quote:as it's only 1 turn away.
Distance is measured in tiles, not turns. To calculate turns, you need to do pathfinding on the whole map plus analyze the entire stack for its overall movement type and amount. This is not possible for the AI but to be honest not even possible otherwise - even for human movement the game won't calculate how many turns it takes to reach a target, it merely picks the shortest route. But the shortest route can take different amounts of turns depending on which order the tiles are for example mountain first wasting an antire turn on a move 4 stack or that mountain being after 3 grassland tiles, not wasting any.
So no this isn't possible.
It's distance, nothing else, and the distance of that city is 3, the other is 8.
Note that "/X" is very heavily favoring near targets already. A distance 1 target (the only one where the AI can be sure of always being able to reach immediately) is 3 times more preferred than the next closest possible city (as cities are at least 4 tiles apart).
Quote:2 war target cities 2-3 times closer to its fortress.
One last time "closer to its fortress" isn't and can't be a factor. "war targets" should and will be though as soon as I finish adding that. (Note that neutrals are war targets so it makes no difference here)
As for why it went after the nodes, I assume it's because your case had more surviving Nagas. As it was at that point further away from the purple city, if it had enough living Nagas to attack a close (or more valuable) node, then it would do that.
Quote:it's anyhow better to go to the closer city first and then to the farther away.
Not if both are controlled by a wizard who can kill 4 of your units per battle. Like the human player. This is not a "travelling salesmen" problem, this is war strategy. Each battle comes with its own losses and gains. Those losses can prevent the stack from attacking any more targets after the one picked.
Quote:So perhaps putting a base priority on all cities that's worth a certain number of buildings.
Land attacks already do that, notice the formula says 100+...
So each city has a base value of 10 buildings/population.
As the main goal is to synchronize the two procedures, this will be included in intercontinental (if space allows, I think it will).
Posts: 10,492
Threads: 395
Joined: Aug 2015
"If the AI cared more about nodes"
I considered raising the amount of minimal garrisoning units on nodes again as 3 is a bit low but unsure about it. If the node is in AI territory, it'll be reclaimed by nearby stacks anyway and if not then no amount of units is gonna save it from a well planned attack.
|