Mmorpg: Calcul de chance de toucher avec son personnage


  • B

    Bonjour.

    Je souhaite développer un mmorpg en php. Malheureusement, ayant un niveau excessivement faible en mathématique, je bute sur un point. Je me suis dit que surement vous pourriez me sortir de ce mauvais pas et je vous en remercie d'avance. Explication.

    Votre personnage à plusieurs caractéristiques. Force, endurance,agilité, intelligence, esprit, constitution.
    L'agilité devrait déterminer le % de réussite de toucher lorsque le personnage porte un coup en combat.
    A chaque fois que le personnage évolue, il obtient 8 points à distribuer dans ses caractéristiques. Il peut donc augmenter son agilité, ce qui augmente son % de toucher.

    Le problème, c'est qu'il doit être toujours impossible d'avoir 100% car il subsiste toujours une chance de louper son coup. De plus, le % de toucher doit être honorable et basé sur une moyenne. Ce n'est plus marrant si le personnage a toujours 99% de toucher car il a investit ses points dans agilité, et il se balade tranquille avec ce potentiel jusqu'à la fin du jeu. Voilà les pistes que j'ai empruntées qui se sont toutes soldées par un échec:

    Piste n°1:

    -1 point agilité = 10% de toucher.
    -Logarithme: une base b sur un nombre n. b = différence entre agilité attaquant et agilité défenseur.
    -Si l'attaquant a une agi inférieur on soustrait n a son % de touché.:
    -Si l'attaquant a une agi supérieure on ne soustrait rien.

    Problème:
    Si l'attaquant a 5 points de plus que le défenseur en agilité avec un minimum de 10, il a 100% de toucher. Donc le système ne fonctionne que si l'attaquant a moins d'agi que le défenseur. Dans le cas contraire, c'est nul

    Piste n°2:

    -1 point agi = 10% de toucher

    • niveau = x. x = (-y - 1)
    • Shema:
      Niveau x = -y
      Niveau 1 = 0
      Niveau 2 = -1
      Niveau 3 = -2

    On doit donc augmenter son agilité pour maintenir un % de toucher correct. Si les 8 points sont investits en agilité, on se retourve au niveau 1 avec 13 soit 130% qu'on ramène a 99% car il y a toujours une chance de louper.

    Problème:
    Avec ce système, on obtient des nombre entier 10%, 20%, etc.. hors ce n'est pas vraiment intéressant.

    Piste n°3

    On aditionne les 6 carac qu'on divise par leur nombre.
    F + E + Agi + I + Es + C/6 = P
    P = Puissance totale du personnage.
    P/6 = R
    R = Rapport
    R x Agi = % de toucher.

    Quand la puissance totale du personnage augmente, on doit maintenir l'agilité pour conserver un % de toucher honorable. Grace aux points à distribuer en privilégiant l'agi, on obtient un personnage plus ou moins spécialisé.

    Problème:
    Une fois l'agi à 14, on dépasse les 100%.

    Voilà, comme je vous l'ai annoncé j'ai un niveau très faible en math, je ne connais aucune formule (d'ailleurs si on peut m'expliquer la façon d'un logarithme de s'incrémenter également ça m'intéresse). J'espère que vous pourrez m'apporter de l'aide !

    Merci d'avance à ceux qui ont prit le temps de me lire, et de me répondre !


Se connecter pour répondre