Le blog de JMM, designer d'«HistWar : Les Grognards»

2016…

Best wishes for a happy Year 2016.
Que cette année 2016 soit belle et sereine.

HistWar Team
JMM

Le Moral HistWarien.

Bonjour…

Ce bulletin va donner quelques informations sur le Moral d’HistWar qui joue un rôle considérable dans le jeu.
La première partie traite du calcul alors que le second paragraphe présente l’impact du moral sur les unités

Calcul du Moral

Chaque unité est gérée par un ensemble de paramètres dont le moral qui occupe une place essentielle dans HW.
Ainsi, il est tout à fait possible qu’une régiment de 2000 fantassins soit mis en déroute face à une unité d’effectif largement plus faible.

  • [++] impact positif élevé
  • [+]   impact positif
  • [+-] impact positif /négatif
  • [-]   impact négatif
  • [--] impact négatif élevé
  • Valeur intrinsèque de l’unité
  • Présence artillerie régimentaire (non dételé [+] ou dételé [++])
  • Niveau de fatigue [+-]
  • Unité subissant un bombardement [-]
  • Coefficient défensif (protection) [+]
  • Niveau de la perte globale [-]
  • Niveau de la perte instantanée [-]
  • Victoire lors de l’affrontement précédant [+]
  • Perte du chef d’unité [+-]
  • Perte du drapeau [-]
  • Unité vue par le chef d’armée [++]
  • Unité vue par un chef de corps [+]
  • Proximité de la Garde (opérationnel [++] ou en fuite [--])
  • Présence d’unité (opérationnel [+] ou en fuite [-])
  • Rumeur d’arrivée de renfort [+]
  • Présence de prisonniers adverses [+]
  • Menace latérale [--]
  • Rumeur sur la prise de la ligne d’opération amie [-]
  • Niveau de cohésion de l’unité [+-]

Ces paramètres ont chacun leur niveau de pondération.

Une unité vue par le Chef d’Armée voit son moral croitre de manière significative; à l’inverse, la fuite d’une unité de la garde impacte fortement le moral des unités, entrainant éventuellement un effet domino avec la désintégration de l’armée.

Utilisation du Moral

  • Influencer la capacité défensive de l’unité
  • Rejeter provisoirement ou définitivement un ordre
  • Moduler le résultat lors de Corps à Corps
  • Activer le recul d’une unité
  • Activer la fuite d’une unité
  • Inhiber l’assaut sur une construction
  • Modifier l’initiative intrinsèque d’une unité
  • Modifier la réaction d’une unité face à l’adversaire (Combat, Attente, Recul, Fuite)
  • Interrompre une charge de cavalerie ou d’infanterie
  • Moduler la capacité d’une unité à poursuivre après un engagement gagnant

Le Moral d’un corps prend en corps le Moral des unités : Gérer l’avance d’un corps (Suite, Attente, Replie)

Au regard du nombre de paramètres pris en compte, il apparait clair que le joueur perd en partie le contrôle de chaque unité.
Il doit donc se concentrer sur l’organisation de son armée, et placer au mieux le Chef d’Armée pour apporter un bonus aux unités.Il apparait aussi que la Garde doit être employée dans de bonnes conditions… son sacrifice pourrait être très dommageable à l’armée.

Enfin, quand le joueur décide de contrôler les unités, il doit prendre en compte le Moral pour savoir si l’unité possède la ressource morale pour exécuter l’ordre.
Par exemple, il n’est pas pertinent d’envoyer un ordre d’attaque à une unité dont le Moral est inférieur à environ 2/3 (66%)… au risque de la voir rapidement se replier.

Pour conclure, comme le contrôle total est difficile et que la gestion de l’imprévu s’impose.. Gardez toujours une réserve d’au moins 20%. Elle sera très souvent utile.

JMM

 

 

IA Grande Tactique : Evolution

Bonjour,

L’évolution de l’IA Grande Tactique (IA-GT) est une nécessité absolue.
Je n’ai pas vraiment trouvé de temps pour le faire jusqu’à maintenant.. mais je crois que c’est le moment maintenant.

Le moteur  interne est enfin arrivé à maturité après plusieurs années d’amélioration mais aussi parfois de récession.
Modifier le code entraine parfois de nouvelles erreurs… Corriger un bug permet parfois d’en voir émerger 2.

Pour revenir sur le sujet central de ce billet.
L’IA-GT va évoluer avec un objectif unique : mettre plus de  pression sur le joueur.
Plusieurs actions sont envisagées :

  1. Utiliser de manière intensive les ordres de reconnaissance,
  2. Eviter les attaques frontales face à l’artillerie,
  3. Utiliser au mieux l’artillerie tout en assurant sa protection efficace,
  4. Adapter le plan tactique en minimisant les mouvements de troupes, origine des confusions,
  5. Identifier les « trous » dans la ligne adverse avec pour objectif de réaliser des prises de flanc.
  6. Gérer au mieux la Réserve

