07-04-2010, 02:20 PM
J'aurai souhaité avoir votre avis sur le premier jet d'un système de combat qu'un ami et moi mettons au point
Le but est de simuler des affrontements tactiques sur des cartes prédéfinies.
C'est donc pour le moment une question de règles et de gameplay. Tout ce qui touche au PhP viendra éventuellement plus tard.
Les principes de bases sont les suivants
- Chaque case peut accueillir une unité
- Chaque unité est composée d'un ou plusieurs éléments en fonction de leur taille (10 soldats, 5 cavaliers, 15 gobelins, 1 tank, etc)
- Dans un soucis de simplification, les unités sont homogènes.
- Afin de renforcer l'aspect tactique, le Terrain, le Moral et les Types d'Unités ont un impact significatif sur les combats.
- Les combats sont résolus en un seul jet de dé permettant de déterminer les dommages de l'attaquant et du défenseur.
Pour les affrontements, nous sommes parti du fait qu'un combat équilibré se base sur un ratio de Attaque/Défense de 1/1.
Divers facteurs (multiplicateurs) viennent pondérer le résultat. Mais commençons par le commencement, c'est à dire les unités.
Les caractéristiques des unités sont pour le moment les suivantes :
- Offense (OFF) : Estimation de la capacité offensive d'un membre de l'unité (arme, entraînement, dégâts). Il peut avoir y plusieurs valeurs offensives en fonction du mode d'attaque
- Défense (DEF) : Estimation de la capacité défensive d'un membre de l'unité (Armure, entraînement)
Ces deux valeurs sont déclinées deux catégories : Contact/Distance
- Quantité : Le nombre d'éléments existant dans une unité
- Points de Vie (PV) : Le nombre de points de vie d'un élément de l'unité
- Points de Mouvement (PM) : Le nombre de points de mouvement dont dispose l'unité par tour
- Matrice de mouvement : le cout en PM pour chaque type de terrain existant
- Matrice d'Attaque : modificateur d'attaque
- Matrice de Défense : Modificateur de défense
Ces deux matrices influent les capacités offensive et défensive d'une unité en fonction du terrain ou se déroule le combat.
Dans des conditions optimales, ce facteur est égal à 1 (pas de modification) dans le cas contraire, il permet de simuler une diminution des capacités de combat en terrain défavorable.
Par exemple, des guerriers Viking perdus en plein désert perdent 20% de leurs capacité offensive. Le facteur pour ce type de terrain est alors de 0.8
- Matrice d'Unité : Modificateur de combat en fonction de l'unité attaquée (Cavalerie contre Infanterie par exemple)
- Morale : Volonté de combattre de l'unité. Le moral influe sur les jets de combat.
A chaque combat, un jet de dé est effectué par l'attaquant. On y ajoute le moral de l'unité attaquante et on retranche le moral de l'unité en défense.
Le résultat est lu dans une table et donne un multiplicateur final allant de 0.5 à 1.5 représentant la qualité de l'attaque.
La qualité de la défense est lue simplement en calculant 2 - (qualité de l'attaque) donnant du même coup un résultat entre 0.5 et 1.5
La formule finale de combat est donc
(Offense x Terrain Mod) / (Defense x Terrain Mod) x (Unité Mod) x (Nombre de Membres) x Résultats du combat
Prenons un exemple
Une unité d'infanterie médiévale est chargée en plaine par une unité de Cavalerie
Infanterie
Off : 4
Def : 4
PV : 3
Qte : 10 membres
Cavalerie
Off : 10 (charge) / 5 (normal)
Def : 6
PV : 4
Qte : 5 membres
Le terrain ne rentre pas en ligne de compte et pour simplifier, disons que les valeurs de morales s'annulent.
Calculons donc
10 ((off charge cavalerie) x 1 (mod terrain)) / (4 (def fantassin) x 1 (mod terrain)) = 2.5
La cavalerie dispose d'un facteur bonus de 1.5 contre l'infanterie.
Le jet de résolution donne un facteur de de 0.9 pour l'attaquant
La valeur finale de l'attaque est donc de 2.5 (base) x 1.5 (bonus) x 5 (nombre de membres) x 0.9 (résultat de l'attaque) = 16.875 (arrondi à 17). Chaque membre de l'unité d'infanterie ayant 3 PV, 5 d'entre eux sont éliminés et le 6e ne dispose plus que d'1 seul PV.
Il faut maintenant calculer les pertes subies par la cavalerie.
Les combats étant simultanés, on considère que l'unité d'infanterie dispose de ses 10 membres pour le calcul du résultat final.
4 (off infanterie) x 1 (mod terrain) / 6 (def cavalerie) x 1 (mod terrain) = 0.66
L'infanterie ne dispose d'aucun bonus contre la cavalerie (x1) et la qualité de la défense est calculée en faisant 2 - 0.9 (résultat de l'attaque) = 1.1
La valeur finale de la défense est donc de 0.66 (base) x1 (pas de bonus/malus particulier) x 10 (membres) x 1.1 (qualité de la défense) = 7.3 arrondi à 7.
Un seul cavalier tombe à terre. Ils ne sont plus que 4 dans l'unité dont 1 avec un seul PV
A supposer que les fantassins aient été armés de piques leur donnant un bonus de 1.5 contre les unités montées, le résultat aurait été de 0.66 (base) x1.5 (bonus pique vs cavalerie) x 10 (membres) x 1.1 (qualité de la défense) = 11 soit presque trois cavaliers à terre).
Imaginons maintenant que l'attaque initiale n'ait pas eu lieu dans une plaine mais dans la forêt.
Ce type d'environnement désavantage énormément la cavalerie. En plus de rendre toute charge impossible elle pénalise les cavalier de 10% de leur capacité d'attaque et de 20% de leurs capacité à se défendre
Reprenons les calculs
5 (off normale cavalerie) x 0.9 (mod terrain) / 4 (def fantassin) x 1 (mod terrain) = 1.125
La cavalerie dispose toujours de son bonus de 1.5 contre l'infanterie.
Gardons également la même qualité d'attaque à 0.9.
La valeur finale de l'attaque est donc de 1.125 (base) x 1.5 (bonus) x 5 (nombre de membres) x 0.9 (résultat de l'attaque) = 7.59 (arrondi à 8). Cela donne 2 morts et un blessé dans l'infanterie
Les pertes de la cavalerie se calculent ainsi
4 (off infanterie) x 1 (modificateur terrain) / 6 (def cavalerie) x 0.8 (modificateur terrain) = 0.83
La valeur finale de la défense est donc de 0.83 (base) x1 (pas de bonus/malus particulier) x 10 (membres) x 1.1 (qualité de la défense) = 9.16, arrondi à 9 soit 2 cavaliers à terre et un légèrement blessé.
En faisant jouer les modificateurs de terrain, les valeurs d'Offense et de Défense, les relations entre les unités, nous pensons qu'il est possible d'arriver à un système permettant de part sa souplesse une grande capacité d'adaptation pour simuler tout genre de conflit
D'après vous, quels sont les points faibles/problèmes que vous voyez sur un tel système ?
Voyez-vous des paramètres à rajouter ou modifier
(Merci à ceux qui auront pris la peine de tout lire jusqu'au bout)
Le but est de simuler des affrontements tactiques sur des cartes prédéfinies.
C'est donc pour le moment une question de règles et de gameplay. Tout ce qui touche au PhP viendra éventuellement plus tard.
Les principes de bases sont les suivants
- Chaque case peut accueillir une unité
- Chaque unité est composée d'un ou plusieurs éléments en fonction de leur taille (10 soldats, 5 cavaliers, 15 gobelins, 1 tank, etc)
- Dans un soucis de simplification, les unités sont homogènes.
- Afin de renforcer l'aspect tactique, le Terrain, le Moral et les Types d'Unités ont un impact significatif sur les combats.
- Les combats sont résolus en un seul jet de dé permettant de déterminer les dommages de l'attaquant et du défenseur.
Pour les affrontements, nous sommes parti du fait qu'un combat équilibré se base sur un ratio de Attaque/Défense de 1/1.
Divers facteurs (multiplicateurs) viennent pondérer le résultat. Mais commençons par le commencement, c'est à dire les unités.
Les caractéristiques des unités sont pour le moment les suivantes :
- Offense (OFF) : Estimation de la capacité offensive d'un membre de l'unité (arme, entraînement, dégâts). Il peut avoir y plusieurs valeurs offensives en fonction du mode d'attaque
- Défense (DEF) : Estimation de la capacité défensive d'un membre de l'unité (Armure, entraînement)
Ces deux valeurs sont déclinées deux catégories : Contact/Distance
- Quantité : Le nombre d'éléments existant dans une unité
- Points de Vie (PV) : Le nombre de points de vie d'un élément de l'unité
- Points de Mouvement (PM) : Le nombre de points de mouvement dont dispose l'unité par tour
- Matrice de mouvement : le cout en PM pour chaque type de terrain existant
- Matrice d'Attaque : modificateur d'attaque
- Matrice de Défense : Modificateur de défense
Ces deux matrices influent les capacités offensive et défensive d'une unité en fonction du terrain ou se déroule le combat.
Dans des conditions optimales, ce facteur est égal à 1 (pas de modification) dans le cas contraire, il permet de simuler une diminution des capacités de combat en terrain défavorable.
Par exemple, des guerriers Viking perdus en plein désert perdent 20% de leurs capacité offensive. Le facteur pour ce type de terrain est alors de 0.8
- Matrice d'Unité : Modificateur de combat en fonction de l'unité attaquée (Cavalerie contre Infanterie par exemple)
- Morale : Volonté de combattre de l'unité. Le moral influe sur les jets de combat.
A chaque combat, un jet de dé est effectué par l'attaquant. On y ajoute le moral de l'unité attaquante et on retranche le moral de l'unité en défense.
Le résultat est lu dans une table et donne un multiplicateur final allant de 0.5 à 1.5 représentant la qualité de l'attaque.
La qualité de la défense est lue simplement en calculant 2 - (qualité de l'attaque) donnant du même coup un résultat entre 0.5 et 1.5
La formule finale de combat est donc
(Offense x Terrain Mod) / (Defense x Terrain Mod) x (Unité Mod) x (Nombre de Membres) x Résultats du combat
Prenons un exemple
Une unité d'infanterie médiévale est chargée en plaine par une unité de Cavalerie
Infanterie
Off : 4
Def : 4
PV : 3
Qte : 10 membres
Cavalerie
Off : 10 (charge) / 5 (normal)
Def : 6
PV : 4
Qte : 5 membres
Le terrain ne rentre pas en ligne de compte et pour simplifier, disons que les valeurs de morales s'annulent.
Calculons donc
10 ((off charge cavalerie) x 1 (mod terrain)) / (4 (def fantassin) x 1 (mod terrain)) = 2.5
La cavalerie dispose d'un facteur bonus de 1.5 contre l'infanterie.
Le jet de résolution donne un facteur de de 0.9 pour l'attaquant
La valeur finale de l'attaque est donc de 2.5 (base) x 1.5 (bonus) x 5 (nombre de membres) x 0.9 (résultat de l'attaque) = 16.875 (arrondi à 17). Chaque membre de l'unité d'infanterie ayant 3 PV, 5 d'entre eux sont éliminés et le 6e ne dispose plus que d'1 seul PV.
Il faut maintenant calculer les pertes subies par la cavalerie.
Les combats étant simultanés, on considère que l'unité d'infanterie dispose de ses 10 membres pour le calcul du résultat final.
4 (off infanterie) x 1 (mod terrain) / 6 (def cavalerie) x 1 (mod terrain) = 0.66
L'infanterie ne dispose d'aucun bonus contre la cavalerie (x1) et la qualité de la défense est calculée en faisant 2 - 0.9 (résultat de l'attaque) = 1.1
La valeur finale de la défense est donc de 0.66 (base) x1 (pas de bonus/malus particulier) x 10 (membres) x 1.1 (qualité de la défense) = 7.3 arrondi à 7.
Un seul cavalier tombe à terre. Ils ne sont plus que 4 dans l'unité dont 1 avec un seul PV
A supposer que les fantassins aient été armés de piques leur donnant un bonus de 1.5 contre les unités montées, le résultat aurait été de 0.66 (base) x1.5 (bonus pique vs cavalerie) x 10 (membres) x 1.1 (qualité de la défense) = 11 soit presque trois cavaliers à terre).
Imaginons maintenant que l'attaque initiale n'ait pas eu lieu dans une plaine mais dans la forêt.
Ce type d'environnement désavantage énormément la cavalerie. En plus de rendre toute charge impossible elle pénalise les cavalier de 10% de leur capacité d'attaque et de 20% de leurs capacité à se défendre
Reprenons les calculs
5 (off normale cavalerie) x 0.9 (mod terrain) / 4 (def fantassin) x 1 (mod terrain) = 1.125
La cavalerie dispose toujours de son bonus de 1.5 contre l'infanterie.
Gardons également la même qualité d'attaque à 0.9.
La valeur finale de l'attaque est donc de 1.125 (base) x 1.5 (bonus) x 5 (nombre de membres) x 0.9 (résultat de l'attaque) = 7.59 (arrondi à 8). Cela donne 2 morts et un blessé dans l'infanterie
Les pertes de la cavalerie se calculent ainsi
4 (off infanterie) x 1 (modificateur terrain) / 6 (def cavalerie) x 0.8 (modificateur terrain) = 0.83
La valeur finale de la défense est donc de 0.83 (base) x1 (pas de bonus/malus particulier) x 10 (membres) x 1.1 (qualité de la défense) = 9.16, arrondi à 9 soit 2 cavaliers à terre et un légèrement blessé.
En faisant jouer les modificateurs de terrain, les valeurs d'Offense et de Défense, les relations entre les unités, nous pensons qu'il est possible d'arriver à un système permettant de part sa souplesse une grande capacité d'adaptation pour simuler tout genre de conflit
D'après vous, quels sont les points faibles/problèmes que vous voyez sur un tel système ?
Voyez-vous des paramètres à rajouter ou modifier
(Merci à ceux qui auront pris la peine de tout lire jusqu'au bout)
Quand on te dit qu'un projet est terminé à 90%, prépare toi pour les 90% suivant
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC