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

Pour ceux que cela intéresse éventuellement, une répartition en volume des diverses fonctions principales du moteur du jeu.

Actuellement, le source représente environ 1 million de caractères… soit environ 50 mille lignes ou encore 500 pages de listing.

Le programme peut être décomposé en 6 groupes

  1. Grande Tactique et Tactique
  2. Perception de l’environnement (moteur CMT pour Combat-Menace-Trajectoire)
  3. Gestion des ordres, des Organisations, des Lignes Défensives
  4. Séquenceur : combat, consigne, menace, trajectoire
  5. Recherche au sens large (de place, de soutien, de priorité,…)
  6. Divers (initialisation, élaboration des vitesses, …)

La fonction grande tactique (déjà évoquée dans un précédant article) élabore le plan tactique en mode Solo.
Les trois IA tactiques (Chef d’Armée, Chef de Corps, Colonel)  prennent en charge la gestion au niveau hiérarchique approprié.
Les prises de décision s’appuient sur les données quantifiées par le moteur CMT.
Les décisions se matérialise sous forme d’ordres qui se propagent au moyen des fonctions  »communication des ordres »

Chaque entité (unité, canon dételé) identifie son environnement suivant trois filtres:

  • Combat, ou plus généralement vision de ce que que voit l’unité en tenant compte des différents masquages.
  • Menace mélangeant vision et acoustique. La menace est polarisée, indiquant ainsi si l’entité est Ami ou Adversaire
  • Trajectoire indiquant les obstacles potentiels pour le déplacement

Cette fonction est de loin la plus gourmande en ressource temporelle.

Gestion des ordres, organisation, lignes défensives

  • ordres: gestion complète de la transmission des ordres avec prise en charge des captures et des remises différées
  • organisation: à réception d’un ordre de corps, l’IA prend en charge l’organisation en tenant compte des paramètres et des contraintes
  • lignes défensives: cette fonction est partagée en 2 groupes
  1. corps: recherche de la meilleure ligne de défense en s’appuyant sur les obstacles présent le long de la ligne indiquée dans l’ordre
  2. unité: affectation des différents bataillons aux secteurs définis lors de l’étape précédente

Pour chaque cycle de 1 minute, le moteur traite séquentiellement les 4 étapes:

  1. évaluation des pertes lors des combats par la mousqueterie, le corps à corps et le tir des canons
  2. élaboration des consignes pour le déplacement
  3. identification des menaces et mise en place des réactions (avec modification éventuelle des consignes)
  4. mise en place de la trajectoire

La fonction de recherche, fortement hétérogène, prend en charge des recherches à finalité variable

  • placement pour une unité arrivant sur sa zone de déploiement finale
  • identification d’un espace adapté à un combat, surtout pour les mêlées de cavalerie
  • identifications des différents paramètres d’une zone donnée (type, coefficient défensif, vitesse de déplacement….)
  • évaluation de la qualité d’une ligne de déploiement (prise en compte des surfaces inaccessibles)
  • identification des unités pour le soutien et le support
  • évaluation des priorités, par exemple pour passer un pont

Et pour en terminer ce tour d’horizon du moteur interne, quelques chiffres indiquant la part relative des différentes parties du code

  • 6.5%   Stratégie
  • 6.1%   Tactique
  • 6.6%   CMT
  • 4.9%   Lignes défensives
  • 7.5%   Ordres
  • 6.1%   Organisation
  • 11.3% Menace
  • 5.4%   Combat
  • 2.2%   Consigne
  • 18.6% Trajectoire
  • 13.8% Recherche
  • 11.1%  Divers

JMM


Tactique théorique (1-1)

Suite sur la lecture de Tactique Théorique

La première partie traite de la Nature de la Guerre et ses conséquences sur le raisonnement tactique.

Nous aborderons progressivement ses 6 chapitres:

  1. Art et Science de la Guerre
  2. De la victoire
  3. L’initiative
  4. Le risque
  5. La surprise
  6. Friction et Brouillard de Guerre

