Are you, in fact, a pregnant lady who lives in the apartment next door to Superdeath's parents? - Commodore

Create an account  

 
New experimental version

btw, there is a 1/3 multiplier for attacking units (outside cities) on nonhome continents. Do we need this? During war, cities get a 10x bonus anyway, and if not at war, attacking units instead of cities is...nor a bad move as it might let the AI get away with it without provoking a full scale war.
Reply

I think the "+100" might be too much for base value - it effectively means the base value equals 10 population or buildings which is quite a bit. In a 1 vs 3 distance situation, this would mean the "big" city needs to have 24 pop+buildings to outweight the 1 pop no building city.

I also observed something strange - after conquering the city, even if the stack is the full 9 units, it still waits a turn before moving away. Is there a bug that prevents AI units from moving next turn after conquering a city?
Reply

I think +100 is probably fine. In theory, some buildings are far more important - for instance a war college for a warlord is about 4 times as good as a barracks - but the AI I'm assuming can't judge that. So, a city by itself, due to both offering a potential summon site, and removing a potential summon site, is worth at least 14 buildings (equivalent to: barracks, smithy, fighters guild, miners guild, builders hall, university, mecganicians guild; doubled for removal from enemy as well as adding to the AI itself). So if anything, 100 is too low.

Having it high means the AI will in most cases prefer the closer target - which is what both arnyz and I want - but in cases of exceptionally well developed cities, the AI will go for them - which is what you want.
Reply

Non city units. Um. I'd want the 1/3 modifier in some cases. For exactly what we're discussing we don't want the AI doing things like attacking a behemoth on its own far from the AI cities - the AI will lose too much to spells.

On the other hand, node and tower garrison's should NOT have the 1/3 modifier. Similarly, a ship or windwalker transporting troops is very likely to become a threat soon. So they also should not have the 1/3 modifier.

Heroes are always worth killing. They should not have the modifier, but the human often can play them far stronger than expected so the 1/3 modifier might be OK.

Stacks of 8+ units are probably always worthwhile targets, simply because they're PROBABLY an offensive stack - or a mobile defensive stack that is actually trying to lure the AI somewhere. So they should not have the 1/3 modifier.

Anything else is probably not worth the risk - they should have the 1/3 modifier.
Reply

Quote:(equivalent to: barracks, smithy, fighters guild, miners guild, builders hall, university, mecganicians guild; doubled for removal from enemy as well as adding to the AI itself)

Why doubled? We are talking about NOT picking that target due to the added base priority outweighing it. So if anything it should be halved because that's what we are missing out on due to the presence of base priority.

Not taking those 7 buildings which are in your words worth 14 priority, due to the presence of 10 base priority is wrong. You are literally saying "base priority is fine but buildings need to be doubled" here. Which is the same net effect as halving base priority.

Units...the modifier applies to "non-location" units to be more precise. So nodes and towers are also excluded - it literally means stacks that can potentially attack us but otherwise aren't doing anything relevant.
If you look at actual numbers, a Great Drake for example is 1500, an uncommon creature probably about 200.
A nonwar city with 10 pop and 10 buildings which is a fairly average target, is worth 500 (if build/pop is doubled, 300 otherwise), so it'll be picked over an uncommon unit but not over a Great Drake. However this is nonwar sneak attacks - in which case assassinating units instead of provoking a full war might even be better as there is no guarantee the war with that player is desired or winnable (and the fewer units they have, the less they'll be in the position to strike back!).
During war, the city gets the 10* war multiplier so for such a medicore city, the rating is 5000, at least a stack of 3.3 Great Drakes needs to be there at equal distance to pick the units. In which case killing the drakes before they obliterate everything is definitely a better choice than the medicore city. So I wouldn't be worried about hitting units, if anything, during war, cities are preferred a bit too much.
A well developed city (25 pop, 50 buildings) would be rated so high even 9 Great Drakes can't outprioritize it during war.
Reply

However, can we change the trigger? In small-large games, home continent us probably fine in most cases. But in tiny and huge games, home continent is often misleading. If possible, for all games, I'd rather make the 1/3 modifier based on distance from the AI fortress.

But you've just finished explaining that's not possible, so home continent will have to do.
Reply

No no. The base priority is due to summoning potential. Summoning is as good as having those 7 buildings. But you don't need any buildings to be able to summon. And the enemy can summon there if you don't take the city. So every city is worth 14 buildings, regardless of its actual buildings or population, because of summoning potential. (7 because the AI will gain it; 7 because whoever owns the city will lose it, and we have to assume the city is in a threatening position and therefore preventing the enemy from summoning to it is at least as important as the AIs own ability to summon to it.)

So a city priority should be 14+1 per population +1 per building. (Or 140+10 perbuilding +10 per pop as you seem to have currently.)
Reply

> Distance from fortress: nope
Ok. It doesn't matter anyway, because if you weigh distance more, stacks will move less from the fortress.

> Time rather than distance: nope
Ok. I then think we should weigh distance more.

> 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.
This is important. I have the feeling that it counts exactly like war, when the AI is considering the player's targets. Could you check? This would skew the results considerably, and in a negative way, as it'd make the stacks wander more and waste time.

(October 5th, 2017, 12:48)Seravy Wrote:
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.)

