Europa Universalis IV - Carnet de développement du 19 Juillet 2022

Bienvenue dans le Carnet de développement de cette semaine! Aujourd'hui, je suis de retour pour vous parler de certains des changements que nous avons apportés à l'IA pour la version 1.34.



Ambitions nationales

Depuis longtemps, il existe des éléments de code et des scripts permettant à l'IA d'être consciente des conditions de ses missions ou décisions afin d'essayer d'en réaliser certaines. Mais en raison de divers problèmes, cela n'a pas eu d'impact significatif.

Pour la version 1.34, nous avons fait en sorte que l'IA prenne en compte un plus grand nombre de ces conditions, notamment celles liées aux conquêtes. Nous avons également fait en sorte que l'IA cherche à poursuivre l'unification culturelle, en fonction de son rang gouvernemental. Ces changements fonctionneront de concert avec les désirs plus organiques de l'IA pour façonner ses ambitions et sa stratégie. Le résultat sur l'IA est un effet qui au départ sera principalement perceptible au niveau de son comportement, mais qui s'amplifiera au fil du temps en menant à la création d'empires IA (parfois historiques) qui constitueront un véritable défi pour les joueurs qui continuent jusqu'en en fin de partie.

Nous étions un peu inquiets à l'idée que les parties puissent toutes se ressembler, mais nos tests nocturnes montrent des résultats encore plus variés qu'auparavant.

Voici quelques cartes parmi les plus récentes pour 1821, légèrement triées:
Spoiler:

[/CENTERTEXT]





Ça nous rend heureux et fiers de voir l'IA former des pays historiques tels que l'Allemagne, l'Italie ou la Dynastie Qing.

Généralement, ces IA s'équilibrent bien entre elles. Si votre plan en tant que joueur est de "tuer les Ottomans de suite, puis après détente", vous pourriez découvrir que vous venez d'aider une autre IA à prendre sa place en tant que boss de fin de partie. L'inconvénient de cette IA plus opportuniste est que les frontières seront moins nettes.



Négociation de paix

Ce qui a commencé comme une enquête sur la raison pour laquelle les IA laissaient souvent les OPM en vie dans les accords de paix, s'est transformé en un projet légèrement plus important.

Lorsque l'IA gagne une guerre et fait des demandes, elle dispose de tout un tas de préférences qu'elle essaie d'équilibrer entre elles pour obtenir un accord de paix optimal. Contrairement à ce qui se passe lorsqu'elle perd, où elle ne s'intéresse alors qu'à des valeurs objectives telles que le coût en score de guerre. Cependant, lorsque l'IA est en train de gagner et qu'elle reçoit une offre, elle ne se basait jusqu'à présent que sur des expressions très grossières pour déterminer si l'offre correspondait ou non à ses préférences:
- "Ne veut pas de certains termes de l'offre"
- "Exige que X fasse partie de l'offre"
- "Veut d'autres concessions que l'or"

Cela donnait aux joueurs malins un peu trop de marge de manœuvre pour escroquer l'IA.

Dans la version 1.34, le deuxième item en particulier a été retravaillé, afin de permettre à l'IA d'exprimer ses préférences de manière plus détaillée. Prenons ce cas comme exemple:


Ici, j'essayais de me sortir d'une mauvaise situation en offrant les terres de mon allié, mais Nassau n'en voulait pas. Ce n'est pas qu'ils ne veulent pas que Candar soit libéré (notez le pouce vert) c'est qu'ils préfèrent de loin que je libère certains de mes propres territoires. À la différence de l'ancienne condition "Nécessite que X fasse partie de l'offre", cette nouvelle condition ne peut pas être contournée en remplissant l'accord de paix de termes moins importants.

En conséquence de quoi, nous avons également pu assouplir la condition "Ne veut pas" en rendant les pouces verts dans un plus grand nombre de cas.

Un changement plus subtil mais important est que lorsqu'un chef de guerre IA envisage une paix séparée avec des ennemis isolés, il sera plus indulgent. Cela permet aux IA en expansion de prendre plus de choses tout en réduisant les risques et le coût de la guerre, en comparaison de ce que représenterait d'attendre la signature d'un accord par le chef de guerre ennemi. Il sera également plus risqué pour les joueurs de déclarer une guerre dans laquelle ils se reposeraient trop sur leurs alliés.