Art et Science de la Guerre

Après une courte introduction, Yakovleff  pose sa définition:

  • « la guerre résulte de l’affrontement de deux volontés »
  • « cet affrontement s’exprime sous la forme d’un choc intellectuel »
  • « les manœuvres, du niveau stratégique jusqu’au combat tactique, ne représentent, en dernière analyse, que les manifestations physiques de cet affrontement intellectuel »

La question même de la raison profonde de la guerre est éludée… mais cette question même a-t-elle déjà reçue un semblant de réponse?

Affrontement de deux volontés : nous voila déjà au source  Clausewitzienne. A nouveau une question à ne pas creuser : la volonté de qui? Dans des sociétés fortement hiérarchisées (dictature par exemple), la réponse est aisée. Mais dans une démocratie, qu’en est-il? Nous vendrait-on la guerre comme l’on nous vend un paquet de lessive? Abandonnons ces questions vertigineuses et rapprochons nous d’HistWar…

  • Affrontement de deux volontés : la votre et celle de votre adversaire (humain ou artificiel).
  • Affrontement de deux intelligences élaborant un plan tactique.
  • Affrontement sur le terrain d’HistWar, lors d’une bataille (tactique), des volontés de défaire l’adversaire dans une joute honnête et ludique.

La guerre en tant qu’art : pas une question mais une simple affirmation :  la démonstration me paraît légère mais au fond, faut-il vraiment conclure?

La guerre en tant que science : dire que la guerre s’appuie sur la science et la technologie pour conclure que la Guerre est une science me paraît au minimum simpliste…

Art et Science de la Guerre : du concept au raisonnement. Ce dernier paragraphe ne me convainc guerre non plus, mais je ne suis pas sûr que l’essentiel soit dans cette introduction.

De la victoire

L’auteur introduit immédiatement le temps comme paramètre essentiel du processus aboutissant à la victoire.
La victoire n’est pas un évènement mais le résultat d’une dynamique. Il renchérit: « l’ampleur de la victoire est inversement proportionnelle à la durée de l’effort. »

Simplement, j’ai du mal à partager cette analyse… mais peut être est ce dû à la définition de la victoire. Ce n’est pas parce que l’un des protagonistes s’est proclamé vainqueur qu’il a gagné (l’histoire récente le démontre bien).Et pour en conclure avec cette assertion, il faudrait aussi quantifier ampleur, voire durée de l’effort. Il me semble que sans être précis sur tous ces termes, l’on peut démontrer tout et son inverse.

Yakovleff aborde ensuite les 3 niveaux de la guerre : stratégie-opérationnel-tactique.

Stratégie : la définition de la stratégie dépasse une vision purement militaire; cependant, son acception dans le cadre de ce chapitre reste celui de la définition des objectifs militaires et des moyens à associer.

Opérationnel : cette notion est récente et date de la révolution russe où les soviétiques se battent sur plusieurs théatres; il est alors nécessaire de coordonner les différentes actions. Au préalable, Napoléon a introduit le niveau de Grande Tactique pour décrire les mouvements de concentration de ses corps (les 7 torrents de la campagne de 1805).

Pour résumer, « La tactique est née avec la bataille, pourrait-on dire. La stratégie est née avec le pouvoir. Le niveau opérationnel est né avec les communications »

La victoire de niveau stratégique : la guerre oppose deux camps aux objectifs contradictoires; cela nécessite donc -pour qu’il y ait victoire- qu’il y ait objectif défini et atteint. Yakovleff introduit la notion de gain positif et négatif (sous entendu d’objectif opposé à l’objectif adverse). Par exemple « empêcher son protagoniste de … » constitue aussi une victoire, la volonté de l’adversaire ayant été annihilée.

La victoire de niveau opérationnel : ou comment les américains ont perdu la guerre du Vietnam sans perdre une bataille.

La victoire de niveau tactique : plusieurs exemples historiques…

