Doper l'IA des modes solo, c'est possible

Discussions autour d'une ligue... ou pas
Répondre
Avatar du membre
Palanthis
Messages : 702
Coach : Palanthis

Doper l'IA des modes solo, c'est possible

Message par Palanthis »

Ce sujet mériterait sans doute un post-it, mais j'attends de voir s'il a du succès, et ce qu'en pensent mes collègues du staff

Avec la nouvelle édition, un nouveau mode solo vient renforcer un jeu déjà solide de ce côté-là (il parait d'ailleurs que ce mode "coaching" est costaud niveau background, j'ai hàte d'y être).

Mais le problème en solo, c'est l'IA : des trolls qui esquivent à chaque tour, des elfes qui font de bonnes vieilles cages et attendent bien sagement qu'on vienne les balancer par les cheveux, ce genre de choses...

En discutant sur le fofo officiel j'ai réussi à obtenir une explication sur une modification du script de l'IA qui semble bien fonctionner.
Je ne connais pas tous les détails, mais elle réévalue les priorités de ses tactiques, lui donne plus de temps pour réfléchir et empêche certaines actions stupides comme celles que je viens de citer. Bref, que du bonheur... et qui fonctionne à priori autant sur la nouvelle édition que sur l'ancienne.

Je n'ai pas encore testé moi même mais tout a l'air ok d'après les retours.

Ca se passe donc ici : http://www.cyanide-studio.com/forumBB/v ... 17#p319317

et je vous copie l'intégralité du "tuto" :

Pour ameliorer l'AI de Bb Legend, améliorer la priorité de ses actions en fait, avec la version New Wave il suffit de recopier ceci sur le fichier AI.XML dans CYANIDE/BBEL/DATA/MACTH/AI

Faites une copie de votre ancien fichier avant qd même.

Dans BB 1 il marchait très bien et augmentait l'intelligence de l'AI, et comme le fichier AI n'a pas changé de BB 1 à BBLE hormis le stye de jeu des races, ca ne peut qu'être bénéfique.



<?xml version="1.0" encoding="utf-8"?>
<AI.xml>
<Coach>
<RoleAttributionMultipliers>
<BallCarrier>
<Strength>1.5</Strength>
<Agility>2</Agility>
<MovementAllowance>1</MovementAllowance>
<ArmorValue>0.5</ArmorValue>
</BallCarrier>
<Catcher>
<Strength>0.5</Strength>
<Agility>2</Agility>
<MovementAllowance>1.5</MovementAllowance>
<ArmorValue>1</ArmorValue>
</Catcher>
<Protector>
<Strength>1.5</Strength>
<Agility>1</Agility>
<MovementAllowance>0.5</MovementAllowance>
<ArmorValue>2</ArmorValue>
</Protector>
<Hunter>
<Strength>1.5</Strength>
<Agility>1</Agility>
<MovementAllowance>1</MovementAllowance>
<ArmorValue>1.0</ArmorValue>
</Hunter>
<Safety>
<Strength>1.5</Strength>
<Agility>1</Agility>
<MovementAllowance>2</MovementAllowance>
<ArmorValue>0.5</ArmorValue>
</Safety>
<CatcherProtector>
<Strength>2</Strength>
<Agility>0.5</Agility>
<MovementAllowance>1.5</MovementAllowance>
<ArmorValue>1</ArmorValue>
</CatcherProtector>
<Pressure>
<Strength>2</Strength>
<Agility>1</Agility>
<MovementAllowance>0.5</MovementAllowance>
<ArmorValue>1.5</ArmorValue>
</Pressure>
<DefensiveBack>
<Strength>1.5</Strength>
<Agility>1</Agility>
<MovementAllowance>2</MovementAllowance>
<ArmorValue>0.5</ArmorValue>
</DefensiveBack>
<Linebacker>
<Strength>1.5</Strength>
<Agility>0.5</Agility>
<MovementAllowance>1</MovementAllowance>
<ArmorValue>2</ArmorValue>
</Linebacker>
<Defender>
<Strength>2</Strength>
<Agility>1</Agility>
<MovementAllowance>1.5</MovementAllowance>
<ArmorValue>0.5</ArmorValue>
</Defender>
</RoleAttributionMultipliers>
<Attack>
<BallCarrier>
<TimerStep>300</TimerStep>
</BallCarrier>
<Protector>
<TimerStep>100</TimerStep>
</Protector>
<Safety>
<TimerStep>0</TimerStep>
</Safety>
<Hunter>
<TimerStep>400</TimerStep>
</Hunter>
</Attack>
<Defense>
<Pressure>
<TimerStep>300</TimerStep>
</Pressure>
<Linebacker>
<TimerStep>400</TimerStep>
</Linebacker>
<DefensiveBack>
<TimerStep>200</TimerStep>
</DefensiveBack>
</Defense>
<Common>
<DodgeLimit>0</DodgeLimit>
<AgressivityLimit>4.0</AgressivityLimit>
<Catcher>
<TimerStep>200</TimerStep>
</Catcher>
<CatcherProtector>
<TimerStep>100</TimerStep>
</CatcherProtector>
<Midfielder>
<TimerStep>500</TimerStep>
</Midfielder>
<Defender>
<TimerStep>250</TimerStep>
</Defender>
</Common>
<Neutral/>
<OrderTimer>500</OrderTimer>
</Coach>
<Character>
<Catcher>
<Placement>
<ReplacementInterval>(3000, 7000)</ReplacementInterval>
<DeathZoneInfluenceMultiplier>3</DeathZoneInfluenceMultiplier>
<BorderInfluence>32</BorderInfluence>
<DestinationDistInfluence>1</DestinationDistInfluence>
</Placement>
<Dodge>
<TotalLimit>0</TotalLimit>
<NbCellFromDest>6</NbCellFromDest>
</Dodge>
<FreeFlag>
<TotalLimit>60</TotalLimit>
<AgilityMultiplier>4</AgilityMultiplier>
<MovementMultiplier>1</MovementMultiplier>
<TotalDivider>15</TotalDivider>
<EnemyDistanceMultiplier>2</EnemyDistanceMultiplier>
<PassDistanceBase>5</PassDistanceBase>
<PassDistanceDivider>8</PassDistanceDivider>
<PassDistanceMultiplier>5</PassDistanceMultiplier>
<DistanceFromPDBBase>32</DistanceFromPDBBase>
<DistanceFromPDBDivider>1.2</DistanceFromPDBDivider>
</FreeFlag>
<Agressivity>
<TotalLimit>3</TotalLimit>
<EnemyArmorLimitDown>45</EnemyArmorLimitDown>
<EnemyArmorLimitUp>55</EnemyArmorLimitUp>
</Agressivity>
</Catcher>
<CatcherProtector>
<Placement>
<MinActionTimerInterval>400</MinActionTimerInterval>
<MaxActionTimerInterval>15000</MaxActionTimerInterval>
</Placement>
<Agressivity>
<TotalLimit>0.6</TotalLimit>
</Agressivity>
</CatcherProtector>
<Safety>
<Tabassage>
<SafetyArmorLimit>50</SafetyArmorLimit>
</Tabassage>
<Agressivity>
<TotalLimit>0.8</TotalLimit>
<EnemyArmorLimitUp>75</EnemyArmorLimitUp>
</Agressivity>
</Safety>
<Protector>
<Placement>
<NbCellFromCenter>2</NbCellFromCenter>
<MovementPercent>80</MovementPercent>
</Placement>
<Agressivity>
<TotalLimit>7</TotalLimit>
<EnemyArmorLimitDown>25</EnemyArmorLimitDown>
<EnemyArmorLimitUp>75</EnemyArmorLimitUp>
</Agressivity>
<Dodge>
<TotalLimit>4</TotalLimit>
<NbCellFromDest>3</NbCellFromDest>
<NegativeScoreMinDiff>2</NegativeScoreMinDiff>
<NegativeScoreMaxDiff>5</NegativeScoreMaxDiff>
<PositiveScoreDiff>0</PositiveScoreDiff>
</Dodge>
</Protector>
<BallCarrier>
<Placement>
<PositionTimerOffsetInterval>(50, 50)</PositionTimerOffsetInterval>
<MovementPercent>100</MovementPercent>
</Placement>
<Agressivity>
<TotalLimit>0.3</TotalLimit>
<EnemyArmorLimitDown>35</EnemyArmorLimitDown>
<EnemyArmorLimitUp>65</EnemyArmorLimitUp>
</Agressivity>
<Dodge>
<TotalLimit>0.8</TotalLimit>
<NegativeScoreMinDiff>2</NegativeScoreMinDiff>
<NegativeScoreMaxDiff>5</NegativeScoreMaxDiff>
<PositiveScoreDiff>0</PositiveScoreDiff>
</Dodge>
</BallCarrier>
<Pressure>
<Dodge>
<TotalLimit>0.4</TotalLimit>
<NegativeScoreMinDiff>2</NegativeScoreMinDiff>
<NegativeScoreMaxDiff>5</NegativeScoreMaxDiff>
<PositiveScoreDiff>0</PositiveScoreDiff>
</Dodge>
<Agressivity>
<TotalLimit>0.8</TotalLimit>
<EnemyArmorLimitDown>35</EnemyArmorLimitDown>
<EnemyArmorLimitUp>75</EnemyArmorLimitUp>
</Agressivity>
</Pressure>
<Hunter>
<Agressivity>
<TotalLimit>3.0</TotalLimit>
<EnemyArmorLimitDown>35</EnemyArmorLimitDown>
<EnemyArmorLimitUp>75</EnemyArmorLimitUp>
</Agressivity>
<Dodge>
<TotalLimit>0.3</TotalLimit>
<NegativeScoreMinDiff>2</NegativeScoreMinDiff>
<NegativeScoreMaxDiff>2</NegativeScoreMaxDiff>
<PositiveScoreDiff>0</PositiveScoreDiff>
</Dodge>
<Foul>
<NotationLimit>80</NotationLimit>
<TotalMultiplier>6</TotalMultiplier>
</Foul>
</Hunter>
<DefensiveBack>
<Agressivity>
<TotalLimit>7</TotalLimit>
<EnemyArmorLimitDown>45</EnemyArmorLimitDown>
<EnemyArmorLimitUp>75</EnemyArmorLimitUp>
</Agressivity>
<Dodge>
<TotalLimit>0</TotalLimit>
<NegativeScoreMinDiff>2</NegativeScoreMinDiff>
<NegativeScoreMaxDiff>5</NegativeScoreMaxDiff>
<PositiveScoreDiff>0</PositiveScoreDiff>
</Dodge>
</DefensiveBack>
<Linebacker>
<Dodge>
<TotalLimit>0</TotalLimit>
<NegativeScoreMinDiff>3</NegativeScoreMinDiff>
<NegativeScoreMaxDiff>6</NegativeScoreMaxDiff>
<PositiveScoreDiff>0</PositiveScoreDiff>
</Dodge>
<Placement>
<SlowFastMultiplier>15</SlowFastMultiplier>
<DistanceDiminution>0.5</DistanceDiminution>
<BaseDistance>10</BaseDistance>
</Placement>
<Agressivity>
<TotalLimit>7</TotalLimit>
<EnemyArmorLimitDown>45</EnemyArmorLimitDown>
<EnemyArmorLimitUp>75</EnemyArmorLimitUp>
</Agressivity>
</Linebacker>
</Character>
<Difficulty>
<Easy>
<OrderTimer>400</OrderTimer>
<ProbaModifier>0</ProbaModifier>
</Easy>
<Medium>
<OrderTimer>300</OrderTimer>
<ProbaModifier>0</ProbaModifier>
</Medium>
<Hard>
<OrderTimer>200</OrderTimer>
<ProbaModifier>0.125</ProbaModifier>
</Hard>
</Difficulty>
<ForcesAndWeaknesses>
<Amazon>
<CoolViolent>0.5</CoolViolent>
<PassRun>0.5</PassRun>
</Amazon>
<Chaos>
<CoolViolent>0.1</CoolViolent>
<PassRun>0.4</PassRun>
</Chaos>
<DarkElf>
<CoolViolent>0.5</CoolViolent>
<PassRun>0.4</PassRun>
</DarkElf>
<Dwarf>
<CoolViolent>0.5</CoolViolent>
<PassRun>0.5</PassRun>
</Dwarf>
<Elf>
<CoolViolent>0.8</CoolViolent>
<PassRun>0.8</PassRun>
</Elf>
<Goblin>
<CoolViolent>0.4</CoolViolent>
<PassRun>0.2</PassRun>
</Goblin>
<Halfling>
<CoolViolent>0.9</CoolViolent>
<PassRun>0.2</PassRun>
</Halfling>
<HighElf>
<CoolViolent>0.6</CoolViolent>
<PassRun>0.9</PassRun>
</HighElf>
<Human>
<CoolViolent>0.5</CoolViolent>
<PassRun>0.5</PassRun>
</Human>
<Khemri>
<CoolViolent>0.4</CoolViolent>
<PassRun>0.3</PassRun>
</Khemri>
<Lizardman>
<CoolViolent>0.6</CoolViolent>
<PassRun>0.2</PassRun>
</Lizardman>
<Necromantic>
<CoolViolent>0.4</CoolViolent>
<PassRun>0.4</PassRun>
</Necromantic>
<Norse>
<CoolViolent>0.5</CoolViolent>
<PassRun>0.5</PassRun>
</Norse>
<Nurgle>
<CoolViolent>0.2</CoolViolent>
<PassRun>0.2</PassRun>
</Nurgle>
<Ogre>
<CoolViolent>0.2</CoolViolent>
<PassRun>0.2</PassRun>
</Ogre>
<Orc>
<CoolViolent>0.5</CoolViolent>
<PassRun>0.5</PassRun>
</Orc>
<Skaven>
<CoolViolent>0.7</CoolViolent>
<PassRun>0.8</PassRun>
</Skaven>
<Undead>
<CoolViolent>0.2</CoolViolent>
<PassRun>0.3</PassRun>
</Undead>
<Vampire>
<CoolViolent>0.5</CoolViolent>
<PassRun>0.5</PassRun>
</Vampire>
<WoodElf>
<CoolViolent>0.9</CoolViolent>
<PassRun>0.9</PassRun>
</WoodElf>
</ForcesAndWeaknesses>
<FieldThird>7</FieldThird>
<MidfieldersEnabled>0</MidfieldersEnabled>
<PassTotalLimit>400</PassTotalLimit>
<PassCatcherDZInfluence>10</PassCatcherDZInfluence>
<AutonomousAIMinNbCellToMove>5</AutonomousAIMinNbCellToMove>
<AutoBlockDistanceMax>2</AutoBlockDistanceMax>
</AI.xml>
"Le Blood Bowl a ses raisons que la raison ne connait point"
Ancien Admin, ancien MIR, ancien commissaire, bref, ancien croulant quoi
Avatar du membre
RodP
Messages : 273
Coach : RodP
Localisation : Bourges

Re: Doper l'IA des modes solo, c'est possible

Message par RodP »

Ca mérite d'être testé, surtout moi qui me plaignait du manque d'IA il y a pas si longtemps.
Merci.
Image
Avatar du membre
Voodoo
Messages : 1852
Coach : Voodoo
Localisation : Paris, France

Re: Doper l'IA des modes solo, c'est possible

Message par Voodoo »

Merci beaucoup. Je pars en vacances dans un endroit où la connexion internet est plus qu'aléatoire, et je suis prêt à tout essayé plutôt que l'IA de troll solitaire de Cyanide...
Avatar du membre
Palanthis
Messages : 702
Coach : Palanthis

Re: Doper l'IA des modes solo, c'est possible

Message par Palanthis »

J'ai retrouvé le topic d'origine où ce script est débattu en long, en large et en travers : ca se passe ici : http://www.cyanide-studio.com/forumBB/v ... 31&t=12287
"Le Blood Bowl a ses raisons que la raison ne connait point"
Ancien Admin, ancien MIR, ancien commissaire, bref, ancien croulant quoi
Avatar du membre
biereforever
Messages : 614
Coach : biereforever

Re: Doper l'IA des modes solo, c'est possible

Message par biereforever »

j'ai testé un peu.

y a du mieux mais ça reste de l'IA toutefois.

difficile de juger par rapport à avant, la grosse différence vient que les équipes IA ont déjà plus de compétences à la base que celle sur "BB standard"

le premier tournoi tu as régulièrement 300 000 en inducement. du coup tu as quand même plus de chances de te retrouver en difficulté en infériorité numérique.

ça ne vaut pas un affrontement entre joueurs mais y a du mieux (et en prenant un roster "difficile" ça peut être éventuellement sympa en se compliquant encore plus la tache)
Résultats Notables :
double vainqueur de la C4R (S4 et S5) avec la "mise en bière"
vainqueur de la ronde mortelle (S13)

Image
fredo69
Messages : 490
Coach : fredo69
Equipe : Larmes Noires
Race : Elfes noirs
Division : CIE

Re: Doper l'IA des modes solo, c'est possible

Message par fredo69 »

Déjà, BBEL améliore un point : les joueurs des équipes adverses ont par défaut des compétences utiles, ce qui complique un peu les parties solos (les équipes pleines de joueurs de niveaux 3+ avec uniquement des compétences inutiles facilitaient beaucoup les matchs...).

Avec le nouveau script d'IA, sur le peu que j'ai testé, l'adversaire tente moins d'actions complètement débiles mais me semble par contre nettement plus passif (c'est peut-être lié aux équipes rencontrées). Pour le reste, on a toujours sensiblement le même fonctionnement (avec toujours un ramassage de balle prématuré qui génère un nombre de TO énorme en début de tour...).

Au final, la difficulté est à peine meilleure de mon point de vue. Je n'ai pas encore joué d'équipes rapides, je ne sais pas si l'impact est plus important sur ce type de jeu.
Image
Avatar du membre
Palanthis
Messages : 702
Coach : Palanthis

Re: Doper l'IA des modes solo, c'est possible

Message par Palanthis »

Faut pas se leurrer, une IA restera toujours une IA. C'est d'autant plus vrai à BB vu le nombre de compétences et de tactiques possibles, ce qui rend la réflexion très complexe pour l'ordi (déjà c'est chaud pour un humain :) )

