As the title said, is there any mod which can improve the computer player behaviour?
AoE:RE AI is extremely stupid. Allies will only sit in the base while you are attacked by four groups of force, and don’t send reinforce to help your defence at all, while they are sitting safely in bases and have huge army and titans.
Also, the devs should allow us to move our starting position in skirmish from the side of the team to the middle of the team. The current setup is boring, everytime I play skirmish, I am the one who guarding the frontline, while my allies have a huge army in their base, and they are not sending it out, until enemies reach their bases. It is a crazily stupid ally AI.
There’s a couple brave people on the mod browser, but it’s really tough to AI mod with a game that’s actively receiving updates. It also takes a lot of time to write and test, so I wouldn’t expect to find anything mature yet.
I am checking game\ai\coremilitary\military_defend.xs, rule newDefend.
I see the methods calculateAlliedBaseToDefend(ref int popCount, int defendPlayerID = -1) and createDefaultAllyDefendPlan(int defendPlayerID = -1, int defendBaseID = -1, int enemyPopCount = -1) are inside game/ai/core/chats.xs, but are set to trigger manually by the Taunt Code 12.
I can’t see how to get a list of ally ID to set a foreach {} loop, however… Need to also get the numbers of enemy…
game\ai\coremilitary\chats.xs.
// "I need help"
case 12:
{
// For this one we're going to check if any of our allied TC bases is under attack.
// If it is we can send some help, surely :P
if (aiPlanGetState(gPrimaryLandDefendPlan) == cPlanStateAttack)
{
gAnswer = 2;
break;
}
int defendPlayer = fromID;
int enemyPopCount = 0;
int defendBaseID = calculateAlliedBaseToDefend(enemyPopCount, defendPlayer);
if (defendBaseID == -1)
{
gAnswer = 2;
break;
}
createDefaultAllyDefendPlan(defendPlayer, defendBaseID, enemyPopCount);
gAnswer = 1;
break;
}