Formule pour trois héros en compétition, chacun en a un qu'il peut battre et un par lequel il est battu

12

J'essaie de concevoir un jeu pour un projet que j'ai, L'idée principale est:

3 types de héros
3 statistiques par héros

Il n'y a pas de niveaux impliqués donc les différences doivent être localisées sur les statistiques.

Logique de combat - La logique du combat est que type1hero a de bonnes chances de gagner type2hero, type2hero a de bonnes chances type3hero et type3hero a de bonnes chances de gagner type1hero.

Depuis plus d'une semaine, j'essaie de trouver une formule basée sur les statistiques qui me permettra de résoudre ce problème, mais je ne peux pas, je me mêlais des chiffres hier et c'était correct mais je ne peux pas en extraire la formule.

Pourriez-vous s'il vous plaît me guider ou me donner des conseils sur la façon de commencer à créer des formules sur un jeu non lvl qui remplit la logique de combat?

Georgiadis Abraam
la source
1
"Depuis plus d'une semaine, j'essaie de trouver une formule basée sur les statistiques qui me permettra de résoudre ce problème" - Fixez quoi? Il s'agit d'un mécanicien de Rock-Paper-ciseaux ; vous ne pouvez pas le décrire mathématiquement, car il n'y a pas de x, y, z pour x > y ∧ z > x ∧ y > zau moins pas dans les mathématiques de base que je connais et utilise.
Markus von Broady
2
Bien que vous ayez reçu une excellente réponse, cette question n'est pas très bonne.
MichaelHouse
@MarkusvonBroady: La manière habituelle de décrire mathématiquement un ordre comme celui-ci est avec une relation graphique / intransitive dirigée. Vous avez raison de ne pas le faire avec de vrais chiffres.
Joren
5
@ Byte56: Bien que je convienne que ce n'est pas présenté d'une manière très agréable, la question cachée derrière reste intéressante: comment moduler un système de combat à 3 voies de manière générique, tout comme les ciseaux à papier, comme exprimé dans les réponses au dessous de. Ne vaut pas -1, à mon humble avis.
Jesse Emond
@JesseEmond Dans la seule réponse ci-dessous *. Le problème est très simple, comme je l'ai commenté sur la réponse, ce ne sont que différentes armures et types d'attaque déguisés en mécanicien de ciseaux. Bien que la formule fournie soit très soignée.
Markus von Broady

Réponses:

38

Votre jeu est un jeu non transitoire . Vous pouvez l'implémenter avec 3 stats R , P et S , en utilisant la logique de rock-paper-ciseaux. Appelez ces statistiques comme vous le souhaitez, mais je m'en tiendrai à la logique RPS.

Supposons maintenant que vous ayez deux héros, avec les statistiques R1 / P1 / S1 et R2 / P2 / S2. Nous devons calculer combien de dommages ils se feront mutuellement.

Vous voulez que les pierres endommagent les ciseaux. Cela signifie que le héros 1 inflige des dégâts de «roche» au héros 2 si R1 > 0et si S2 > 0. Une formule qui fonctionne est tout simplement min(R1, S2).

Ce qui nous donne immédiatement les formules de dommages:

Damage(hero1 on hero2) = min(R1, S2) + min(S1, P2) + min(P1, R2)
Damage(hero2 on hero1) = min(R2, S1) + min(S2, P1) + min(P2, R1)

Voyons ce qui se passe avec un vrai exemple:

    Hero1  Hero2
R    120     50
S     30    130
P     15     30

Compte tenu des statistiques, le héros 1 est clairement un type «rock» et le héros 2 est clairement un type «ciseaux». Voici les résultats:

Damage(hero1 on hero2) = min(120, 130) + min(30, 30) + min(15, 50)
                       = 120 + 30 + 15
                       = 165
Damage(hero2 on hero1) = min(50, 30) + min(130, 15) + min(30, 120)
                       = 30 + 15 + 30
                       = 75

Résultats finaux: 165versus 75. Le héros 1 gagne, comme prévu.

Ces formules présentent de nombreuses lacunes, mais j'espère qu'elles vous donneront une idée de la façon de mettre en œuvre des règles de combat intransitives .

sam hocevar
la source
2
+1, je le décrirais simplement comme divers types d'attaques et d'armures (poison, élémentaire, physique)
Markus von Broady
1

Chaque héros s'entraîne au combat au corps à corps (M), à l'esquive (D) et à la magie (W).

Esquiver évite très bien les combats de mêlée et les attaques magiques.

À chaque round, un héros inflige des dégâts égaux à (MD) + (W - 0,5D) (M et W proviennent des statistiques de l'attaquant, D des statistiques du défenseur.)

Ainsi, un guerrier pourrait avoir les statistiques:

M: 100, D: 20, W: 0

Un voleur pourrait avoir les statistiques:

M: 30, D: 80, W: 30

Et un assistant peut avoir des statistiques comme:

M: 10, D: 10, W: 80

Guerrier contre Voleur, le guerrier inflige 20 DPS, tandis que le voleur inflige 30 DPS. Avantage Rogue! Voleur contre sorcier, le voleur inflige 20 DPS, tandis que l'assistant inflige 40 DPS. Assistant Avantage! Magicien contre guerrier, le magicien inflige 70 DPS, tandis que le guerrier inflige 90 DPS. Advantage Warrior!

Simon Strange
la source
Cette réponse n'ajoute rien au-delà de Sam . En outre, le voyou a le plus petit avantage ( 30 - 20 == 10par rapport aux 40 - 20 == 90 - 70 == 20deux autres). Cela signifie-t-il que les voyous sont intrinsèquement défavorisés?
Anko
La beauté de ces systèmes non transitoires est qu'ils s'équilibrent presque automatiquement. Les escrocs désavantagés signifient que moins de gens les joueront, laissant moins de cibles pour le sorcier à vaincre et moins d'adversaires pour le guerrier à vaincre. Pourtant, si tout le monde choisit le guerrier: retour du voyou.
Marcks Thomas