Dans le même ordre d'idée, nous avons corrigé un plantage lié à l'adjectif "PRESS_THEM_FURTHER". S'il est actif, les alliés de guerre qui se sont vu promettre des terres s'agaceront de ne pas en recevoir suffisamment, même si le chef de guerre ne prend rien pour lui-même.



Les guerres d'indépendance




Puisque nous faisons une mise à jour sur le thème de la Scandinavie, il semblait approprié de faire quelque chose concernant la volonté des sujets de déclarer leur indépendance. Nous n'avons pas changé grand-chose, mais les dépendances seront globalement un peu plus téméraires lorsqu'il s'agira de déclarer leur indépendance. En particulier, ils pourront désormais le faire en temps de guerre si leur désir de liberté est de 100%, donc plus de guerres constantes pour tenir vos sujets. Il n'y a pas grand-chose de plus à dire à ce sujet, mais nous pouvons par exemple voir un peu plus souvent une Suède indépendante, ainsi qu'un Timouride qui s'effondre, et occasionnellement des nations coloniales s'émanciper en Amérique.



Évaluation de la guerre



Alors que Tunis acceptera une fois que j'aurai déclaré la guerre..


Lorsque l'IA envisage de lancer une nouvelle guerre, elle examine les mêmes informations que celles que le joueur peut voir dans cette fenêtre afin de déterminer qui rejoindra les deux camps. Malheureusement, il y avait quelques bugs liés aux conditions "Attitude envers les ennemis" et "Guerre lointaine", qui pouvaient potentiellement changer pendant le déroulement de la guerre et à mesure que d'autres pays s'y joignaient. Cela a pu pousser les joueurs et les IA à déclarer des guerres suicidaires.

Ces incohérences ont été corrigées là où nous avons pu les trouver. Mais le problème demeure lorsqu'il s'agit de prévoir l'acceptation d'alliés appelés récursivement (comme les alliés du Saint Empereur Romain Germanique lors de l'attaque d'un état membre). Pour cette raison, déjà dans la version 1.33, l'interface du joueur n'essayait pas de lui dire si ces pays allaient rejoindre ou non. Mais l'IA essayait toujours de "regarder la case cochée". Dans la version 1.34, l'IA supposera tout simplement que les pays appelés récursivement se joindront tous à la guerre. Cela permettra de corriger le bug de la Bourgogne qui se suicide sur Liège.



Dépendances passives

Les joueurs disposant du DLC "Rights of Man" peuvent définir l'attitude militaire de leurs sujets sur "Passif" et "Défensif", mais ces priorités sont un peu bancales depuis quelque temps. Nous avons corrigé un certain nombre de bugs à ce sujet avec la 1.34, et il y en a un que j'aimerais partager plus particulièrement.

En termes très simplifiés, voici comment le Passivité était codée à l'origine:
- Objectif n°1 : éviter les territoires ennemis
- Objectif n°2 : éviter les armées ennemies en territoire national
- Objectif n°3 : éviter l'attrition (avec une grande marge si possible)

Faisant que les sujets mono-province avec de grosses armées resteraient sur place et subiraient l'attrition (surtout si l'armée d'un autre pays se trouve également sur place), et de même lorsque les armées ennemies approchent. Les objectifs ont donc été réorganisés:
- Objectif n°1 : éviter les armées ennemies en territoire national
- Objectif n°2 : éviter l'attrition (avec une grande marge si possible)
- Objectif n°3 : éviter les territoires ennemis



Divers

Un certain nombre d'améliorations ont été apportées, par exemple sur la gestion des armées et des flottes. Ce Carnet est déjà assez long, mais le plus gros bug méritant d'être mentionné est celui qui faisait que l'IA bloquait ses armées sur la côte, tandis que sa flotte avait trop peur (souvent de manière irrationnelle) de venir les chercher. Cela faisait par exemple, du Danemark, de l'Angleterre et de l'Espagne des alliés peu utiles dans les guerres.

Habituellement, de nombreux bugs d'IA étaient générés tard dans le cycle de développement d'un patch, peut-être parce qu'ils ont souvent besoin de temps pour être détectés. Pour l'instant, nous sommes assez satisfaits de l'état de l'IA dans nos builds en interne, nous allons donc essayer de ne pas répéter cette erreur en remuant les choses avant la sortie de la 1.34.



Notes de mise à jour

Voici un récapitulatif plus ou moins complet des notes de patch concernant l'IA jusqu'à présent (en anglais). Cette liste est encore en cours d'élaboration, une liste plus exhaustive sera publiée en même temps que la mise à jour, comme d'habitude:
Spoiler:
Bâtiments:
- AI will now properly calculate when to construct Docks based on a multitude of factors such as sailor percentage, idea group choices, capital position and more.
- Fixed that AI sometimes deleted all forts right after a bad war.
- Fixed another case of AI deleting forts unnecessarily.
- Fixed bug that 'Conqueror' ruler personality made AI delete all/most forts.
- AI less keen to build fort in capital (though still preferred). This will somewhat reduce the fort slog in Central Europe.

Gestion du budget:
- Changed AI budgeting algorithm to be more flexible. Fixes e.g. small CNs sometimes not colonizing when they should.

Géopolitique - Déclarations de guerre:
- Fixed some cases of AI declaring war over provinces it can't/won't take.
- Made AI less likely to declare war on island nations it lacks the transports to invade.
- Fixed bug that revolutionary AI could declare war on coalition target with any cb, thinking coalition members would join.
- AI is no longer blocked from declaring independence when at war.
- Fixed bug that sometimes made aggressor AI erroneously think HRE allies would refuse to join when attacking HRE minors.

Géopolitique - Missions et décisions:
- Added AI weights to mission trees which make them now more considerate which mission they want to strive for and how much (for context related reasons).
- AI now understands and tries to achieve army_size and army_size_percent triggers in missions.

Géopolitique - Autres:
- Fixed bug that AI couldn't get hostile towards, and hence rarely attacked, others’ vassals and some other subjects.
- AI is now better at evaluating when to annex/integrate a subject.
- Fixed bug that catholic AI colonial nations avoided expanding into overlord's Tordesilla regions.
- Reduced AI avoidance of having interest in provinces that are vital to allies.
- AI Duchies are now permanently interested in provinces of their culture, Kingdoms their entire culture group, and Empires also all provinces on their border.

Signer la Paix:
- Fixed some issues with AI peace acceptance 'wants other concessions than gold' and 'does not want anything else', causing AI to often leave OPMs in peaces.
- Fixed bug sometimes preventing AI from taking the last enemy province.
- AI warleaders are now more happy to make separate peaces with non-cobelligerents.
- AI will unconditionally surrender in more cases.

Armée:
- Fixed one bug that made AI send armies far away instead of defending home.
- Made AI more likely to reinforce adjacent battles.
- Improved AI attrition handling. Should get both less attrition and less confused behavior.
- Fixed bug that AI helped allies with rebels even when at peace.
- AI overlord now treat subjects' rebels like their own in more cases.
- Fixed bug that made AI ignore flanking when evaluating battle.
- Fixed multiple cases of AI subjects being stupid when set to Passive or Defensive.
- Increased preferred size of AI armies, especially late game.
- Increased AI desire to disrupt sieges, especially with high progress.
- Improved AI logic for when to abandon sieges.
- Made AI armies prioritize coordinated offensives more.
- Made army AI try to stay close to enemy armies when it has nothing else to do.
- AI somewhat more likely to defend homeland.
- Improved AI for consolidation before battle.
- Fixed instance of AI armies going back and forth when sieging.
- AI vassals no longer delete exiled armies if they can get home.
- Fixed issues with autonomous sieging and rebel suppression missions.
- Fixed case of AI armies canceling movement every other day

Marine:
- Fixed some issues with AI naval invasions.
- Made AI better at understanding when a naval invasion risks being intercepted.
- Fixed bug that made AI often unassign general when naval invading.
- Fixed yet another case of AI naval invasion stalling forever.
- Made AI fleets consider troops further away when protecting straits.

Compagnies Commerciales:
- Fixed bug that AI sometimes wouldn't ever core Trade Company provinces.
- AI will no longer accidentally remove trade companies by creating states.

Triche:
- Fixed bug that AI could add provinces to HRE when emperor, even if not a member.
- Fixed bug that AI could use Break Alliance for Favors diplomatic action with Leviathan disabled.


C'est tout pour aujourd'hui. En espérant que vous aurez trouvé ce Carnet de développement intéressant!

La semaine prochaine, mon collègue Pavía vous présentera les nouveaux monuments introduits dans la mise à jour 1.34, les rééquilibrages apportés au jeu, et d'autres changements que nous souhaitons partager et discuter avec la communauté, qui feront partie du patch gratuit.


Rejoignez-nous pour discuter de cet article ici!