[Tutoriel] Guerre et soldats

Vous êtes ici

1 post / 0 new
#1 26 avril 2017 - 2:00pm
Portrait de Dicotout
Offline
Envoyer un message
Connecté : Il y a 1 année 7 mois
Nombre de messages : 83
Inscris depuis : 12/22/2016 - 14:25

Tuto rédigé par Albapringe et migré de l'ancien forum

 

Salut à tous.

Ca y est, je poste la première partie, elle concerne le recrutement des soldats et les invasions. Y aura deux-trois petites choses à compléter, ça viendra peut-être plus tard. Tout ce qui restera à voir se retrouve à la fin.

Généralités

Le palais
Comme vous le savez déjà, il existe un bâtiment incontournable pour tout ce qui concerne l’aspect militaire du jeu : le palais. Sans lui, aucune compagnie ne peut être formée, donc pas de troupes au sol. Les tours ne peuvent être équipées et les trirèmes / frégates ne peuvent être construites ni réparées. Si les trirèmes sont déjà construites et que le palais est absent, elles restent néanmoins opérationnelles. 

Les militaires et la flotte
Il existe 3 types d’unités militaires pour chaque civilisation : les troupes d’infanterie, les troupes montées et les troupes à distance : par simplification et pour reprendre la terminologie existante dans les fichiers Model du jeu, je les appellerai pour toute la suite respectivement infanterie, cavalerie et missile. A ces troupes, s’ajoutent les navires : les transports et les navires de guerre. Enfin, mais c’est un peu à part, on peut aussi compléter cette liste avec les tours. Je ne m’étalerai pas beaucoup sur les trirèmes et les tours car il n’y a presque rien à dire qui ne soit déjà mis en évidence par le jeu en soi. J’en parlerai uniquement lorsqu’on traitera des caractéristiques de chaque unité (points de vie, attaque,…) mais cela viendra plus tard.

Recrutement

J’annonce direct la couleur, si vous n’avez pas encore digéré mes précédents topics, inutile de vous lancer dans ceux-là. Pour le « recrutement » des soldats, il faut bien sûr faire la distinction entre logements modestes qui ne fournissent que des missiles et les logements luxueux qui donneront infanterie et cavalerie.

Logements modestes

Le nombre de missiles (recrues / archers) qui sera disponible au palais dépend du nombre d’habitations modestes et de la population au sein de celles-ci mais pas de la population totale modeste ! On verra après en quoi cela peut créer des surprises. Autre facteur d’influence, le pourcentage de population donnant des soldats, qui correspond à la colonne ‘f’ de la catégorie « Houses » des fichiers Model\Zeus_Model_[niveau].txt. Ce chiffre dépend du niveau de difficulté et du stade d’évolution du logement. A noter aussi que les cabanes et huttes ne peuvent fournir aucun soldat, même si un pourcentage supérieur à 0% est affecté à ces dernières dans les fichiers Model. Un autre paramètre ne figurant pas dans les fichiers Model celui-là, doit empêcher le recrutement pour ces stades d’évolution. Il faut donc définir une valeur d’affectation selon le type du logement :

Image

- 0 sera ainsi la valeur affectée aux logements ne fournissant aucun missile
- 1 sera la valeur affectée aux logements pouvant fournir des missiles

Beaucoup de paramètres au final, mais la formule de calcul est pas mal non plus dans son genre. Elle va en plus se complexifier dès qu’il faudra tenir compte des logements luxueux, mais restons « simples » pour le moment, on suppose que l’on a aucun logement luxueux dans la cité, alors on a, pour un seul logement :

Si « type de logement » = 0, alors

Nb de missiles = 0

Si « type de logement » = 1, alors

Nb de missiles = plafond(population du logement x pourcentage)

Et finalement, on totalise tout cela en faisant :

Nb total de missiles = plafond(somme(Nb de missiles pour chaque logement) / 6)

Sympa, non ?^^. Allez, entrons dans le détail de cette horreur pour clarifier un peu. Je rappelle que plafond (ici, à l’unité) est une fonction (que j’ai tirée en l’occurrence d’un tableur bien connu pour ne pas le nommer, comme toutes les autres fonctions que j’ai utilisées jusqu’ici d’ailleurs^^) qui vérifie pour les nombres positifs : plafond(x) = x si x est entier et plafond(x) = tronque(x) + 1 si x n’est pas entier. Ceci étant connu, pour chaque logement modeste distinct de type 1, il faut donc calculer le produit « population du logement x pourcentage » et le plafonner.
Pour le nombre de missiles total, il faut faire ensuite la somme de tous les plafonds, ce qui signifie que si vous avez par exemple 100 logements modestes, vous aurez 100 termes à additionner (là encore, un tableur peut vous être utile dans les cas complexes). Cela, enfin, est à diviser par 6 et à plafonner. Pourquoi 6 ? Eh bien, je soupçonne fortement que ceci a un lien avec le nombre d’employés requis pour un missile qui est de 6, justement. En outre, et ceci est sûrement aussi lié, un missile qui meurt entraîne une perte de population de 6 dans l’un de vos logements modestes.