La victoire en tant qu’enchainement : ou l’analogie du jeu de cartes : gagner au niveau tactique consiste à s’emparer d’une levée; la partie dans son ensemble représente la guerre au niveau stratégique. La dernière bataille est celle où l’un des protagonistes prend conscience qu’il ne pourra livrer encore un combat.
Pour conclure ce paragraphe, « la dérive du but de guerre est presque une loi historique ».

Les prochains chapitres seront plus en phase avec HistWar

JMM

PS : le texte encadré par «  » est une copie littérale du texte

IA Grande Tactique

L’IA Grande Tactique, activée seulement durant les engagements en mode solo, est un élément de HW:LG qui va s’améliorer au cours du temps.

Actuellement, elle est encore dans une configuration minimaliste.

En quelques lignes, cet article décrit succinctement ses caractéristiques essentielles.
Un second paragraphe présente les axes de progression dans un futur plus ou moins proche.
Le troisième traite de l’historicité.

a) le présent

L’IA Grande Tactique s’appuie sur un ensemble de procédures initiales afin de construire le plan tactique:

  • un analyseur de terrain qui permet de définir des zones où peuvent se déplacer les corps d’armée; certaines de ces zones peuvent s’avérer des zones essentiellement défensives alors que d’autres peuvent être utilisées dans des actions offensives ou défensives. Cet analyseur utilise aussi des données relatives aux forces en présence qui sont supposées connues à un coefficient aléatoire près. Ainsi, plus le ratio des forces relative à l’IA est important, plus l’IA va privilégier une action offensive globale. Cet analyseur doit encore évoluer pour mieux prendre en compte les rivières.
  • un générateur de plan tactique : il utilise les données de l’analyseur de terrain pour définir les zones d’action : où attaquer, où défendre, où placer les réserves. Ce générateur prend en compte les corps d’armées et leur typologie (corps de cavalerie, d’artillerie, d’élite…)
  • un générateur d’ordres : dès lors, le plan tactique étant défini, le générateur envoie les ordres aux différents corps après avoir composé les armées (une armée étant une association de corps avec un corps principal et des corps liés).  Les paramètres des ordres (organisation en bataille, échelon refusé à gauche ou à droite, échiquier) tiennent compte de la typologie et de la topologie, mais aussi de la largeur des fronts de chaque armée.

Tous les ordres sont envoyés à l’instant initial.

Actuellement, la réactivité est limitée au renforcement des corps en difficulté et à la réaction de corps face à des corps adversaire en difficulté.

b) l’évolution

Assez rapidement, le mode d’immersion va se mettre en place. Le joueur aura alors la charge d’un corps d’armée; l’IA Grande tactique lui demandera d’exécuter des missions dans le cadre du plan tactique défini; bien sûr le joueur pourra prendre des libertés par rapport à ce plan… il reste que le Général en Chef pourrait très mal le prendre et vous dégrader sur le champ de bataille même… tout dépendra de votre efficacité…

Autre évolution : la mise en place des IA intermédiaires pour la gestion des niveau Division ou Brigade. Les joueurs pourront bien sûr profiter de ces deux nouveaux niveaux et modeler plus finement leur plan tactique. L’IA Grande tactique profitera aussi de ces nouvelles IA en permettant une réactivité plus fine que celle en place actuellement

Et pour terminer, l’IA Grande Tactique va être en capacité de diversifier ses actions

  • lors de la phase initiale, avec la possibilité de jouer avec le temps en déclenchant des mouvements en relation avec l’activité de l’adversaire… donc fini la pression initiale immédiate qui permet au joueur d’attendre gentiment l’IA
  • lors de l’évolution, avec une palette de réponses plus large en proposant un meilleur support aux corps en difficulté et aussi en cherchant des espaces géographiques à utiliser afin de mettre l’adversaire en difficulté.

Bref, encore beaucoup de travail sur cette IA… il est bien sûr difficile de quantifier l’évolution mais il est probable que sa capacité de raisonnement actuelle est encore bien faible.
Et pour conclure, une certitude : cette IA n’a pas vocation à tricher; elle utilise les mêmes informations que celles du joueur, ne voit pas plus loin, et est soumise aux mêmes contraintes temporelles et spatiales.  Sans oublier qu’un système de Plug-in permettra à terme à des équipes de développer leur IA Grande Tactique.