Toutes ces améliorations seront intégrées aux version HistWar : Les Grognards et HistWar : Napoleon.

Le prochain billet traitera de la gestion du Moral dans le jeu.

JMM

 

 

Bonjour,

Quelques informations sur l’IA Grande Tactique (IA-GT)…

Cette IA est activée seulement quand le joueur joue contre le PC. Elle remplace donc un joueur humain.

La conception initiale reposait sur plusieurs règles:

  1. l’IA-GT joue avec les mêmes informations que le joueur humain : elle ne sait rien de plus que son adversaire.
  2. Une conséquence : elle ne triche absolument pas; de plus l’IA de corps (1) ne sait pas si les ordres reçus sont envoyés par le joueur ou l’IA-GT.
  3. Les ordres utilisés par l’IA-GT sont les mêmes que ceux du joueur; l’IA-GT n’utilise pas les ordres d’unités sauf l’ordre de reconnaissance.
  4. En premier lieu, avant même que le joueur ait placé ses troupes, IA-GT évalue le terrain et définit son plan tactique initial. C’est une des grandes difficultés de développement puisque le joueur peut créer des cartes et l’IA-GT ne peut pas s’appuyer sur l’expertise humaine; c’est donc à elle de « comprendre » le terrain.
  5. Une fois le plan tactique créé, le programme recompose les corps, sauf si l’option « conserver l’odb » est activée, avant d’affecter les ordres aux chefs de corps. Quelques règles sont définies pour ces affectations. Une réserve est toujours mise en place et veille sur les lignes d’opération.

Une amélioration a été apporté sur l’IA-GT; à cette fin un ordre spécifique de Corps a été ajouté. Cet ordre permet d’attaquer un corps adversaire quand celui çi est en difficulté. Il permet alors d’exercer une forte pression. C’est actuellement la seule réaction de cette IA-GT.

La prochaine contribution portera sur la présentation de l’évolution de l’IA-GT. On verra que l’objectif est d’introduire une forte réactivité qui permettra :

  1. de mieux utiliser les ressources,
  2. d’éviter à des corps de se consommer face à de l’artillerie par exemple,
  3. de favoriser le chaos chez l’adversaire par des ajustements du plan tactique.

A suivre ici…

JMM

(1) il existe 3 IA actuellement : IA-GT, IA de Corps et IA régimentaire.

De mon activité

Bonjour,

En pleine activité de développement depuis des années, avec une activité de correction et d’amélioration d’HistWar depuis un an… et bien je fatigue un peu.
Pour tout dire, je n’ai pas pris beaucoup de vacances depuis des années et je commence à le ressentir.

En conséquence, je vais m’accorder une pause d’une dizaine de jours loin de la programmation… juste pour me ressourcer.

Prendre de la distance par rapport à la programmation ne veut pas dire arrêter l’activité sur HistWar…

Je vais en effet profiter de cette pause pour

  1. faire évoluer l’algorithme de l’IA Grande tactique car c’est l’une des améliorations majeures à venir; et cela fait longtemps que j’en ai envie.
  2. poster ici de manière régulière sur différents aspects du jeu. (la programmation consomme beaucoup de temps et limite ma communication)
  3. et puis aussi prendre un réel repos pour le corps et l’esprit.
  4. voire aussi quelques vidéos… surprises ou pas..

J’ai la certitude que cette pause sera bénéfique et que l’objectif final sera plus facilement atteint.
Pour le futur proche…

  1. faire une version qui corrige les bugs résiduels mais parfois ennuyeux,
  2. ensuite mettre en place cette nouvelle IA Grande Tactique,
  3. la nouvelle IHM devrait bientôt être intégrée
  4. les nouvelles figurines et animations avec pas mal de programmation
  5. les IAs division et brigade, dont je rappelle que les algorithmes sont prêts, seront ensuite codées (note)

J’aurai préféré continuer le développement… mais je ne souhaite pas entrer dans une phase de « burn out » qui serait dommageable pour tous.

Belle journée

JMM

Conflit Asymétrique

Bonjour… ou bonsoir :-)

Ce soir, j’ai envie de vous parler un tout petit de mon autre métier.