Concernant le « remplissage » des compagnies au palais, elle se fait de manière progressive, il faut compléter intégralement une compagnie jusqu’à 8 missiles avant d’en entamer une autre, aussi, le nombre de compagnies requis et leur remplissage se calcule de manière simple à partir de ce qui précède :

Nb total de compagnies missiles = plafond(Nb total de missiles / 8 )

Pour déterminer le remplissage, il suffit de connaître le nombre de personnes dans la dernière compagnie, toutes les autres étant complétées à 8 missiles. Dès lors que vous avez au moins une compagnie, cela se calcule selon :

Nb de missiles dans dernière compagnie = Nb total de missiles – 8 x (Nb total de compagnies missiles – 1)

(Remarque : si le résultat vaut 8, cela signifie bien sûr que toutes vos compagnies existantes sont complètes)

Allez, quelques exemples :

Exple 1 : 8 cabanes de 8 habitants, 12 propriétés de 32 habitants et 16 immeubles de 48 habitants. Niveau Héros, donc %(propriétés) = 20% et %(immeubles) = 25%. Nb total de missiles, de compagnies et remplissage ?
=> pour une cabane : type 0, donc 0 missiles.
=> pour une propriété de 32 hab : plafond(32 x 20%) = plafond(6,4) = 7.
=> pour un immeuble de 48 hab : plafond(48 x 25%) = plafond(12) = 12.
=> Toutes les propriétés identiques et tous les immeubles identiques, donc on peut sommer selon : somme des missiles = 12 x « nb missiles propriétés » + 16 x « nb missiles immeuble » = 12 x 7 + 16 x 12 = 276. (Ou pour ceux qui veulent appliquer la formule de manière stricte (mais, pour des raisons que vous comprendrez aisément, je ne ferais ceci qu’une fois,^^) : somme des missiles = 7 + 7 + 7 + 7 + 7 + 7 + 7 + 7 + 7 + 7 + 7 + 7 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 = 276)
=> Nb de missiles = plafond(276 / 6) = plafond(46) = 46 missiles.
=> Nb de compagnies = plafond(46 / 8 ) = plafond(5,75) = 6 compagnies.
=> Nb de missiles dans dernière compagnie = 46 – 8 x (6 – 1) = 46 – 40 = 6 missiles donc remplissage : 5 compagnies de 8 missiles + 1 compagnie de 6 missiles.

Dans l’exemple précédent, on pourrait être tenté de simplifier en faisant directement le regroupement des cas identiques, mais, malheureusement, ceci ne fonctionne pas, comme on le voit ci-après :
=> population des propriétés = 12 x 32 = 384 hab et plafond(384 x 20%) = 77.
=> population des immeubles = 16 x 48 = 768 hab et plafond(768 x 25%) = 192.
=> Nb de missiles = plafond((77 + 192) / 6) = 45 ≠ 46 missiles.
Cela est dû (comme je l’ai déjà fait remarquer pour les autres fonctions) au fait que plafond(x + y) n’est pas équivalent à plafond(x) + plafond(y). Il est donc impératif de suivre la formule telle quelle, ce qui rend parfois les calculs beaucoup plus lourds, j’en conviens.

Exple 2 : 8 masures de 24 habitants, 13 masures de 16 habitants et 9 appartements de 40 habitants. Niveau Olympien, donc %(masures) = 15% et %(appartements) = 20%. Nb total de missiles, de compagnies et remplissage ?
=> pour une masure de 24 hab : plafond(24 x 15%) = plafond(3,6) = 4.
=> pour une masure de 16 hab : plafond(16 x 15%) = plafond(2,4) = 3.
=> pour un appartement de 40 hab : plafond(40 x 20%) = plafond(8) = 8.
=> Seulement 3 cas distincts qu’on peut sommer selon : somme des missiles = 8 x « nb missiles masure 24 hab » + 13 x « nb missiles masure 16 hab » + 9 x « nb missiles appartement » = 8 x 4 + 13 x 3 + 9 x 8 = 143.
=> Nb de missiles = plafond(143 / 6) = plafond(23,833…) = 24 missiles.
=> Nb de compagnies = plafond(24 / 8 ) = plafond(3) = 3 compagnies.
=> Nb de missiles dans dernière compagnie = 24 – 8 x (3 – 1) = 24 – 16 = 8 missiles donc remplissage : 3 compagnies de 8 missiles.

Je le disais précédemment, le fait de ne pas tenir compte de la population totale des logements modestes de chaque catégorie peut donner des résultats surprenants, pour illustrer cela, rien de mieux qu’un exemple :

Exple 3 : Prenons d’une part 12 masures de 15 habitants chacune et d’autre part et 16 masures de 11 habitants chacune. Niveau Mortel. (Cet exemple permet de conserver un pourcentage à 20% pour pouvoir effectuer une comparaison ayant du sens). Nb total de missiles dans chaque cas ?
=> 1er cas : masure de 15 hab : plafond(15 x 20%) = 3.
=> Somme des missiles = 12 x 3 = 36.
=> Nb de missiles = plafond(36 / 6) = 6 missiles.
=> 2ème cas : masure de 11 hab : plafond(11 x 20%) = 3.
=> Somme des missiles = 16 x 3 = 48.
=> Nb de missiles = plafond(48 / 6) = 8 missiles.
Donc, on a 6 missiles pour le cas 1 et 8 missiles pour le cas 2, or, la population totale est de 180 hab pour le premier cas et de 176 hab pour le second cas : autrement dit, vous pouvez avoir plus de missiles pour une population globale moindre !

Un dernier exemple, qui permet d’illustrer déjà une première limitation de la formule : vous le savez, on peut avoir au maximum 20 compagnies de 8 soldats, soit 160 soldats en tout : du coup, pour rentrer dans l’ordre, la formule doit déjà être modifiée (mais on n’en restera pas là) pour devenir :

Nb total de missiles = min(160 ; plafond(somme(Nb de missiles pour chaque logement) / 6))

Exple 4 : 65 maisons de ville de 60 habitants, niveau Titan (%(maisons de ville) = 25%). Nb de missiles, de compagnies et remplissage ?
=> plafond(60 x 25%) = 15.
=> somme des plafonds = 65 x 15 = 975.
=> Nb de missiles = min(160 ; plafond(975 / 6)) = min(160 ; 163) = 160 missiles. (Sans l’ajout du min, on aurait 163 missiles, impossible)
=> Nb de compagnies = plafond(160 / 8 ) = 20 compagnies.
=> Sans refaire le calcul, remplissage : 20 compagnies de 8 missiles.

Logements luxueux

Le principe général pour les logements luxueux va rester le même que précédemment, je donne les différences notables qui vont avoir lieu ici : tout d’abord, on n’aura pas des missiles, mais de l’infanterie ou de la cavalerie donc le stade d’évolution du logement va avoir son importance. Par ailleurs, deux autres paramètres en plus des autres vont jouer, ce sont les stocks maximums en chevaux ou armements tolérés par un logement luxueux qui correspondent respectivement aux colonnes ‘g’ et ‘n’ de la catégorie « Houses » des fichiers Model\Zeus_Model_[niveau].txt. 

Je vais d’abord définir une valeur d’affectation selon le stade d’évolution du logement, qui permettra d’identifier les logements qui peuvent fournir de l’infanterie et / ou de la cavalerie :

Image

- 0 correspond à un logement ne pouvant fournir aucun soldat d’aucune sorte
- 1 correspond à un logement fournissant de l’infanterie
- 2 correspond à un logement fournissant de la cavalerie, ou par défaut, de l’infanterie.

Par ailleurs, je précise, même si c’est évident, que pour faire :
- une unité d’infanterie, il faut : 1 guerrier et 1 armement en stock dans le logement
- une unité de cavalerie, il faut : 1 guerrier, 1 armement et 1 cheval en stock dans le logement.

En ne tenant pas compte dans un premier temps des logements modestes, allons y maintenant pour la formule simplifiée pour un seul logement luxueux, en utilisant ce que je viens de dire, cela donne :

Si « type de logement » = 0, alors

Nb d’infanterie = 0
Nb de cavalerie = 0

Si « type de logement » = 1, alors

Nb d’infanterie = min(réserve armement actuelle ; stock maximal armement ; plafond(population du logement x pourcentage))
Nb de cavalerie = 0

Si « type de logement » = 2, alors

Nb d’infanterie = min(réserve armement actuelle ; stock maximal armement ; plafond(population du logement x pourcentage)) – nb de cavalerie
Nb de cavalerie = min(réserve armement actuelle ; stock maximal armement ; réserve chevaux actuelle ; stock maximal chevaux ; plafond(population du logement x pourcentage))

Quelques explications s’imposent : tout d’abord, j’entends par chevaux dans les formules aussi bien les chevaux proprement dits que les chars (pour l’extension), cela revient strictement au même. La « réserve actuelle » du logement en armement ou chevaux est ce qui se trouve en stock dans le logement, on comprendra que si un logement ne possède que 2 armements, on ne pourra pas avoir plus de deux soldats, de même, s’il n’y a qu’un cheval, pas plus d’un cavalier ne peut être formé. Attention, comme je le disais précédemment, il est vital d’avoir un armement pour avoir un cavalier, le cheval ne suffit pas, cet état de fait est intégré dans la dernière formule. Par ailleurs, il faut tenir compte des stocks maximums définis dans les fichiers Model (colonnes ‘g’ et ‘n’ de la catégorie « Houses ») car c’est eux qui définissent le nombre maximal de soldats au palais. Autrement dit, en supposant fictivement, que vous avez une réserve de 8 armements et 8 guerriers disponibles dans un logement. En mode « Voir sécurité » de l’onglet Armée, vous verrez indiqué que la maison a 8 hoplites / hallebardiers. Seulement, ce chiffre n’est pas forcément celui qui correspond aux soldats disponibles au palais : en effet, s’il est défini 5 en stock maximal d’armements (colonne ‘n’), vous n’aurez que 5 soldats au palais, et c’est ce nombre qui nous intéresse au final. Les 3 soldats restant dans le logement sont tout simplement ignorés. 

Remarque : pour le cas du « type de logement » = 2, il faut connaître d’abord le nombre de cavalerie avant de calculer le nombre d’infanterie. Cela est dû au fait que la cavalerie est formée prioritairement sur l’infanterie.

Cette formule doit être appliquée pour chaque logement luxueux existant, et vous l’avez deviné, on calcule le nombre total des soldats en sommant le tout, selon :

Nb d’infanterie totale = min(160 ; somme(Nb d’infanterie pour chaque logement))
Nb de cavalerie totale = min(160 ; somme(Nb de cavalerie pour chaque logement))

On introduit bien sûr les min car on ne peut avoir plus de 160 soldats. Notez bien que ces formules restent encore simplifiées pour faciliter la compréhension, je donnerai la version finale des formules à la fin.

Le calcul concernant le nombre de compagnies et le remplissage est rigoureusement identique aux libellés près :

Nb total de compagnies d’infanterie = plafond(Nb d’infanterie totale / 8 )
Nb total de compagnies de cavalerie = plafond(Nb de cavalerie totale / 8 )

Et :

Nb d’infanterie dans dernière compagnie = Nb total d’infanterie – 8 x (Nb total de compagnies d’infanterie – 1)
Nb de cavalerie dans dernière compagnie = Nb total de cavalerie – 8 x (Nb total de compagnies de cavalerie – 1)

J’émets une petite réserve concernant les formules de remplissage : j’ai vu de rares fois où une nouvelle compagnie d’infanterie ou de cavalerie était créée avant le remplissage complet de la précédente, avant que ce phénomène ne se résorbe de lui-même, alors que cela n’arrive jamais avec les missiles. Je n’ai toujours pas trouvé la source de cette incohérence, mais sans rentrer dans de longues explications, il semblerait qu’adopter les formules ci-dessus reste sans réelle incidence sur le jeu malgré tout, aussi, vous pouvez quand même les utiliser. (Je chercherai à nouveau d’où cet écart peut provenir, mais ce ne sera sûrement pas prioritaire, vu que ca reste rare et qu’on peut l’ignorer)

Quelques exemples :

Exple 1 : 4 résidences de 6 habitants, 6 demeures de 10 habitants et 12 domaines de 20 habitants. Niveau Héros (%(demeures) = %(domaines) = 20%). On suppose que les demeures ont toutes une réserve d’armements de 2, les domaines une réserve d’armement de 4. 9 domaines ont 4 chevaux, 3 en ont seulement 3. Pour demeures : stock max armements = stock max chevaux = 2, pour domaines : stock max armements = stock max chevaux = 4. Nb d’infanterie / de cavalerie totales, nb de compagnies et remplissage ?
=> résidences : type 0 donc pas de soldats
=> demeures (toutes équivalentes) : Nb d’infanterie = min(2 ; 2 ; plafond(10 x 20%)) = 2.
=> domaines avec 3 chevaux : Nb de cavalerie = min(4 ; 4 ; 3 ; 4 ; plafond(20 x 20%)) = 3. Donc Nb d’infanterie = min(4 ; 4 ; plafond(20 x 20%)) – 3 = 1.
=> domaines avec 4 chevaux : Nb de cavalerie = min(4 ; 4 ; 4 ; 4 ; plafond(20 x 20%)) = 4. Donc Nb d’infanterie = min(4 ; 4 ; plafond(20 x 20%)) – 4 = 0.
=> Nb d’infanterie totale = min(160 ; (6 x 2 + 9 x 0 + 3 x 1)) = 15 d’infanterie.
=> Nb de cavalerie totale = min(160 ; (6 x 0 + 9 x 4 + 3 x 3)) = 45 de cavalerie.
=> Nb de compagnies d’infanterie = plafond(15 / 8 ) = 2 compagnies. 
=> Nb d’infanterie dans dernière compagnie = 15 – 8 x (2 – 1) = 7 d’infanterie donc remplissage : 1 compagnie de 8 d’infanterie + 1 compagnie de 7 d’infanterie.
=> Nb de compagnies de cavalerie = plafond(45 / 8 ) = 6 compagnies.
=> Nb de cavalerie dans dernière compagnie = 45 – 8 x (6 – 1) = 5 de cavalerie donc remplissage : 5 compagnies de 8 de cavalerie + 1 compagnie de 5 de cavalerie.

