So what if I place 2k infantry next to the enemy, they assault - and yes their 5k cavalry is stronger than my 2k inf - but wait! I have another 6k cav one province further away that you didn't consider and once again the AI is "stupid". I'm not saying that your's or anyone else's suggestion is bad, just pointing out how quickly it can fall apart due to the player doing something else - nicely ilustrated by Premu above.
True. But as it is now, the AI checks neighbouring provinces and no further than that, so it would still be better than it is now. As it is now, just better. And it's a whole lot harder to exploit it if you have to keep the army 2 provinces away since time is very important in this case.
As I said, and I think you can see it. All 3 of my suggestions are quite easy to fix, there isn't a lot of checks to be done and a lot of calls to make.
EDIT: Or if you want to make it hard to exploit, why not do a combination of my simple suggestion and how it is now and let a dice decide if they want's to assault or not. (Makes it a little trickier to code I guess since I suspect the AI makes their decicions on a day to day basis but in this case they would have to stick to the non-assault plan and not do another check the next day.) But it will take out a lot of the exploitability if you don't know how the AI will react and a dice is hard to predict.
EDIT2: The dice thing could be used in a lot of places when thinking of it. I guess there are always a couple of different ideas to what is the best AI behaviour in each case and while one of them seems better I think it would be a whole lot better to let the dice decide when there are several good ideas around. That way a lot of things would be a whole lot harder to exploit..
Last edited: