Methode pour faire des dégâts
En fait, je n'avais pas fait attention, mais Khro avait tronqué mon idée à un seul produit.
1dX*1dInt
L'idée de base, c'était d'en faire plusieurs, pour augmenter l'effet d'exponentielle.
1dX*1dX*1dX .... Y fois.
Aza, dans la formule de Khro, l'intelligence est linéairement proportionnelle aux dégâts. Il y a pas d'effet de puissance. Celui qui a 2 fois plus d'int fait 2 fois plus de dégâts.
L'ajout d'un seul produit ajoute seulement une répartition un peu plus exponentielle. S'il avait écrit 1dINT*1dINT, là, effectivement, cela aurait mit l'intelligence au carré.
Enfin, si la moyenne obtenue est trop haute, tu peux simplement diviser le tout par une valeur fixe.
Le problème, c'est que 1D3, ca fait seulement 1, 2 ou 3. Mais si tu le divises par 3, ca fait 0.33 , 0.66 et 1. Du coup, tu peux utiliser la jolie répartition tout en l'équilibrant à ton aise.
N'empêche, une simple fonction carré n'était pas l'idée de départ ><
L'idée de départ, c'était de lancer un sort de zone qui faisait aucun dégât sur aucun monstre, sauf un 16 ou un 32 sur l'un des monstres. En moyenne ca fait pareil, sauf que lancer le sort tout seul y gagne un intérêt, et on peut réévaluer les dégâts sans craindre d'abus dus aux sorts de zones (abus = je lance le sort 10 fois et pouf ! Je tue 30monstres d'un coup, facile :p)
La même chose avait été faite pour la boule de feu en fait, sauf qu'en plus on choisissait la cible principale, et là, on ne la choisirait pas.
Voili.
(et moi aussi, je peux linéariser ma fonction pour avoir un truc tout lisse :
1D(1D2*1D2*1D2*1D2*..8 fois /2)
Ah ! >< )
1dX*1dInt
L'idée de base, c'était d'en faire plusieurs, pour augmenter l'effet d'exponentielle.
1dX*1dX*1dX .... Y fois.
Aza, dans la formule de Khro, l'intelligence est linéairement proportionnelle aux dégâts. Il y a pas d'effet de puissance. Celui qui a 2 fois plus d'int fait 2 fois plus de dégâts.
L'ajout d'un seul produit ajoute seulement une répartition un peu plus exponentielle. S'il avait écrit 1dINT*1dINT, là, effectivement, cela aurait mit l'intelligence au carré.
Enfin, si la moyenne obtenue est trop haute, tu peux simplement diviser le tout par une valeur fixe.
Le problème, c'est que 1D3, ca fait seulement 1, 2 ou 3. Mais si tu le divises par 3, ca fait 0.33 , 0.66 et 1. Du coup, tu peux utiliser la jolie répartition tout en l'équilibrant à ton aise.
N'empêche, une simple fonction carré n'était pas l'idée de départ ><
L'idée de départ, c'était de lancer un sort de zone qui faisait aucun dégât sur aucun monstre, sauf un 16 ou un 32 sur l'un des monstres. En moyenne ca fait pareil, sauf que lancer le sort tout seul y gagne un intérêt, et on peut réévaluer les dégâts sans craindre d'abus dus aux sorts de zones (abus = je lance le sort 10 fois et pouf ! Je tue 30monstres d'un coup, facile :p)
La même chose avait été faite pour la boule de feu en fait, sauf qu'en plus on choisissait la cible principale, et là, on ne la choisirait pas.
Voili.
(et moi aussi, je peux linéariser ma fonction pour avoir un truc tout lisse :
1D(1D2*1D2*1D2*1D2*..8 fois /2)
Ah ! >< )
Dilbert a écrit :- The key to happiness is to love who you are, not who others want you to be.
- Doesn't that make you a sociopath ?
- Yeah. I love that about me.
L'idéal serait que l'intelligence modifie l'effet d'un sort selon une courbe en S (type équation logistique) dont on peut discrétiser le résultat:
Très faible INT = faible bonus (réglable). Le magicien n'est pas assez Intelligent pour vraiment améliorer le sort
Int moyenne = en plein dans la phase d'accroissement, une augmentation de l'intelligence induit une augmentation conséquente des bonus (réglable en fonction de la pente). Le magicien a une intelligence qui lui permet d'appréhneder le sort, ce qui permet de l'améliorer à chaque augmentation.
Int élevée = arrivée à un plateau, quelque soit l'int du lanceur le sort ne peut pas être plus efficace.
Cette solution me semblerait assez logique.
Pour vous donner une idéee, voici la courbe de Hill utilisée en pharmacocinétique. Il suffit de remplacer "concentration" par "Intelligence" et "probabilité d'effet" par bonus au sort"
Le profil de la courbe peut être rélé pour chaque sort.
Permet de créer des potion qui augmente l'int temporairement avec un effet interessant
Edit: on peut faire la même chose avec les ort indexé sur le niveau du joueur... Je vais essayer de faire quelques graphes avec une vrai formule pour voir
Très faible INT = faible bonus (réglable). Le magicien n'est pas assez Intelligent pour vraiment améliorer le sort
Int moyenne = en plein dans la phase d'accroissement, une augmentation de l'intelligence induit une augmentation conséquente des bonus (réglable en fonction de la pente). Le magicien a une intelligence qui lui permet d'appréhneder le sort, ce qui permet de l'améliorer à chaque augmentation.
Int élevée = arrivée à un plateau, quelque soit l'int du lanceur le sort ne peut pas être plus efficace.
Cette solution me semblerait assez logique.
Pour vous donner une idéee, voici la courbe de Hill utilisée en pharmacocinétique. Il suffit de remplacer "concentration" par "Intelligence" et "probabilité d'effet" par bonus au sort"
Le profil de la courbe peut être rélé pour chaque sort.
Permet de créer des potion qui augmente l'int temporairement avec un effet interessant
Edit: on peut faire la même chose avec les ort indexé sur le niveau du joueur... Je vais essayer de faire quelques graphes avec une vrai formule pour voir
Elu - Mage
Rag - Guerrier nain
Buffalo - Cow-boy
Ex Blob le barbarre II (RIP)
Enfants de T'ren
Rag - Guerrier nain
Buffalo - Cow-boy
Ex Blob le barbarre II (RIP)
Enfants de T'ren
- SylverFox
- Gros bill du forum
- Messages : 1475
- Inscription : 07 mai 2004 15:49
- Localisation : Sundsvall
- Contact :
Sauf que là pour une valeur d'INT, tu as une valeur de bonus.
Jusque là l'idée c'était de garder un effet fortement aléatoire.
On pourrait considérer que la moyenne du bonus suit une fonction logistique (au lieu de suivre une fonction linéaire comme dans les cas précédemment cités).
Mais ça m'étonnerait qu'on y arrive en utilisant seulement le concept de "dé", et les opérateurs simples (+, -, /, *)....
Jusque là l'idée c'était de garder un effet fortement aléatoire.
On pourrait considérer que la moyenne du bonus suit une fonction logistique (au lieu de suivre une fonction linéaire comme dans les cas précédemment cités).
Mais ça m'étonnerait qu'on y arrive en utilisant seulement le concept de "dé", et les opérateurs simples (+, -, /, *)....
SylverFox
Joueur de Turìn, Finrod et Thorïn.
Joueur de Turìn, Finrod et Thorïn.
Voici finalement quelques idées… En écrivant ce poste, je me rend compte que j’y suis peut être allez fort. Désolé d’avance pour les adeptes de la simplicité
L’intérêt d’utiliser une fonction logistique, c’est en particulier qu’on peut définir simplement un plancher et un plafond avec une évolution non linéaire (comme le faisait remarquer Silver fox). J’ai pris l’équation la plus simple de sigmoïde.
Si on veut un résultats F(int) qui varie entre 0 et E, par exemple, on peut utiliser :
F(int)=( 1/(1+e^-P(int-int_inf)) ) * E
-> int = intelligence du joueur
-> int_infl = valeur d’intelligence à laquelle on souhaite que la courbe s’infléchisse
-> E = valeur du plafond (la valeur plancher est de 0). En arrondissant on, peut avoir une série d’entier
-> P = valeur qui permet de régler la pente de la courbe, à définir empiriquement
Par exemple, pour un résultat entre 0 et 100 (E =100), point d’inflexion 16, P = 0,7, on obtient :
Ce qui peut être la probabilité d’obtenir un bonus prédéfini en fonction de l’intelligence du joueur. Ici, F(Int =16) = 50%. En dessous de 9 d’intelligence, jamais de bonus, au delà de 24 bonus systématique.
En réglant les 2 paramètres, Int_inf et P, on peut avoir tous les profils d’évolution que l’on désire.
On peut également imaginer une évolution en fonction du niveau, avec un résultat qui indique une valeur pour un lancé de dès. Par exemple 5Df(niv), ou f(niv)D5
Par exemple, pour un résultat entre 0 et 20 (le résultat est arrondi pour avoir un entier), point d’inflexion 20 et P= 0,2, on obtient :
On peut imaginer comme Wiiip le proposait Dégât = 1D2^f(niv). On a un sort indexé sur le niveau.
Comme dernière exemple j’ai imaginé un sort :
Foudroiement Mathématique
Le magicien se lance dans une explication sur l’utilisation des sigmoïdes dans les souterrains. La cible ressent un profond sentiment d’ennuis et commence à s’automutiler
La cible encaisse 2D10 + f(int) % de chance d’obtenir un bonus
Bonus = 1D3*f(niv)+f(niv)
f(int) et f(niv) sont les fonctions présentées avant.
Voici l’évolution des dégâts en fonction du niveau et de l’intelligence :
les pointillés sont les mini (tous le monde pareil) et maxi. Le trait plein la moyenne.
Le perso avec int = 8 n’évolue pas dans le temps
Le perso avec int = 16 fait de plus en plus de dégâts dans le temps
Les courbes vertes représentent le joueur qui augmente son Int dès qu’il le peut. On voit qu’il est intéressant d’acheter des points d’intelligence supplémentaires. Arrivé au lvl 38 avec 24 d’intelligence, le sort ne peut plus être amélioré.
Concernant la distribution des dégâts, j’ai repris la formule de Silver pour le bonus.
Pour une int de 8, ca donne une distribution des dégâts classique 2D10 :
classe = dégâts
Pour une int de 16, au lvl 40 ca donne un truc vaguement bimodal du au 50% de chance d’avoir le bonus
classe = dégâts
Pour une int de 24, au lvl40
classe = dégâts
Voilà voilà, facile non ?
Et ne me dite pas que c’est compliqué pour pas grand chose (même si c’est vrai ^^)
Et puis en manipulant quelques paramètres, on a directement un profil. Ca évite de coder :
If lvl >0 and <=4 then …
if lvl>5 and <=8 then…
etc…
Ca a au moins le mérite d’être élégant
L’intérêt d’utiliser une fonction logistique, c’est en particulier qu’on peut définir simplement un plancher et un plafond avec une évolution non linéaire (comme le faisait remarquer Silver fox). J’ai pris l’équation la plus simple de sigmoïde.
Si on veut un résultats F(int) qui varie entre 0 et E, par exemple, on peut utiliser :
F(int)=( 1/(1+e^-P(int-int_inf)) ) * E
-> int = intelligence du joueur
-> int_infl = valeur d’intelligence à laquelle on souhaite que la courbe s’infléchisse
-> E = valeur du plafond (la valeur plancher est de 0). En arrondissant on, peut avoir une série d’entier
-> P = valeur qui permet de régler la pente de la courbe, à définir empiriquement
Par exemple, pour un résultat entre 0 et 100 (E =100), point d’inflexion 16, P = 0,7, on obtient :
Ce qui peut être la probabilité d’obtenir un bonus prédéfini en fonction de l’intelligence du joueur. Ici, F(Int =16) = 50%. En dessous de 9 d’intelligence, jamais de bonus, au delà de 24 bonus systématique.
En réglant les 2 paramètres, Int_inf et P, on peut avoir tous les profils d’évolution que l’on désire.
On peut également imaginer une évolution en fonction du niveau, avec un résultat qui indique une valeur pour un lancé de dès. Par exemple 5Df(niv), ou f(niv)D5
Par exemple, pour un résultat entre 0 et 20 (le résultat est arrondi pour avoir un entier), point d’inflexion 20 et P= 0,2, on obtient :
On peut imaginer comme Wiiip le proposait Dégât = 1D2^f(niv). On a un sort indexé sur le niveau.
Comme dernière exemple j’ai imaginé un sort :
Foudroiement Mathématique
Le magicien se lance dans une explication sur l’utilisation des sigmoïdes dans les souterrains. La cible ressent un profond sentiment d’ennuis et commence à s’automutiler
La cible encaisse 2D10 + f(int) % de chance d’obtenir un bonus
Bonus = 1D3*f(niv)+f(niv)
f(int) et f(niv) sont les fonctions présentées avant.
Voici l’évolution des dégâts en fonction du niveau et de l’intelligence :
les pointillés sont les mini (tous le monde pareil) et maxi. Le trait plein la moyenne.
Le perso avec int = 8 n’évolue pas dans le temps
Le perso avec int = 16 fait de plus en plus de dégâts dans le temps
Les courbes vertes représentent le joueur qui augmente son Int dès qu’il le peut. On voit qu’il est intéressant d’acheter des points d’intelligence supplémentaires. Arrivé au lvl 38 avec 24 d’intelligence, le sort ne peut plus être amélioré.
Concernant la distribution des dégâts, j’ai repris la formule de Silver pour le bonus.
Pour une int de 8, ca donne une distribution des dégâts classique 2D10 :
classe = dégâts
Pour une int de 16, au lvl 40 ca donne un truc vaguement bimodal du au 50% de chance d’avoir le bonus
classe = dégâts
Pour une int de 24, au lvl40
classe = dégâts
Voilà voilà, facile non ?
Et ne me dite pas que c’est compliqué pour pas grand chose (même si c’est vrai ^^)
Et puis en manipulant quelques paramètres, on a directement un profil. Ca évite de coder :
If lvl >0 and <=4 then …
if lvl>5 and <=8 then…
etc…
Ca a au moins le mérite d’être élégant
Elu - Mage
Rag - Guerrier nain
Buffalo - Cow-boy
Ex Blob le barbarre II (RIP)
Enfants de T'ren
Rag - Guerrier nain
Buffalo - Cow-boy
Ex Blob le barbarre II (RIP)
Enfants de T'ren
Cette solution peut en effet paramétrer tous les facteurs utilisables, mais cela va nécessiter une refonte totale du code si on cherche à les adapter aux sorts existant non ?
Comme la proposition précédente d'ailleurs...
Le soucis, je dit cela car je ne l'ai pas vu, c'est que si l'on veux juste "améliorer" les formules d'aujourd'hui, il faudrait les connaitre.
Maintenant, ces deux bases de travail peuvent vraiment servir pour les sorts de niveau supérieur, et, plus tard être adaptées aux sorts existant.
Je ne suis pas assez calé pour proposer des fonctions équivalentes, malgré tout j'ai compris celles présentées, et, je dois dire, bon boulot.
Sur ce coup, je ne peux que vous encourager ^^.
Comme la proposition précédente d'ailleurs...
Le soucis, je dit cela car je ne l'ai pas vu, c'est que si l'on veux juste "améliorer" les formules d'aujourd'hui, il faudrait les connaitre.
Maintenant, ces deux bases de travail peuvent vraiment servir pour les sorts de niveau supérieur, et, plus tard être adaptées aux sorts existant.
Je ne suis pas assez calé pour proposer des fonctions équivalentes, malgré tout j'ai compris celles présentées, et, je dois dire, bon boulot.
Sur ce coup, je ne peux que vous encourager ^^.
c'est dans l'ignorance que l'on fait les meilleurs expertszepliner a écrit :Moslinko a écrit :Dr zepliner, vous êtes fou...
dire qu'on était ami...
intello !
T'inquite, j'apprécie toujours une bonne cuite et raconter n'imporque quoi
Et je n'y connais toujours rien en économie
Az pas développeur pour un sou, qui code delain
Az