Exple 2 : 5 demeures de 10 habitants, 4 manoirs de 11 habitants, 7 manoirs de 16 habitants et 3 domaines de 18 habitants. Niveau Titan (%(demeures) = %(domaines) = 20%, %(manoirs) = 25%). On suppose que 4 demeures ont 2 armements et la dernière un seul. Les domaines ont 4 armements et 4 chevaux. Les 4 manoirs de 11 habitants ont 4 armements, les 7 manoirs de 16 habitants ont 3 armements. Pour demeures et manoirs : stock max armements = stock max chevaux = 2. Pour domaines : stock max armements = 3 et stock max chevaux = 2. Nb d’infanterie / de cavalerie totales, nb de compagnies et remplissage ?
=> demeures avec 2 armements : Nb d’infanterie = min(2 ; 2 ; plafond(10 x 20%)) = 2.
=> demeure avec 1 armement : Nb d’infanterie = min(1 ; 2 ; plafond(10 x 20%)) = 1.
=> manoirs de 11 habitants : Nb d’infanterie = min(4 ; 2 ; plafond(11 x 25%)) = 2.
=> manoirs de 16 habitants : Nb d’infanterie = min(3 ; 2 ; plafond(16 x 25%)) = 2.
=> domaines : Nb de cavalerie = min(4 ; 3 ; 4 ; 2 ; plafond(18 x 20%)) = 2. Donc Nb d’infanterie = min(4 ; 3 ; plafond(18 x 20%)) – 2 = 3 – 2 = 1.
=> Nb d’infanterie totale = min(160 ; (4 x 2 + 1 x 1 + 4 x 2 + 7 x 2 + 3 x 1)) = 34 d’infanterie.
=> Nb de cavalerie totale = min(160 ; (5 x 0 + 11 x 0 + 3 x 2)) = 6 de cavalerie.
=> Sans refaire les calculs : 5 compagnies d’infanterie : 4 compagnies de 8 d’infanterie + 1 compagnie de 2 d’infanterie. 1 compagnie de cavalerie de 6 de cavalerie.

Remarque : Ce dernier exemple est totalement arbitraire et ne correspond à priori en rien à ce que vous pourrez voir dans le jeu. Il est donné surtout pour illustrer l’influence de chaque paramètre.

Tous les logements

Enfin, on va voir ce qui se passe quand on met tout cela ensemble. En fait, fondamentalement, il n’y a pas grand-chose qui change sauf qu’il va falloir tenir compte de la limite de 160 soldats au palais pour l’ensemble missiles-infanterie-cavalerie. Vous savez déjà que la priorité est faite d’abord à la cavalerie, puis à l’infanterie et enfin aux missiles. Mais, même en supposant que l’on ait à la base 160 missiles et qu’on forme à un moment une unité d’infanterie, vous savez aussi qu’on n’aura pas au palais 159 missiles et 1 unité d’infanterie, mais 19 compagnies de 8 missiles et 1 compagnie de 1 d’infanterie, ce qui est très différent lorsqu’il s’agit de mettre ça en formules. On va donc reprendre les formules en tenant compte de cela, elles traduisent cette fois de manière fidèle et intégrale ce qui se passe au palais (mais elles sont plus compliquées, du coup^^) :

Nb de cavalerie totale = min(160 ; somme(Nb de cavalerie pour chaque logement)) (relation inchangée)

Nb d’infanterie totale = min(8 x tronque((160 – Nb de cavalerie totale) / 8 ) ; somme(Nb d’infanterie pour chaque logement))

Nb total de missiles = min(8 x (tronque((160 – Nb de cavalerie totale) / 8 ) – plafond(Nb d’infanterie totale / 8 )) ; plafond(somme(Nb missiles pour chaque logement) / 6))

Le mode de calcul du nombre de cavalerie / d’infanterie / de missiles pour un logement ne change pas, ainsi que le mode de calcul du nombre de compagnies de chaque type, à ceci près qu’il faudra reprendre les nb totaux de soldats comme calculé ci-dessus.

Je ne mets pas d’autres exemples, ils ne feraient que répéter les précédents. Si toutefois, ceci est vraiment trop complexe à mettre en application en l’état, ce qui serait très compréhensible,^^, je peux mettre à disposition, sur demande, à ceux qui sont intéressés un fichier (provenant de ce même fameux tableur) « prêt à l’emploi » qui facilitera les calculs.

Invasions

On peut classer les invasions en deux catégories, celles programmées par l’éditeur et celles faisant suite à l’hostilité d’une cité. Les deux sont liées, mais je n’ai pas encore achevé l’étude des invasions de la deuxième catégorie. On va donc voir celles de la première catégorie, c’est déjà bien consistant.

