Well, yes, it looks a bit rude.
Most of 15 years of modding M2TW have passed without reverse coding with mostly trial and error method. Errors and mistakes are unavoidable on this way. Everything that modders (and beermugcarl particulary - he wrote it in OP of his AI submod) trying to do is for making performance and M2TW experience better. I'm referring to previous modders with great respect. I don't think than somebody want to post desinformation here intentionnaly. It's good that now we have possibilities to verify things and reveal .exe mechanics.
I can tell that I'm working on my Westeros submod AI for about 2,5 years. I'm testing it on "Hotseat Testing method", so I can have 3-4 400-turns campaign tests per day. Now I'm making AI for BellumCrucis local submod, it has much bigger map and more factions, so I have 1-2 tests per day. As for my Westeros submod I can definitely say that before beermugcarl's fixes my generals set in settlements and very rarely went in field. Now I have most of them in field.
"LineOfSight 10" is anyway better than "LineOfSight 6", so as other parameters for AI generals. As for ruining economy - all modern mods have AI money scripts so I don't think it's a problem here.
Originally Posted by
Serious Potato
We are also using an economy script that basically just prevents AI factions from going into the red, but without the AI-only construction cost decreases. Personally I see the bigger issue in the AI's defend and invade decisions. After analyzing some of the popular campaign AIs (descr_campaign_ai_db.xml that is) I noticed a common problem: They generally go along the lines of "we are weak -> retreat, we are strong -> attack". Depending on the conditions (especially settlement count!) this can lead to a situation where the losing AI never goes into attack mode again, regardless of how many stacks they stack up (heh).
Been writing a new campaign AI from scratch the last couple of days and it works great so far. Details probably go beyond the topic of this thread. Though I would recommend using less defensive behaviour in emergency situations and avoiding defend_minimal and defend_deep.
If we speak about revealing things - reverse coding method is a great possibility to clairify some things about descr_campaign_ai_db coding. In kingdoms campaign AI we have such code
Code:
<decision_entry>
<!--
if not our neighbour, and we have any settlements, use defaults
-->
<min_entry num_settlements="1"/>
<max_entry is_neighbour="false"/>
</decision_entry>
Is it possible to verify those "defaults"?
Also this
Code:
<decision_entry>
<!--
Not interested in factions that are not our neighbour, use defaults, may be overridden by forced/naval attacks
-->
<max_entry is_neighbour="false"/>
</decision_entry>
If code reading stops on this decision and .exe goes to next faction calculations - how does forced/naval rules apply?