No, it wouldn't, as the two close cities are a risk factor - the wizard you're at war with, who's busy summoning - while the more distant ones are neutral nodes or cities. If this is the issue then the war factor should be increased. A buildingless small nearby city might have a doomstack in 5 turns, the time to go to the neutral city and back, as the other AI/the human starts summoning there. Raise the importance of war targets, and raise the importance of distance: this game definitely contains a part of travelling salesman problem, you win when you visit all the targets. In your example (the reversed roles) the human who has just conquered the 2 small cities and can't yet garrison them effectively would be but too happy to see the AI wander around capturing neutral stuff: that's neutrals that are beaten, and nodes are more difficult to the human than the AI given the issues with strategic combat... Basically in your counter-example you're actually giving the human player freebies. If I had those 2 cities I'd probably have razed them assuming that they would have been re-captured.

(October 5th, 2017, 13:24)Seravy Wrote: I think the "+100" might be too much for base value - it effectively means the base value equals 10 population or buildings which is quite a bit. In a 1 vs 3 distance situation, this would mean the "big" city needs to have 24 pop+buildings to outweight the 1 pop no building city.

I also observed something strange - after conquering the city, even if the stack is the full 9 units, it still waits a turn before moving away. Is there a bug that prevents AI units from moving next turn after conquering a city?

You're going against my suggestions with this. Buildings and population need to be less important. I don't understand why you place so much importance to buildings that are going to be razed, honestly.

If that's to cause harm to the other, ok, but then why do you consider neutrals on par with war targets? If that's the aim then neutrals should count for less.

Idea: would it be easier to calculate city targets distance from the fortress than from each stack? If so, an idea could be to put the distance factor in the city priority level, changing what's currently a +100 constant.

Summarising:

* make distance weigh more
* make war weigh more
* reduce initial cheating a lot (whatever means, it doesn't matter if it's skill or mana so long as the result is having a limiting factor, so just do the easiest for you)
* raise cheating based on number of cities
Reply

(October 5th, 2017, 13:58)Nelphine Wrote: No no. The base priority is due to summoning potential. Summoning is as good as having those 7 buildings. But you don't need any buildings to be able to summon. And the enemy can summon there if you don't take the city.  So every city is worth 14 buildings, regardless of its actual buildings or population, because of summoning potential. (7 because the AI will gain it; 7 because whoever owns the city will lose it, and we have to assume the city is in a threatening position and therefore preventing the enemy from summoning to it is at least as important as the AIs own ability to summon to it.)

So a city priority should be 14+1 per population +1 per building. (Or 140+10 perbuilding +10 per pop as you seem to have currently.)

It seems that we agree in concept, sorry if I repeated something above here, I answered before reading your part, shouldn't have.

OTOH, on the specific numbers. I wouldn't change a lot. I would try to do small incremental changes, if Seravy agrees (this surely takes more time and effort). I'd start by say, changing the distance and war factors (doubling them perehaps) and seeing how that goes.

If it's possible I'd like to try changing the numbers with the savegames I posted, are the distance and war multipliers constants that we can fiddle with?
Reply

PS : Not entirely sure how the units scale compared to node/lair priorities but going after the node instead of the enemy army on a foreign continent is not necessarily a good move anyway.
...it's 50+10*node tiles for nodes. Dungeons are a constant 50. So nodes might get picked over medicore enemy stacks but not over strong ones. Dungeons will almost never get picked if there is an enemy stack to attack.
> 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.

Quote:This is important. I have the feeling that it counts exactly like war, when the AI is considering the player's targets. Could you check? This would skew the results considerably, and in a negative way, as it'd make the stacks wander more and waste time.

Checked twice, being hostile without a war does not have the 10x modifier of wars. Do note however that in your version intercontinental doesn't have any of these modifiers yet. I've already implemented that while we were discussing this.

Quote:I don't understand why you place so much importance to buildings that are going to be razed, honestly.
Even on the highest difficulty setting, building destruction rate is only 45%, and there the AI builds that much faster to get them back anyway. But whatever the destruction rate is, the small and the big city would lose the same percentage so their relative priority remains the same aside from the "base value".

Quote:do you consider neutrals on par with war targets? If that's the aim then neutrals should count for less.
Because we want neutrals to be preferred over a hostile but nonwar target. If both are equal it won't be preferred. However you are right and I already made neutrals use the war modifier and then get halved on top of it. So it's nonwar<neutral<war now.

Quote:Idea: would it be easier to calculate city targets distance from the fortress than from each stack?
Land targeting is not calculating any distance at all when putting together the priority matrix. In the area where it adjusts this with the distance, there is no space for anything detailed.


Quote:make distance weigh more
Is there a formula that works better than (1/X)? And it better be not any more complicated to calculate than that, in intercontinental we have space but in land attacks we don't.

Quote:make war weigh more
Already done.

Quote:* reduce initial cheating a lot (whatever means, it doesn't matter if it's skill or mana so long as the result is having a limiting factor, so just do the easiest for you)
* raise cheating based on number of cities
Not relevant to stack movement whatsoever and too large scale to do directly prior to a "stable" main release. If anything initial cheating is what allows the AI to not lose the game immediately, as early game is far too important as is. And I think our last conclusion was that's unfixable.
Reply



Forum Jump: