[Tuto à exploiter] Formules

  • Auteur de la discussion Mordenkainen
  • Date de début

DeletedUser

Guest
[en cours de rédaction]

Bonjour,

J'aimerais faire un topic pour regrouper les formules mathématiques en rapport avec le jeu guerre tribale.
Pour ma part j'ai déjà réussi à extrapoler les formules qui donnent le prix d'un bâtiment en fonction de son niveau et du prix de ce bâtiment au niveau 1:

http://www.marcchassot.ch/gt/prix.php

Je vais donner un exemple puis les formules générales.
main3.png

qui coute :

Au niveau 1
holz.png
90
lehm.png
80
eisen.png
70

Au niveau 2
holz.png
113
lehm.png
102
eisen.png
88

Au niveau 3
holz.png
143
lehm.png
130
eisen.png
111

Si on s'attaque un peu au prix en
holz.png
: 90 -> 113 -> 143
on peut dire qu'on additionne 23 puis 30 ce qui n'est pas régulier. On peut alors se demander si le prix n'est pas plutôt multiplié à chaque niveau?
113/90 = 1.25555555
143/113 = 1.265486
Ces 2 facteurs sont assez proches et en fait, la différence peut être expliquée par l'arrondi. Bien sûr, votre batiment ne peux pas coûter des fractions de ressources.

Si on prends le facteur multiplicatif de côut en bois entre le niveau 29 et 30 qui nous est fourni par l'aide :
http://help.guerretribale.fr/wiki/Quartier_g%C3%A9n%C3%A9ral

73280/58159 = 1.25999415395... avec un peu d'imagination on va dire 1.26

Et alors? A quoi ca sert?
En fait ca sert à calculer le prix du quartier général pour n'importe quel niveau (niveau noté n ci-après). avec la formule suivante:
^ représente la fonction puissance

Prix en bois (n)=90 * 1.26^(n-1)

donc le prix en bois pour le niveau 6 par exemple vaut 90*1.26^(6) = 90*1.26*1.26*1.26*1.26*1.26*1.26=360.1353727384 ce qu'on arrondit à 360.

A partir de cette méthode, j'ai extrapolé tous les coefficients de progression des coûts des bâtiments et mon script donne le prix exacte de chaque bâtiment en fonction du niveau désiré et même le prix pour plusieurs niveaux si on le désire.

Pour ceux que ca intéresserait, je vais donner tous les facteurs multiplicatifs pour chaque bâtiments :
En général les facteurs multiplicatifs sont
holz.png
1.26
lehm.png
1.28
eisen.png
1.26

Avec exceptions suivantes :
Quartier général (
lehm.png
: 1.275)
Forge (
lehm.png
: 1.275)
Champ de bois (
holz.png
: 1.25
lehm.png
: 1.275
eisen.png
: 1.245)
Carrière d'argile (
holz.png
: 1.27
lehm.png
: 1.265
eisen.png
: 1.24)
Mine de fer (
holz.png
: 1.252
lehm.png
: 1.275
eisen.png
: 1.24)
Ferme (
holz.png
: 1.3
lehm.png
: 1.32
eisen.png
: 1.29)
Marché (
holz.png
: 1.26
lehm.png
: 1.275
eisen.png
: 1.26)
Entrepos (
holz.png
: 1.265
lehm.png
: 1.27
eisen.png
: 1.245)
Cachette (
holz.png
: 1.25
lehm.png
: 1.25
eisen.png
: 1.25)
Mur (
lehm.png
: 1.275)

Maintenant j'ai une question : est-ce que quelqu'un sait comment calculer le temps de recrutement de chaque type d'unité en fonction du niveau du bâtiment correspondant (caserne, écurie, atelier).

On trouve ici : http://help.guerretribale.fr/wiki/Caserne une début d'explication avec les "facteurs temps" mais malheureusement ils sont arrondis. J'ai essayé la même méthode d'extrapolation que pour le prix des bâtiments mais malheureusement sans succès parce que plus les chiffres sont petits, plus les arrondi prennent de l'importance quand on ne les connais pas !
 
Dernière édition par un modérateur:

DeletedUser331

