The ai doesn't scout. They simply know everything. However, they do keep track of what cities they have encountered, so they can't do things like city curses on a city they haven't actually found.
This gives rise to several problems.
First, the AI can target any enemy stacks with their own units, even if they can't actually 'see' it the way the human can.
- This I believe is not a problem. Given Seravy's updates to overland AI movement and pathfinding, this can stay as is. Since all stacks get new orders every turn, the AI stacks will often act as if they were going for enemy cities (which don't need sight range) or for enemy stsvks within sight range. Even if we could improve this, I don't think it would actually change much.
- Sub point: AI navy follows this rule, which I find can be troublesome, as they can chase down things a human might lose track of; as well, its harder for the human to rationalize what that fleet was doing when it was out of sight range. However, as fleet movements (despite being important) are not the primary actions of the game, I think trying to fix this should have lower priority. (Its also probably the hardest of the problems to solve.)
Next, ai overland spell targeting against enemy units. The AI can currently cast unit spells on any enrmy units. To me this is the biggest lapse in realism that AI scouting has, and is the problem I would most like to see fixed (especially when casting things like dispelling wave onto the other plane when the AI has never even been to that plane.)
- To solve this, I would love if the targeting parameters for the spell could actual sight rules. Since it's an immediate effect, all that would happen is that any targets not in 'sight' of the AI would simply be invalid targets. Then the AI would follow its normal targeting rules, but if it picked an invalid target it would move onto the next target (and not lose the spell).
- However, its quite possible this is not possible - especially if human sight rules is not easily callable.
- At the very least, I would like to see the AI only casting spells at enemy units on the same plane as its own units.
- Between 'proper sight' targeting and 'only on the right plane' I have another solution, but it was conceived for AI settlers; it also doesn't make nearly as much sense for spell targeting as it does for settlers. So I will describe it below.
Targeting nodes/lairs/towers. The AI targets these based on their strategic strength (with lots of other modifiers as per ai overland unit orders). Unlike the human the AI simply knows this - doesn't have to scout for types, nor guess at the exact strength even if the types ate known.
- Honestly, the human can save/load here, and do things like sprite or naga abuse. I'm OK with the AI having this advantage and do not think it should change.
Targetting cities: as previously mentioned, the AI can only target cities it has found. I believe this is for city curse targeting only, and works exactly like the human player, where once a spot is explored, then if a city appears there, the AI knows. I believe targetting the city with units acts just like targetting units in the overland movement decision logic.
- I think this is all good.
- I have one question though: can the AI target a city with its troops for overland movement, if it has not found the city (and so can't use city curses on it?) If so, what if the enemy city has 0 units in it? I believe on either case it should be able to.
Finally, settling. The AI knows the whole map, so when it decides a place for a settler to go, it always gets good choices.
- This doesn't really break my immersion (unlike targeting enemy units with offensive overland spells) but it probably has the biggest affect on the early game difficulty.
- This is the second area I would like to focus on improving.
Ideally, we want the AI to have some advantage, because humans are better at choosing city locations based on the needs of that moment in that game.
Because of this we do not want the AI to actually follow the same rules as the human. But it would be nice if the AI was not quite so perfect about it, and if there was at least the pretense that it actually sends scouts out.
- Therefore I'd like to add in a condition on settling based on turn. If the target square is beyond 1.5 squares per turn from the capital, it should simply be an invalid target.
Settling on the other plans would be based on distance from any tower, and the distance would be (turn-100)*1.5 (minimum 0) +3.
- Then I'd increase number of magic spirits by 1 or 2 and when no nodes need meldong (either not cleared or blocked by enemy troops) have all magic spirits move about 'exploring'. Make them move generally away from their capital, preferring land squares (and not going into the poles), and not be part of the normal stack creations. If we do away with magic spirits as the normal exploration unit for the human then I'd suggest a sub routine for exploring, but I haven't come up with a good way to identify which units should go exploring. I'd want some ships, and non heroes with scouting 2, but it would interfere a lot with stack creation.
- If the scouting sub routine is interesting I can try to come up with specific numbers (whether for magic spirit or others).
- I'd also specifically keep the current rules about spirits per plane to ensure that as soon as possible the AI appears to 'scout' the other plane. Scouting with non magic spirits, on the second plane would be much more difficult.
As mentioned above, targetting enemy units could be based on the turn based distance limit; however if we did something like that it would probably need to be refined quite a bit more. Since turns would fairly early cover the whole plane anyway. (Which is intentional for settlers, but doesn't do much for overland unit curse realism.)
This gives rise to several problems.
First, the AI can target any enemy stacks with their own units, even if they can't actually 'see' it the way the human can.
- This I believe is not a problem. Given Seravy's updates to overland AI movement and pathfinding, this can stay as is. Since all stacks get new orders every turn, the AI stacks will often act as if they were going for enemy cities (which don't need sight range) or for enemy stsvks within sight range. Even if we could improve this, I don't think it would actually change much.
- Sub point: AI navy follows this rule, which I find can be troublesome, as they can chase down things a human might lose track of; as well, its harder for the human to rationalize what that fleet was doing when it was out of sight range. However, as fleet movements (despite being important) are not the primary actions of the game, I think trying to fix this should have lower priority. (Its also probably the hardest of the problems to solve.)
Next, ai overland spell targeting against enemy units. The AI can currently cast unit spells on any enrmy units. To me this is the biggest lapse in realism that AI scouting has, and is the problem I would most like to see fixed (especially when casting things like dispelling wave onto the other plane when the AI has never even been to that plane.)
- To solve this, I would love if the targeting parameters for the spell could actual sight rules. Since it's an immediate effect, all that would happen is that any targets not in 'sight' of the AI would simply be invalid targets. Then the AI would follow its normal targeting rules, but if it picked an invalid target it would move onto the next target (and not lose the spell).
- However, its quite possible this is not possible - especially if human sight rules is not easily callable.
- At the very least, I would like to see the AI only casting spells at enemy units on the same plane as its own units.
- Between 'proper sight' targeting and 'only on the right plane' I have another solution, but it was conceived for AI settlers; it also doesn't make nearly as much sense for spell targeting as it does for settlers. So I will describe it below.
Targeting nodes/lairs/towers. The AI targets these based on their strategic strength (with lots of other modifiers as per ai overland unit orders). Unlike the human the AI simply knows this - doesn't have to scout for types, nor guess at the exact strength even if the types ate known.
- Honestly, the human can save/load here, and do things like sprite or naga abuse. I'm OK with the AI having this advantage and do not think it should change.
Targetting cities: as previously mentioned, the AI can only target cities it has found. I believe this is for city curse targeting only, and works exactly like the human player, where once a spot is explored, then if a city appears there, the AI knows. I believe targetting the city with units acts just like targetting units in the overland movement decision logic.
- I think this is all good.
- I have one question though: can the AI target a city with its troops for overland movement, if it has not found the city (and so can't use city curses on it?) If so, what if the enemy city has 0 units in it? I believe on either case it should be able to.
Finally, settling. The AI knows the whole map, so when it decides a place for a settler to go, it always gets good choices.
- This doesn't really break my immersion (unlike targeting enemy units with offensive overland spells) but it probably has the biggest affect on the early game difficulty.
- This is the second area I would like to focus on improving.
Ideally, we want the AI to have some advantage, because humans are better at choosing city locations based on the needs of that moment in that game.
Because of this we do not want the AI to actually follow the same rules as the human. But it would be nice if the AI was not quite so perfect about it, and if there was at least the pretense that it actually sends scouts out.
- Therefore I'd like to add in a condition on settling based on turn. If the target square is beyond 1.5 squares per turn from the capital, it should simply be an invalid target.
Settling on the other plans would be based on distance from any tower, and the distance would be (turn-100)*1.5 (minimum 0) +3.
- Then I'd increase number of magic spirits by 1 or 2 and when no nodes need meldong (either not cleared or blocked by enemy troops) have all magic spirits move about 'exploring'. Make them move generally away from their capital, preferring land squares (and not going into the poles), and not be part of the normal stack creations. If we do away with magic spirits as the normal exploration unit for the human then I'd suggest a sub routine for exploring, but I haven't come up with a good way to identify which units should go exploring. I'd want some ships, and non heroes with scouting 2, but it would interfere a lot with stack creation.
- If the scouting sub routine is interesting I can try to come up with specific numbers (whether for magic spirit or others).
- I'd also specifically keep the current rules about spirits per plane to ensure that as soon as possible the AI appears to 'scout' the other plane. Scouting with non magic spirits, on the second plane would be much more difficult.
As mentioned above, targetting enemy units could be based on the turn based distance limit; however if we did something like that it would probably need to be refined quite a bit more. Since turns would fairly early cover the whole plane anyway. (Which is intentional for settlers, but doesn't do much for overland unit curse realism.)