c) l’historicité

HW:LG est assurément un jeu qui essaye de faire revivre les combats de l’époque; cependant la méthodologie même impose de ne pas utiliser les positions historiques au risque de contraindre l’IA à refaire le plan historique… ce qui amène en fait à rejouer sans fin le même engagement. Il ne faut pas oublier en effet que dans la réalité, les positions initiales étaient choisies en fonction du plan tactique et que l’on a rarement vu des corps d’armée entier permuter  avec d’autres corps durant le combat.

Il reste que les développeur de Mod souhaitent que ces positions historiques soient respectées.. et cela nécessite que je retravaille l’IA Grande tactique afin de prendre en compte cette nouvelle contrainte. Bien évidement, cette requête est légitime et je dois la traiter.. mais il me faut du temps pour cela…

Par ailleurs, l’on me demande de prendre en compte le type de combat souhaité, par exemple offensif-offensif, offensif- défensif… actuellement, l’IA élabore sa stratégie en fonction des rapports de force; il est possible que cette stratégie soit définie par le joueur même… mais je ne suis pas sûr que le gameplay sorte gagnant, sauf s’il s’agit de permettre de faire des exercices…

JMM

Tactique théorique (0)

Premier article de la série sur un livre intitulé « Tactique Théorique »

Deuxième édition du Livre du général Yakovleff, aux éditions Economica (2009)

En présentation générale, ce manuel traite des aspects tactiques des armées d’aujourd’hui. A le lire, il est aisé de constater que si les mots ont changé, les concepts évolué, les fondements restent identiques.

Cet ouvrage -dont quelques passages restent à mes yeux un peu abscons- aborde tous les constituants de l’art tactique, et propose un certain nombre d’exemples piochés dans les combats antérieurs, parfois très antérieurs puisque l’on y retrouve par exemple Alexandre le Grand.

Pour commencer cette liste d’article, le premier indexé 0, un sommaire des livres à parcourir:

  1. Théorie : nature de la guerre, initiative,risque,surprise,friction et brouillard de guerre
  2. Temps : maitrise, raisonnement pour un mode opératoire, rythme
  3. Maniement des forces : notion de base, commandement et ordre
  4. Offensive : cinématique, initiative, imagination
  5. Défensive : cinématique, modes (en profondeur, d’arrêt, d’usure, mobile…)
  6. Maitrise de la violence : ce chapitre est nettement contemporain et intéressant

Au cours des articles suivants, je tenterai de mettre des liens entre l’utilisation d’HistWar Les Grognards et les concepts développés dans cet ouvrage.

Et pour conclure, ce document servira surement de guide pour faire évoluer l’IA Grande Tactique…

Nous en reparlerons

PAT

JMM

PS : et bien sûr, n’hésitez pas à placer des commentaires (qui sont modérés, donc attendre quelques heures avant de les voir paraître)

Vidéo et Développement

Bonjour Grognards,

J’ai passé deux jours à travailler sur le futur trailer.

Cette vidéo commence à prendre forme; elle a pour objectif de tenter de faire vraiment découvrir HW:LG et l’ensemble de ses caractéristiques.

Bien sûr il y a le jeu même. Sa sortie a été précédée d’une idée forte dont la source m’échappe : c’est un simulateur, pas vraiment un jeu; ce sera difficile. J’ai dû mal à penser qu’il est difficile, tout au plus différent. Quel wargamer n’a pas eu envie de simplement tirer 3 lignes sur la carte d’Austerlitz et de dire :  « Si j’avais été Kutuzov, j’aurais fait ça ». Et bien HW:LG propose simplement de satisfaire cet envie.. Après quelques batailles perdues ou gagnées, le joueur va progressivement s’immerger dans le jeu, identifier les réactions, évaluer les inerties… et entrer réellement dans les bottes de ces Chefs d’Armée du début du XIXème siècle. Le trailer va donc tenter de présenter le mode de commandement du jeu.