Je n’ai jamais vraiment parlé de mon activité à mi-temps dans un laboratoire de recherche publique.
Depuis plusieurs années, j’étudie les conflits que l’on nomme asymétriques (irregular warfare) avec pour mission de tenter de modéliser puis de simuler ce type de conflits très particuliers.
Que ce soit en Irak ou en Afghanistan, deux conflits asymétriques typiques -mais ce ne sont pas les premiers- les coalitions ont constaté que la coercition ne suffisait pas à gagner le conflit.
Il fallait agir sur d’autres axes. Les premières études de ce type de conflit ont permis d’identifier 4 axes d’actions (DIME) avec des effets dans l’environnement (PMESII).

DIME pour diplomatie, Information, Militaire, Economie,

PMESII pour Politique, Militaire, Economie, Sociétal, Infrastructure, Information.

Depuis ,DIME est devenu DIMEC par l’ajout de Culture.

La complexité est immense et nous n’en sommes qu’au début.
De mon coté, je m’intéresse surtout à l’Information et plus précisément à la Dynamique d’opinion.

Comment les informations se propagent à partir des médias et dans les réseaux sociaux…

Voila pour ce soir… si le sujet vous intéresse plus, je développerais un peu plus.

Et maintenant je replonge dans l’HistWar… (ou la guerre asymétrique était déjà bien présente, surtout en Espagne)

Très cordialement

JMM

 

Gestion des collisions

Bonjour à Chacun(e)

L’intégration de la nouvelle fonction de détection des collisions continue…

Pour résumer : la procédure de détection semble correctement fonctionner.

Pour l’instant, l’activité est surtout concentrée sur « que faire si après le mouvement l’unité occupe une zone interdite (unité amie, construction, fleuve…) »

J’ai constaté des petites erreurs dans la fonction en charge de la gestion de la modification de consigne : donc je corrige et j’essaye de modifier la procédure pour qu’elle modifie la consigne ou la formation afin de ne plus avoir de contact entre les deux entités. Cette procédure est critique et de son bon fonctionnement dépend le comportement des unités… et donc celui du jeu.

Je ne peux vous dire que tout cela est chronophage mais avance :-)

Belle fin de semaine

JMM

Reprise…

Bonsoir,

Quoi de neuf… un petit coup de fatigue.

Pour tout dire, ou pas loin, j’ai commencé le projet il y a environ 22 ans… et durant ces années, je me suis rarement arrêté plus que quelques jours.. disons une semaine de temps en temps.

Là, je commençais à fatiguer un peu… après une grosse activité de chasse au bugs où il faut chaque fois trouver de la motivation.

Puis une réecriture de la partie de la détection de contacts entre entités.. dans les faits, une fois le contact détecté, l’IA doit trouver que faire puisque le contact est généralement interdit sauf avec un adversaire.

Mais j’ai fait une pause depuis début Aout sur le développement et j’en ai profité pour ranger mon bureau où j’avais entassé des tonnes de dossiers… j’ai ainsi évacué plus de 1.5 mètres linéaire de cahiers de développement dont j’ai pris des photos qui permettront de faire une espèce de MakingOff… je pense en mettre un petit échantillon sur FaceBook.

Je suis sur la reprise d’activité et je commence à mettre en place les tests pour vérifier les nouveaux algorithmes…

Pas plus pour l’heure : je vous tiendrai au courant de l’évolution :-)

Belle journée

JMM

La ligne défensive

Bonjour,

L’activité actuelle se concentre surtout sur la ligne défensive et le positionnement des régiments sur leur secteur de déploiement.

La procédure de calcul de l’affection en espace libre (donc hors construction et pont) est totalement revue. Les bataillons en réserve sont placés en potence vers la menace potentielle.

Les transferts d’effectif entre bataillons sont traités par le moteur interne et ne sont pas visibles dans le moteur graphique pour l’instant.

Ce procédé est déjà utilisé pour la défense des zones construites… ainsi, même si cela n’est pas représenté graphiquement, un maximum de combattants est placé sur les secteurs réellement attaqués. L’interface permettra de visualiser ces transferts. Dans l’optique d’HistWar, toute cette gestion est à la charge de l’IA, le joueur ayant un rôle de chef d’armée et non de colonel…

Coté Vidéo de Waterloo.. toujours au repos… mais dès que je marque une pause, je travaillerai dessus.

@ plus tard pour la suite.

JMM

Vidéo et Développement

Bonjour,

Plongé dans les vidéos ramenées de Waterloo afin de faire un montage.

Plusieurs dizaines de minutes à filtrer et à monter… ce sera pour bientôt.

L’amélioration de l’IA (Intelligence artificielle) continue. C’est un peu long mais la procédure d’identification d’un espace de déploiement est presque terminée avant de passer à des tests exhaustifs.

Belle journée.

JMM