Ce que l’on va voir ici, c’est comment sont déterminées les forces d’invasions et les pots-de-vin selon les paramètres. Le pot-de-vin à payer pour corrompre les ennemis dépend de la nature et du nombre des forces d’invasion et elles-mêmes dépendent de la civilisation assaillante. En revanche, les invasions programmées (contrairement aux invasions de la 2ème catégorie) ne dépendent pas de la puissance militaire de l’ennemi. Pour ceux qui ont déjà utilisé l’éditeur de scénario du jeu, ils sauront sûrement qu’il existe 256 « quantités » possibles, de 1 à 256 par pas de 1, pour définir une invasion (je parlerai plutôt de niveau d’invasion que de quantités par la suite). Chaque niveau, qui est assez abstrait en soi à la base, correspond en fait à un nombre bien précis de troupes qu’il vous sera bientôt possible de calculer (comme je vous l’annonçais, ca devrait permettre de rendre le choix de ce niveau nettement plus concret lorsque vous concevez un scénario avec des invasions). Par ailleurs, il est aussi possible de calculer le nombre de transports qui seront déployés en cas d’attaque par la mer. Le nombre de navires de guerre, fixé lors de la conception du scénario, a aussi son importance, surtout dans le règlement des pots-de-vin.

Avant de se lancer dans les formules, il va falloir commencer par détailler un aspect des fichiers Model\Figure_Model_[niveau].txt à savoir la colonne ‘j’ nommée « Frequency » qui est fondamental pour ce qui va venir. Ce chiffre n’est utilisé que dans la catégorie « All enemies » avec raison : il correspond en fait aux proportions (ou fréquences) de chaque type de troupes (missiles, infanterie, cavalerie) qui sera déployé lors d’une invasion. Ces proportions diffèrent pour chaque civilisation et leur somme est toujours logiquement égale à 100 si vous n’avez bien sûr apporté aucune modification à ces valeurs. Prenons un exemple pour clarifier : la civilisation troyenne :
- les missiles (javeliniers) ont une fréquence de 20 (sous-entendu ici : 20%) 
- l’infanterie (épéistes) a une fréquence de 50 (sous-entendu ici : 50%)
- la cavalerie (cavaliers) a une fréquence de 30 (sous-entendu ici : 30%)
Ainsi, supposons qu’une invasion de 10 soldats troyens ait lieu : l’armée attaquante sera donc composée, en respectant les proportions qui précèdent, de 2 javeliniers, 5 épéistes et 3 cavaliers.

On ne se concentre pour l’instant que sur les invasions terrestres. D’une manière générale, les forces d’invasions terrestres qui seront déployées se calculent ainsi :

Nb de missiles déployés = tronque(niveau d’invasion x fréquence missiles / 100)
Nb d’infanterie déployée = tronque(niveau d’invasion x fréquence infanterie / 100)
Nb de cavalerie déployée = tronque(niveau d’invasion x fréquence cavalerie / 100)

Quelques petits exemples très concrets :

Exple 1 : Invasion par civilisation atlante. Fréquence (F) missiles = 30, F infanterie = 40, F cavalerie = 30. Niveau d’invasion 51. Troupes déployées ?
=> Nb de missiles déployés = tronque(51 x 30 / 100) = 15 missiles
=> Nb d’infanterie déployée = tronque(51 x 40 / 100) = 20 d’infanterie
=> Nb de cavalerie déployée = tronque(51 x 30 / 100) = 15 de cavalerie

Exple 2 : Invasion par civilisation amazone. F missiles = 75, F infanterie = 25, F cavalerie = 0. Niveau d’invasion 27. Troupes déployées ?
=> Nb de missiles déployés = tronque(27 x 75 / 100) = 20 missiles
=> Nb d’infanterie déployée = tronque(27 x 25 / 100) = 6 d’infanterie
=> Nb de cavalerie déployée = 0

On pourra noter que les paramètres du jeu ont été définis de telle manière qu’aucun attaquant terrestre ne viendra pour un niveau d’invasion égal à 1. En effet, par le calcul, on voit que la fonction tronque portera systématiquement à 0 le résultat pour tous les types de soldats, quelque soit la civilisation. La victoire sera donc immédiate si vous choisissez de défendre la cité. Cela peut sembler totalement inutile d’avoir une invasion sans soldats, mais on verra que ceci peut donner lieu à un cas particulier. J’insiste : tout cela est vrai avec les paramètres tels qu’ils ont été configurés. Il n’existe à priori aucune limitation concernant le changement des valeurs des fréquences, par conséquent, si des modifications sont apportées dans les fichiers Model, le niveau d’invasion 1 pourra bien être composé de soldats.

Il semblerait que le maximum de soldats pouvant envahir votre cité soit de 500 unités. Toutes les formules fonctionnent bien tant que vous ne dépassez pas cette limite. En effet, au-delà, les troupes n’apparaîtront plus. A noter que cette limite n’a aucune chance d’être atteinte avec la configuration standard du jeu. En fait, tant que la somme des fréquences reste inférieure ou égale à 200, la limite ne sera pas atteinte. Remarquons quand même que de toute façon, une armée de 500 unités a bien peu de chances d’être vaincue par vos troupes régulières, donc il ne servirait à rien d’en produire davantage.

Le montant des pots-de-vin à verser pour corrompre l’armée découle des formules précédentes, mais il dépend aussi du niveau de difficulté : un taux plus élevé est appliqué si le niveau de difficulté augmente, ce qui traduit une moins bonne aptitude à se laisser corrompre de la part de vos ennemis. Les taux sont listés dans le tableau ci-dessous :

