Perte du temps continu
Attention, car si tu procèdes ainsi, tu auras une variation suivant la date de calcul.
Avec la formule précédente:
V(T) = V(0)*N^T
Si tu évalues en T1 et que tu sauves le résultat, puis que tu évalues en T2, alors tu auras le même résultat que si tu évalues directement en T2:
V(1) = V(0)*N, qu'on sauve, puis V(2) = V(1)*N
donne le même résultat que
V(2) = V(0)*N²
En passant par la sigmoïde, tu n'auras pas le même résultat, car "N" (remplacé par la sigmoïde) dépendra de V(T), à l'instant de l'évaluation.
Donc, si tu passes par une fonction autre qu'une constante N, alors tu devras évaluer toutes les parcelles à la fin de chaque tour (interdit de "sauter" des parcelles, aka interdit de calculer V(T=2) à partir de V(T=0)), puis sauver le résultat pour le réutiliser au prochain tour (c'est donc inexploitable dans un jeu où les parcelles évoluent de façon continue: les formules ne marcheront que dans un jeu par "tour" ou "étapes").
Fonction de croissance en tour par tour
Donc, si tu es uniquement en tour par tour (de 10 minutes chacun), tu peux effectivement passer par la fonction de croissance C, arbitraire, et calculer la valeur de la case en fin de tour:
Q(T+1) = Q(T)*(1 + C(Q(T)))
Avec Q(T) la valeur de la case au tour courant, C la fonction qui à une quantité de ressources associe la proportion de croissance, et Q(T+1) la quantité de ressources à la fin du tour.
Alors, pour la fonction de croissance, t'as le choix.
Je suppose donc:
Donc:
Quand la quantité de ressource tend vers l'infini, la régénération tend vers 0, donc la case ne gagne pas de ressources.
Quand la quantité de ressources vaut M, merveilleuse valeur optimale, alors la régénération vaut R et elle est maximale.
Quand la quantité de ressources s'approche de 0, la régénération tend vers 0.
Que l'on traduit par:
Où C' est la dérivée de C.
Proposition:
Avec M la valeur merveilleuse, celle pour laquelle la croissance C sera maximale, et k une constante arbitraire. Si tu veux que la valeur C(M), croissance maximale, soit de P%, alors, la formule devient:
Schéma:
Quand P augmente:
Quand M augmente:
Et donc, pour x la quantité de ressources actuelles, P le pourcentage maximum de régénération atteint si x=M, et X la quantité de ressources après régénération:
PS: on peut parfaitement faire des pourcentages à l'infini Si on considère, comme unité de mesure, "la quantité de ressources 'normale' de la case", le pourcentage P% est alors simplement la représentation de (P/100) unités dans ce système de mesure.
Citation :je dirais de prendre la formule de Xenos et de remplacer son N par la fonction de la courbe en S que tu choisiras
Attention, car si tu procèdes ainsi, tu auras une variation suivant la date de calcul.
Avec la formule précédente:
V(T) = V(0)*N^T
Si tu évalues en T1 et que tu sauves le résultat, puis que tu évalues en T2, alors tu auras le même résultat que si tu évalues directement en T2:
V(1) = V(0)*N, qu'on sauve, puis V(2) = V(1)*N
donne le même résultat que
V(2) = V(0)*N²
En passant par la sigmoïde, tu n'auras pas le même résultat, car "N" (remplacé par la sigmoïde) dépendra de V(T), à l'instant de l'évaluation.
Donc, si tu passes par une fonction autre qu'une constante N, alors tu devras évaluer toutes les parcelles à la fin de chaque tour (interdit de "sauter" des parcelles, aka interdit de calculer V(T=2) à partir de V(T=0)), puis sauver le résultat pour le réutiliser au prochain tour (c'est donc inexploitable dans un jeu où les parcelles évoluent de façon continue: les formules ne marcheront que dans un jeu par "tour" ou "étapes").
Fonction de croissance en tour par tour
Donc, si tu es uniquement en tour par tour (de 10 minutes chacun), tu peux effectivement passer par la fonction de croissance C, arbitraire, et calculer la valeur de la case en fin de tour:
Q(T+1) = Q(T)*(1 + C(Q(T)))
Avec Q(T) la valeur de la case au tour courant, C la fonction qui à une quantité de ressources associe la proportion de croissance, et Q(T+1) la quantité de ressources à la fin du tour.
Alors, pour la fonction de croissance, t'as le choix.
Je suppose donc:
- Beaucoup de ressources = pas de régénération
- Niveau de ressources optimal = régénération maximale
- Peu de ressources = très faible taux de régénération
Donc:
Quand la quantité de ressource tend vers l'infini, la régénération tend vers 0, donc la case ne gagne pas de ressources.
Quand la quantité de ressources vaut M, merveilleuse valeur optimale, alors la régénération vaut R et elle est maximale.
Quand la quantité de ressources s'approche de 0, la régénération tend vers 0.
Que l'on traduit par:
- C(q→∞) = 0
- C'(q=M) = 0
- C(q→0) = 0
Où C' est la dérivée de C.
Proposition:
Code :
C(q) = k*exp(-q/M)*q
Avec M la valeur merveilleuse, celle pour laquelle la croissance C sera maximale, et k une constante arbitraire. Si tu veux que la valeur C(M), croissance maximale, soit de P%, alors, la formule devient:
Code :
C(q) = (P/100)*(1/M)*exp(1-q/M)*q
Quand P augmente:
Quand M augmente:
Et donc, pour x la quantité de ressources actuelles, P le pourcentage maximum de régénération atteint si x=M, et X la quantité de ressources après régénération:
Code :
X = x*(1+(P/100)*(1/M)*exp(1-x/M)*x)
PS: on peut parfaitement faire des pourcentages à l'infini Si on considère, comme unité de mesure, "la quantité de ressources 'normale' de la case", le pourcentage P% est alors simplement la représentation de (P/100) unités dans ce système de mesure.