Guest
Bonjour.
Ce qui est dommage c'est qu'on ne peut pas mettre le niveau 0 et qu'il y ai possibilité d'aller jusqu'à 30 pour tous tes bâtiments alors qu'il devrait aller jusqu'au niveau maximum possible en jeu (exemple : niveau 20 maximum pour l'écurie en jeu et sur ton site c'est 30).
Bonne soirée ;)

Edit : Ca manque aussi d'un peu de design :D
 
Dernière édition par un modérateur:

DeletedUser19852

Guest
J'pense que ça devrais plutot aller dans la partie tuto :)
 

DeletedUser

Guest
tant que l'on est motivé et que l'on a le savoir c'est parfait.J'ai faillit un jour me lancer dans un tuto mais qqun venait de poster se que je voulait.Alors depuis,c'est fini.Il faut aussi être ordonné pour faire des tutos.Chose primordiale.
 

DeletedUser

Guest
Maintenant j'ai une question : est-ce que quelqu'un sait comment calculer le temps de recrutement de chaque type d'unité en fonction du niveau du bâtiment correspondant (caserne, écurie, atelier).

On trouve ici : http://help.guerretribale.fr/wiki/Caserne une début d'explication avec les "facteurs temps" mais malheureusement ils sont arrondis. J'ai essayé la même méthode d'extrapolation que pour le prix des bâtiments mais malheureusement sans succès parce que plus les chiffres sont petits, plus les arrondi prennent de l'importance quand on ne les connais pas !
 

DeletedUser

Guest
Bonjour.
Ce qui est dommage c'est qu'on ne peut pas mettre le niveau 0 et qu'il y ai possibilité d'aller jusqu'à 30 pour tous tes bâtiments alors qu'il devrait aller jusqu'au niveau maximum possible en jeu (exemple : niveau 20 maximum pour l'écurie en jeu et sur ton site c'est 30).
Bonne soirée ;)

Edit : Ca manque aussi d'un peu de design :D

Le niveau 0 n'a pas de sens, quand tu commence à construire un bâtiment tu le fais au niveau 1 directement.

En fait l'interface visuelle permet pour tous les bâtiments de les calculer jusqu'au niveau 30 mais le script ne donnera que le prix jusqu'au niveau maximum.

Pour le design, tout a fait d'accord avec toi, je ne suis de loin pas un artiste :)
 

DeletedUser331

Guest
Le niveau 0 n'a pas de sens, quand tu commence à construire un bâtiment tu le fais au niveau 1 directement.

En fait l'interface visuelle permet pour tous les bâtiments de les calculer jusqu'au niveau 30 mais le script ne donnera que le prix jusqu'au niveau maximum.

Pour le design, tout a fait d'accord avec toi, je ne suis de loin pas un artiste :)

Si il en a car actuellement mettre tous les bâtiments au niveau 1 foire ton système.
En fait, il calcule du coup aussi le passage du niveau 0 au niveau 1 et si il y a certains bâtiments que tu ne souhaites pas ajouter dans le calcul et bien alors tu le met niveau 0.
 

DeletedUser

Guest
Si tu met tous les bâtiment du niveau 1 au niveau 1, ca calcule le prix de tous les bâtiments au n1. Si tu ne veux pas inclure un bâtiment dans le calcul, il faut laisser comme c'est au chargement de la page : construction du nivau 10 au niveau 9 (ou n'importe quelle autre combinaison à progression négative) comme c'est précisé en haut de la page.
 

DeletedUser

Guest
très bonne idée, et si je trouve une réponse à ma question, je ferai un peu de mise en page et je développerai aussi un script pour ça.
 

DeletedUser331

Guest
Si tu met tous les bâtiment du niveau 1 au niveau 1, ca calcule le prix de tous les bâtiments au n1. Si tu ne veux pas inclure un bâtiment dans le calcul, il faut laisser comme c'est au chargement de la page : construction du nivau 10 au niveau 9 (ou n'importe quelle autre combinaison à progression négative) comme c'est précisé en haut de la page.

Et pourquoi ne pas tous les mettre à 0 dès que le début ?
C'est plus logique ...
 

DeletedUser

Guest
c'est vrai,un tuto se doit d'être proche de la perfection.Sans cela c'est fichus
 

DeletedUser1275

Guest
Maintenant j'ai une question : est-ce que quelqu'un sait comment calculer le temps de recrutement de chaque type d'unité en fonction du niveau du bâtiment correspondant (caserne, écurie, atelier).

On trouve ici : http://help.guerretribale.fr/wiki/Caserne une début d'explication avec les "facteurs temps" mais malheureusement ils sont arrondis. J'ai essayé la même méthode d'extrapolation que pour le prix des bâtiments mais malheureusement sans succès parce que plus les chiffres sont petits, plus les arrondi prennent de l'importance quand on ne les connais pas !
Pour avoir des valeurs plus précises, il faut partir du temps en secondes de recrutement des unités (archers, lourds et catapulte, pour minimiser encore l'imprécision ;)).

Et avec tout ça on trouve que chaque niveau (quel qu'il soit), augmente de 6% exactement la vitesse de recrutement des unités (quelle qu'elle soit). ;)

Donc ça nous donne :
X = TB / 1.06^(N) / VT

où :
X : Temps réel de recrutement (en seconde)
N : Niveau du bâtiment
VT : Vitesse du serveur
TB : Temps de recrutement au niveau 0 (en seconde), sachant que :

TB lance : 680
TB épée : 1000
TB hache : 880
TB archer : 1200

TB scout : 600
TB léger : 1200
TB archer montée : 1800
TB lourd : 2400

TB bélier : 3200
TB catapulte : 4800

NB : TB est le temps au niveau 0, qui même s'il n'est pas visible, existe bel et bien comme point de départ du calcul. ;)
 
Dernière édition par un modérateur:

DeletedUser

Guest
Et pourquoi ne pas tous les mettre à 0 dès que le début ?
C'est plus logique ...

Si tu veux parler de logique, c'est en fait une contrainte du langage de programmation que j'utilise : php et spécialement la boucle for qui doit être exécutée au moins une fois enfin passons les détails technique, comme tu l'a déjà fait remarquer, je n'ai pas pris le temps de faire un beau design, je fais dans l'efficace et pas dans le beau donc j'ai trouvé une solution rapide à une contrainte technique, après si je ne reviens pas sur ce script pour l'améliorer c'est parce que j'en développe d'autres et que celui-ci est utilisable si on fait un petit effort donc je préfère passer mon temps à développer un autre script utile plutôt que d'améliorer celui-ci. Mais je suis sur que ce serait faisable.

Si j'ai choisi de mettre tous les niveaux à 10 c'est juste une question pratique, depuis 10 on est vite à 1 et on est aussi vite à 20 donc l'interface est plus ou moins optimisée pour tous les niveaux.
 

DeletedUser

Guest
X = TB / 1.06^(N) / VT

où :
X : Temps réel de recrutement (en seconde)
N : Niveau du bâtiment
VT : Vitesse du serveur
TB : Temps de recrutement au niveau 0 (en seconde), sachant que :

TB lance : 680
TB épée : 1000
TB hache : 880
TB archer : 1200

TB scout : 600
TB léger : 1200
TB archer montée : 1800
TB lourd : 2400

TB bélier : 3200
TB catapulte : 4800

NB : TB est le temps au niveau 0, qui même s'il n'est pas visible, existe bel et bien comme point de départ du calcul. ;)

Nickel, c'est juste ce qui me fallait, je vais faire un script et vérifier avec les données réelles et si c'est concluent je posterai ici.

Tu a aussi les formules pour le temps de construction des bâtiments en fonction du quartier général et des ressources utilisées?
 

DeletedUser

Guest
Très sympa cette petite page :)

Tu nous fera un simulateur aussi ?
 
Dernière édition par un modérateur:

DeletedUser

Guest
Voila déjà un tableau récapitulatif des temps de constructions en fonction du niveau du bâtiment :

http://www.marcchassot.ch/gt/recruteglobal.php

Maintenant je vais développer un truc plus utile dans le genre : combien de troupes de chaque type je peux faire en un temps donné en fonction des niveaux des bâtiments.
 

DeletedUser

Guest
J'avais trouvé le truc pour les troupes et pour les bâtiments en partant justement d'un point de départ au niveau 0 ;)
Je vous mettrai ça quand j'aurai le temps si personne ne le fait avant moi.
 
Haut