Image

Ainsi, si le pot-de-vin augmente avec la difficulté, ce ne sera pas dû à une plus grande force d’invasion, mais bien à cause de ces taux. On a alors :

Montant du pot-de-vin =min(60.000 ; max(1 ; ((Nb de missile déployés) x 25 + (Nb d’infanterie déployée) x 25 + (Nb de cavalerie déployée) x 50) x Taux))

Un résultat qui s’exprime en drachmes, bien sûr. Il y a introduction d’une fonction min et max car :
- On ne peut pas payer un pot-de-vin inférieur à 1 drachme (symbolique) ; ce cas correspond typiquement à une invasion de niveau 1, donc dépourvue de soldats.
- Le montant d’un pot-de-vin est plafonné à 60.000 drachmes, ce qui peut déjà être conséquent selon votre trésorerie. (Je fais également remarquer que sans un tel plafond et dans l’hypothèse où on maintient une somme de fréquences à 100, le maximum qu’il aurait été possible d’atteindre avoisine les 450.000 drachmes…).
On peut déduire aussi de la formule que le prix de base pour corrompre un missile ou une unité d’infanterie est de 25 drachmes et de 50 drachmes pour une unité de cavalerie.

Reprenons les exemples ci-dessus :

Exple 1 : Invasion par civilisation atlante. 15 missiles, 20 d’infanterie et 15 de cavalerie déployés. Niveau Mortel. Montant du pot-de-vin ?
=> Montant du pot-de-vin = min(60.000 ; max(1 ; (15 x 25 + 20 x 25 + 15 x 50)) x 3) = min(60.000 ; 1.625 x 3) = 4.875 drachmes.

Exple 2 : Invasion par civilisation amazone. 20 missiles et 6 d’infanterie déployés. Niveau Olympien. Montant du pot-de-vin ?
=> Montant du pot-de-vin = min(60.000 ; max(1 ; (20 x 25 + 6 x 25 + 0 x 50)) x 7) = min(60.000 ; 650 x 7) = 4.550 drachmes.

Cette formule de calcul du pot-de-vin traduit également une autre chose intéressante, c’est que pour une civilisation attaquante donnée (ou plus exactement, pour les 3 proportions de soldats connues), un montant de pot-de-vin ne peut être relié qu’à une seule composition de troupes (vrai si le pot-de-vin n’atteint pas 60.000 drachmes, donc en principe à condition que vous n’ayez modifié aucune fréquence). Cela peut être très intéressant lorsque vous vous retrouvez devant le choix : payer ou défendre la cité. En effet, comme le montant est affiché, vous pouvez savoir à l’avance ce que vous devrez affronter et voir si vous êtes à même de vous défendre. Malheureusement, il est à priori impossible de passer par une formule pour cela, il faut en fait disposer de la liste des niveaux d’invasions de chaque civilisation et y rechercher le pot-de-vin demandé afin de retrouver les forces correspondantes (vous ai-je déjà parlé d’un tableur ? c’est encore ce qui se fait de mieux pour mettre ceci en application^^).

Remarque importante : même si le nombre de soldats déployés est plafonné à 500 soldats, la formule de calcul du pot-de-vin ne tiendra pas compte de cette limite, par exemple, en admettant que la programmation soit telle que 600 soldats devraient être théoriquement déployés, le prix à payer sera celui correspondant aux 600 soldats, même si seulement 500 viendront.

Passons à présent sur les attaques maritimes. Il faut maintenant rajouter aux troupes précédentes les transports et les navires de guerre. Les formules concernant le nombre de soldats déployés restent inchangées, mais elles vont influencer le nombre de transport qui seront envoyés. Du fait de la présence des navires de guerre, les pots-de-vin peuvent aussi être accrus.

Une remarque concernant les navires de guerre : leur nombre est fixé lors de la conception, aussi aucune formule ne régit leur nombre en fonction de quoi que ce soit d’autre. En revanche, le nombre qu’il est possible d’envoyer est un peu démesuré car cela peut aller jusqu’à 255 navires de guerre. Vos 6 trirèmes / frégates au mieux ne feront pas vraiment le poids…

Une chose importante à savoir concernant les transports, ils correspondent chacun à une compagnie et une seule, qu’elle soit complète ou non. Autrement dit, une force d’invasion par la mer constituée d’un missile, d’une unité d’infanterie et d’une unité de cavalerie enverra 3 transports, car on a bien 3 compagnies d’une unité chacune. Un transport n’engendre en revanche aucun surcoût pour le pot-de-vin. Sachant cela, le nombre de transports se calcule selon : 

Nb de transports dédiés aux missiles = plafond(Nb de missiles déployés / 8 )
Nb de transports dédiés à l’infanterie = plafond(Nb d’infanterie déployée / 8 )
Nb de transports dédiés à la cavalerie = plafond(Nb de cavalerie déployée / 8 )

