Mount & Blade II : Bannerlord - Carnet de développement n°29 : « la Physique des Armes - Partie 1 »

Salutations, guerriers de Calradia !

Le système de combat riche et intuitif de Mount & Blade est l'une des fonctionnalités essentielles de nos jeux. Les mécanismes d'attaque directionnelle et de blocage sont intuitifs, car ils sont faciles à prendre en main, mais riches car ils permettent aux joueurs de progresser et de développer leur propre style de combat grâce à l'utilisation des feintes, de la technique du chambering et d'un bon jeu de jambe (y compris un coup de pied bien placé !).

Il y avait pourtant, dans les précédents épisodes de Mount & Blade, une part de hasard lors des combats. Les dégâts sont calculés en fonction d'un certain nombre de variables et les armes sont conçues pour infliger une quantité de dégâts choisie aléatoirement dans fourchette prédéfinie (avant que d'autres facteurs soient ajoutés à l'équation, comme le niveau de maîtrise de l'attaquant au maniement de cette arme, la vitesse des combattants et la valeur d'armure de la personne qui reçoit le coup). Nous pensons que, globalement, ce système fonctionne de manière satisfaisante, mais il reste toujours une partie du calcul des dégâts qui ne peut être contrôlée ou prédite de manière fiable par le joueur.


Dans Mount & Blade II: Bannerlord, nous voulions améliorer cet aspect du combat pour le rendre à la fois plus équitable et plus simple à comprendre pour les joueurs, notamment en multijoueur. Nous sommes arrivés à la conclusion que la meilleure solution serait de créer un système basé sur la physique qui prendrait en compte les propriétés physiques d'une arme et utiliserait une simulation pour en déterminer les statistiques de combat, comme la vitesse de l'arme et les dommages infligés. Nous espérons que ce système permette d'équilibrer les armes de manière plus naturelle et équilibrée.

Un autre avantage du calcul des statistiques par le moteur physique, c'est qu'il est possible de l'utiliser avec notre système de fabrication d'armes. Nous avons simplement besoin d'acquérir les propriétés physiques des armes fabriquées par les joueurs et d'alimenter notre système de calcul avec ces données, ce qui nous permettra d'obtenir les statistiques de la nouvelle arme.

Lorsqu'il fabrique une arme, le joueur commence par choisir un modèle. Une épée, par exemple, est constituée d'une lame, d'une garde, d'une poignée et d'un pommeau. Chacun de ces éléments peut apporter des bonus ou des pénalités qui ne sont pas liés à la simulation physique (par exemple, une garde très large peut permettre d'augmenter la valeur d'armure de la main du porteur). Chaque élément possède également des propriétés physiques qui seront utilisées pour le calcul des propriétés globales de l'arme, une fois tous les éléments choisis par le joueur.

Ces propriétés sont :
La longueur : elle détermine la portée d'une arme.
La masse : elle est importante par exemple pour les coups d'estoc et elle est utilisée pour déterminer la vitesse et la puissance du coup. Les armes légères sont plus rapides, mais ont moins d'énergie et infligent moins de dégâts. En rendant votre arme plus lourde, elle deviendra plus lente, mais également plus puissante, jusqu'à un certain point, bien entendu. Car si une arme est trop lourde et trop lente, elle entrera en contact avec votre adversaire avant qu'elle ait atteint sa vitesse maximale, ce qui réduira grandement son efficacité.
Centre de masse et d'inertie : ceci est important pour les coups latéraux, comme les coups de taille. À l'inverse des coups d'estoc, la vitesse d'un coup latéral n'est pas uniquement affectée par le poids, mais aussi par la distribution du poids autour du point de rotation du coup. L'augmentation du poids peut augmenter les dommages (dans une certaine limite), mais augmentera également l'inertie, ce qui signifie qu'il faudra plus de force pour atteindre une vitesse suffisante au moment de l'impact. Ces armes sont donc généralement plus lentes et l'augmentation du poids aura un effet plus mitigé sur les dommages.

Après avoir pris en compte toutes les propriétés physiques, nous pouvons les utiliser pour déterminer la vitesse de poussée et de frappe latérale de chaque arme. Effectuer cela de manière très précise serait difficile, car il faudrait tenir compte de tous les mouvements pouvant être réalisés par les combattants, de tous les muscles impliqués, des limites de performance, etc. Nous simplifions tout cela avec un modèle constitué de trois moteurs. Un des moteurs représente les jambes et les hanches, un autre le torse et les épaules, et un dernier le bras et le poignet. Puis, nous faisons tourner une simulation coordonnant ces trois moteurs pour donner de la vitesse à l'arme jusqu'à ce qu'elle touche sa cible (en fait, il y a deux simulations, une pour les coups latéraux et l'autre pour les coups d'estocs). Tout ceci nous permet d'obtenir la longueur, la masse, ainsi que les vitesses de balancement et de poussée de l'arme fabriquée par le joueur. Mais il reste encore un problème à résoudre : déterminer la quantité de dommages infligés...

Vous pouvez réagir à ce carnet sur notre forum.

(traduction française par Taleworlds).
Carnet original par Callum.