Et puis les outils… ses trois éditeurs qui permettent de créer les conditions  pour rejouer toutes les batailles de l’Empire entre 1805 et 1814 (sauf les engagements avec les Prussiens (engagement majeur)  et les Britanniques). Insister sur cette caractéristique me paraît essentiel afin de bien faire comprendre que la durée de vie de jeu est « infinie » pour ceux qui vont tomber dedans…

Après ces deux jours de fête… mais il faut que je continue cette vidéo promotionnelle, retour au développement. Objectif à cours terme : faire une version 2d

  • correction de quelques éléments déjà mentionnés sur le Forum (canons « fantôme » indestructible, calcul résultat pour les combats d’arrière-garde, vérification de la gestion de la visibilité pour le placement du QG en mode FoW..),
  • amélioration du mouvement des figurines,
  • amélioration de la représentation 3D des assauts sur lignes défensives
  • correction du déploiement défensif (l’IA paraît prendre de mauvaises décisions)
  • vérification du placement des troupes 3D par rapport aux consignes 2D (toujours en accord avec le moteur interne)
  • rendre la trajectoire plus robuste lors des combats de cavalerie..

Tout un programme, non?

En fait je voulais vous parler d’un livre sur la tactique.. ce sera pour un peu plus tard

JMM

Cascade d’Ars

Une petite journée de balade en famille du coté de la Cascade d’Ars, à une trentaine de kilomètres de St Girons.

Journée parfaite… un petit peu couvert avec une température de printemps un peu chaud.. bref, bonheur absolu.

Environ 450 mètres de dénivelé pour environ 9 km de marche en tout… et beaucoup d’eau… même un peu dans le sentier.

Les neurones sont rafraichis. Prêt pour la suite.

JMM

Après la v2c… suite.

Le forum du site ww.wargamer.com parle d’HistWar.

Plutôt très positif, avec quelques interrogations…

  • ce jeu présente-t-il un intérêt?
  • son apprentissage est-il facile?

Coté site français, c’est le grand silence.. pourtant la newsletter a été largement diffusée!

Pour la prochaine vidéo de présentation d’HistWar :  j’ai commencé par la bataille de Bussaco, histwar d’honorer à la fois les Mod du PWGM et de Madrussian.

L’immersion est plutôt très réussie avec des uniformes et une ambiance sonore envoutante : on s’y croirait.

Passant presque 2 heures en 3D, j’ai pu voir quelques anomalies.. va falloir corriger cela rapidement.

Sinon, globalement, plutôt satisfait du comportement global.

Demain.. repos réel : une journée de marche histwar de dégourdir les neurones.

JMM

Après la v2c

Hello,

Nous voici début aout avec la sortie de cette Version 2c

Quinze jours d’hyper activité afin de corriger quelques anomalies de la version 2 originale.

Avec en plus le 1er Mod complet (uniformes,sons,scenarii) pour commencer à refaire les engagements de la campagne d’Espagne…

Que du bonheur!

Comme cela était indiqué dans la News letter de ce jour, il reste encore beaucoup à faire.

Mais aujourd’hui est un jour de relâchement… Au tableau, des activités légères:

  • mise à jour pour le suivi des programmes afin de garder trace des évolutions; cette tâche est indispensable pour ne pas perdre de temps en cas de problème futur.
  • quelques screenshots à faire et mettre en ligne, voire peut être commencer une nouvelle vidéo
  • et puis une petite sieste pour rattraper un peu les nuits courtes

P.A.T.

JMM

Bonjour à Tous…

Ce blog a pour objectif de vous faire suivre le développement d’HistWar de manière régulière… de vous faire part des problèmes, des solutions, des difficultés et des petits bonheurs lors de cette marche en avant.

J’en profiterai aussi pour parler des livres, voire des outils, que j’utilise pour le développement.

Ce premier article, je l’espère, sera suivi de nombreux autres.

JMM