Et bien sûr, le nombre de transports total est la somme des résultats issus des 3 formules précédentes.

La formule de calcul du pot-de-vin est légèrement modifiée car elle tient compte des navires de guerre, dont le prix de base est de 200 drachmes :

Montant du pot-de-vin = min(60.000 ; max(1 ; ((Nb de missile déployés) x 25 + (Nb d’infanterie déployée) x 25 + (Nb de cavalerie déployée) x 50 + (Nb de navires de guerre) x 200) x Taux))

Remarquons que cette formule pourrait s’appliquer à tous les cas (puisqu’en cas d’invasion terrestre, le nombre de navires de guerre est nul, ce qui nous ramène à la première formule). Comme je l’annonçais, il y a néanmoins une chose intéressante à noter ici pour le cas du niveau d’invasion 1. Même si aucun soldat n’est déployé, le nombre de navires de guerre n’est lui, pas nécessairement nul, vous devrez donc vous acquitter d’un pot-de-vin correspondant aux navires de guerre envoyés (et pas seulement le 1 drachme symbolique). Si vous voulez défendre la cité, il s’agira donc d’une bataille navale exclusivement (mais dans les faits, comme un navire de guerre ne peut détruire le palais, la victoire sera immédiatement déclarée, libre à vous après de pourchasser ou non les navires^^)

Allez, encore une fois reprenons les exemples ci-dessous, mais en version maritime cette fois :

Exple 1 : Invasion par civilisation atlante. 15 missiles, 20 d’infanterie et 15 de cavalerie déployés. 5 navires de guerre. Niveau Mortel. Nb de transports ? Montant du pot-de-vin ?
=> Nb de transports = plafond(15 / 8 ) + plafond(20 / 8 ) + plafond(15 / 8 ) = 2 + 3 + 2 = 7 transports.
=> Montant du pot-de-vin = min(60.000 ; max(1 ; (15 x 25 + 20 x 25 + 15 x 50 + 5 x 200)) x 3) = min(60.000 ; 2.625 x 3) = 7.875 drachmes.

Exple 2 : Invasion par civilisation amazone. 20 missiles et 6 d’infanterie déployés. 3 navires de guerre. Niveau Olympien. Nb de transports ? Montant du pot-de-vin ?
=> Nb de transports = plafond(20 / 8 ) + plafond(6 / 8 ) = 3 + 1 = 4 transports.
=> Montant du pot-de-vin = min(60.000 ; max(1 ; (20 x 25 + 6 x 25 + 0 x 50 + 3 x 200)) x 7) = min(60.000 ; 650 x 7) = 8.750 drachmes.

Dans le cas d’une attaque par la mer, il est cette fois impossible de prévoir quelles troupes seront déployées à partir du montant du pot-de-vin, car on ne peut connaître à l’avance le nombre de navires de guerre qui sera envoyé. Ce que j’ai pu dire auparavant à ce sujet pour les attaques terrestres ne s’applique donc pas ici ! Une exception, toutefois, il semblerait que dans les cas d’invasions suite à l’hostilité d’une cité, il n’y a jamais de navire de guerre envoyé, auquel cas, pour ce type d’invasion, on serait en mesure de prévoir les forces déployées (mais j’aurai l’occasion d’y revenir plus tard). Cet inconvénient est néanmoins contrebalancé par le fait qu’en cas d’invasion maritime, vous pouvez détruire les transports contenant l’armée d’invasion avant qu’elle n’inflige le moindre dégât, chose impossible pour une invasion terrestre.

Encore une fois, pour ceux qui le souhaitent, j’ai conçu et peux fournir sur demande un fichier permettant d’avoir accès facilement aux listes des niveaux d’invasion selon les civilisations ou de remonter aux forces d’invasion terrestres à partir du montant du pot-de-vin.

Ainsi s’achève enfin la première partie. N’hésitez pas à me faire part de toutes les remarques qui vous viennent à l’esprit^^.

PS : Désolé pour l'espace entre les "8" et les ")" pour certaines formules, mais pas vraiment le choix... Il y avait beaucoup de 8) dans le premier jet^^

Ce qui reste à explorer :

Recrutement
Cas où le mode de remplissage des compagnies d'infanterie et de cavalerie est irrégulier.

Invasion
Invasions faisant suite à l'hostilité d'une cité ennemie.

Guerre
Forces requises pour conquérir une cité ennemie en fonction de sa puissance militaire ? (en fonction du type de forces, homogène ou mixte). Pillage : comment savoir ce qu’on va gagner en fonction des troupes envoyées ?

Combat
Points de vie, points d’attaque corps à corps / missile, armure corps à corps / missile, attaques mer/mer, mer/terre, comment tout cela est-il calculé pour toutes les unités militaires du jeu ?

Edit : Tout ou partie de ces informations se retrouvent sur le site de Pécunia : Citadel of Poseidon dont le lien figure ci-après : http://poseidon.pecunia.nerdcamp.net/index.html

Edit : ajout lien du site de Pécunia