Ce script doit être bien plus intéressant pour l'EL, vu que si je ne m'abuse, en mode solo classique (où l'on enchaine les tournois) les équipes adverses ont un TV nettement supérieur de base, par rapport à ce qui existait avant. De même les morts et blessés sont moins nombreux dans les matchs IA vs IA (c'est valable aussi pour l'édition classique désormais, cf le nouveau patch qui doit sortir aujourd'hui).

Tout cela cumulé doit rendre les matchs plus équilibrés (sur le fofo officiel pas mal de joueurs disent qu'ils perdent parfois des matchs contre l'IA désormais, une fois ce script activé et sur l'EL, ce qui n'arrivait quasiment jamais avant).

Mais donc, bien sûr, l'IA reste et restera sans doute toujours perfectible, rien ne vaut un bon vieux match au sein du FB n'est-ce pas :)

C'est surtout pour le nouveau mode solo que ce script m'intéresse, perso, histoire de corser un peu les choses, mais j'attends d'avoir l'EL pour tester cela.
"Le Blood Bowl a ses raisons que la raison ne connait point"
Ancien Admin, ancien MIR, ancien commissaire, bref, ancien croulant quoi
fredo69
Messages : 490
Coach : fredo69
Equipe : Larmes Noires
Race : Elfes noirs
Division : CIE

Re: Doper l'IA des modes solo, c'est possible

Message par fredo69 »

Je pense que la principale limite de la modification tient au fait qu'une partie des comportements est simplement "codée" et que le paramétrage de l'AI n'a aucun impact sur cette partie.
Sincèrement, je ne pense pas que tu perdras 1 match sur 10, même avec cette modification (en tout cas au vu du peu de tests que j'ai fait jusqu'à présent). Sauf peut-être en prenant des Halflings ^^ .
Image
fredo69
Messages : 490
Coach : fredo69
Equipe : Larmes Noires
Race : Elfes noirs
Division : CIE

Re: Doper l'IA des modes solo, c'est possible

Message par fredo69 »

Petit complément : je viens de jouer contre des Hauts Elfes, je ne sais pas comment ils étaient avant mais là, ce sont de vraies plaies. A confirmer mais peut-être que contre les équipes rapides le challenge sera effectivement plus élevé (au moins avec une équipe jeune).
Image
Répondre