Leadership Optimism / Regime Change
-
Hi, great game thanks for all the great work.
I am wondering from an AI perspective if a "Optimism" factor might be of interest to add to the AI Engine? Many times leaders can "read data" but be overly optimistic (or pessimistic) on what they are actually reading/calculating.
For example - someone like Patton would certainly put more faith in his Tank/Infantry than the power of the Navy, unless perhaps its a Navy-only battle.
At quick glance, I see estimatePower() with a myPower() function (ProBattleUtils.java) which runs a PowerStrengthAndRolls.build() passing in CombatValueBuilder.Build() directly-as-calculated in real-time. Wondering if that might be a good spot to add such a hedge factor? Defining CombatValueBuilder before calculating myPower would allow for manipulation of the calculated value of each unit (thus providing a pro or negative effect based on the type of "leader" the AI is). Might that be a good spot / reasonable target for such a feature?
Also, on the same topic, perhaps if Optimism goes negative for too long (or overall losses vs wins % over time) a Regime Change gets initiated, to reset the Optimism values (either to default, or randomized) to affect how the AI plays from that spot forward.
I could also imagine using this for "Desperation", towards the end of a war if the AI is losing it just discounts odds it doesn't like and "tries anything".
Anyway, curious if anyone has thoughts (or! maybe there already is a config you can just share with me that in fact does this).
Thanks much for reading!
-
There is no ai_config.txt or similar, but it would be great to be able to set parameters for how a unit or faction/nation;
attacks/defends/moves/purchases./politics/techs etc but for now one step at a time.Similar but not the same, this might of interest;
https://forums.triplea-game.org/topic/2299/ai-aggression-level -
@thedog Thanks! I'll review that thread. Do you know if this function (estimatePower) is the main routine that calculates these metrics per unit? Or am I assuming this is too simple to modify this function?
-
I dont know, but @redrum does, as its his bag.