44 votes

Quelle est la formule pour la maintenance des unités dans Civilization V ?

La question dit tout. Je sais vaguement ce qui se passe, mais je veux quelque chose de précis.

Edit : Voici quelques valeurs "intéressantes" dans le fichier GlobalDefines.xml. Aucune idée à ce stade de ce qu'elles signifient.

  • OR INITIAL_PAR_UNITÉ_TIMES_100 50
  • UNITÉS INITIALES_LIBRES_EXTERNES 3
  • POURCENTAGE DE L'OR DE L'UNITÉ DE SORTIE INITIALE 0
  • MULTIPLICATEUR DE JEU DE L'ENTRETIEN DES UNITÉS 8
  • DIVISEUR DE L'EXPOSANT DE L'UNITÉ_MAINTENANCE_JEU 7

0 votes

Il est temps de gagner mon badge d'investisseur, je sais que quelqu'un ici peut fournir une bonne explication de la façon dont cela fonctionne avant que les fanatiques de Civ ne le fassent...

1 votes

Je pense que le prochain correctif est censé clarifier ce point. Si ce n'est que le bug "Economie - Correction du bug où les joueurs pouvaient démanteler une seule unité, et ne pas voir le retour économique jusqu'à ce qu'ils démantèlent une autre unité" a été listé.

37voto

sectrean Points 8640

Réponse courte : La maintenance est fonction de la rotation et du nombre d'unités. La fonction ressemble à un polynôme du troisième degré pour les deux variables.

Conseils pour limiter l'entretien : Ne gardez pas beaucoup d'unités, car chaque nouvelle unité coûte plus cher que la précédente. Si vous devez avoir beaucoup d'unités, placez-les en début de partie, là où les coûts sont encore supportables.

Maintenance, with 3rd degree polynomial trend line

Analyse : J'ai essayé de modifier les paramètres globaux comme l'a suggéré bwarner. Voici ce que j'ai trouvé :

Turn  Units   MULTI   DIVISOR Maintenance cost
46    10      0       0       0
46    10      1       1       6
46    10      20      0       0
46    10      20      1       18
46    10      20      2       16
46    10      20      3       15
46    10      20      20      14
46    10      100     1       73
46    10      10000   1       10005
46    10      100000  1       123533
46    10      1000000 1       1526640
46    10      1000    1       818
47    10      1000    1       847
48    10      1000    1       878
49    10      1000    1       909
50    10      1000    1       941
51    10      1000    1       973
52    10      1000    1       1007
53    10      1000    1       1041
54    10      1000    1       1076
46    10      10000   1       10005
47    10      10000   1       10417
48    10      10000   1       10842
49    10      10000   1       11280
50    10      10000   1       11731
51    10      10000   1       12195
52    10      10000   1       12674
53    10      10000   1       13167
54    10      10000   1       13675
55    10      10000   1       14198
56    10      10000   1       14737

Il faut un certain temps pour recharger le jeu entre les essais. Apparemment, le fait de mettre l'un ou l'autre de ces paramètres à zéro réduit le coût à zéro. Nous pouvons également conclure que l'augmentation du multiplicateur augmente le coût et que l'augmentation du diviseur le diminue.

Bien qu'il ne s'agisse évidemment pas d'une réponse, je l'ai tout de même posté car je n'ai pas assez de réputation pour ajouter un commentaire. Peut-être que si nous travaillons ensemble à la résolution de ce problème, nous pourrons découvrir la réponse. Au fait, j'ai effectué une analyse de régression sur les chiffres, mais je n'ai rien trouvé d'utile.

EDIT : J'ai également essayé de modifier la valeur INITIAL_GOLD_PER_UNIT_TIMES_100, mais cela ne semble pas avoir d'effet sur les coûts de maintenance.

EDIT 14 oct : J'ai mis à jour les données qui semblent apporter un peu plus de lumière sur la question. L'augmentation du multiplicateur à un nombre élevé présente deux avantages :

  • Il lève le voile sur les arrondis (la maintenance ne peut apparemment être qu'un nombre entier).
  • Il met l'accent sur le produit particulier de l'équation qui est censé être multiplié

Quelques observations peuvent être faites à propos de la formule :

  • Chaque tour du compteur de tours augmente les coûts de maintenance
  • L'augmentation du multiplicateur augmente le coût de manière plus que proportionnelle.
  • Chaque tour de compteur augmente le coût de la maintenance plus que le précédent, en termes absolus.
  • Chaque tour de compteur augmente le coût de maintenance moins que le précédent en termes relatifs
  • Les polynômes partagent ces deux dernières propriétés

N'hésitez pas à nous faire part de vos remarques.

Voici quelques données supplémentaires :

EDIT 22 octobre : Le patch qui est sorti change la formule. J'y jetterai un coup d'œil plus approfondi et je ferai un rapport. Ce qui est déjà évident, c'est que la règle du décompte des unités à chaque seconde a disparu. J'ai mis à jour les conseils en haut de page pour refléter cela.

8voto

Damon Points 1031

Bien que je n'aie pas l'intention de considérer ce que je dis comme une réponse à ma question, j'ai essayé de trouver la réponse par moi-même. J'ai joué à un jeu de difficulté Prince à une vitesse standard sur une carte de taille standard. En d'autres termes, le type de jeu le plus vanille possible. De temps en temps, j'enregistrais le nombre d'unités que j'avais, le numéro du tour et la maintenance actuelle de mes unités. Cela m'a permis de créer un ensemble de données. En supprimant des unités, il était évident que la maintenance était linéaire en fonction du nombre d'unités (paires). J'ai introduit ces données dans divers outils d'analyse de régression, c'est-à-dire que j'ai examiné différents types d'équations pour voir laquelle correspondait le mieux aux données.

Je pensais qu'il s'agirait d'un modèle exponentiel, mais le modèle linéaire semble mieux convenir. J'ai ensuite essayé la forme parabolique et j'ai obtenu la meilleure adéquation possible. L'équation ci-dessous m'a permis d'obtenir un maintien à une pièce d'or près pour tous mes points de données.

2 × [Nombre d'unités, si impair soustraire 1] × [.00000619*T² + 0.00404478*T + 0.15814034]

R^2 était de 0,999. La lettre "T" signifie évidemment "Current Turn" (Tournant actuel). Malheureusement, je n'en suis qu'au tour 384, et je dois donc voir si cette équation parabolique est valable pour le reste de la partie. Si quelqu'un peut se porter volontaire pour fournir plus de données (paramètres Prince:Standard:Standard seulement pour l'instant), je peux facilement les copier dans mon ensemble de données et arriver à une compréhension plus précise. Listez simplement les unités, les tours et la maintenance des unités.

Si cette équation est juste, je comprends pourquoi Firaxis n'a pas pris la peine de la publier. Cependant, je suis stupéfait que Firaxis ait pensé qu'une parabole était un bon moyen de déterminer la maintenance des unités, en particulier lorsque les économies n'ont aucun moyen de croître en tandem.

Edit : Hmmm... Je vais retirer cette formule pour l'instant. Elle n'a pas réussi à prédire les coûts d'entretien alors que j'ai terminé cette partie. Certes, l'ajout des nouveaux points a donné une équation parabolique légèrement différente, avec un R2 de 0,999, mais comme ce type d'équation est délicat, j'ai besoin de plus de données pour déterminer si l'entretien des unités est effectivement parabolique ou s'il s'agit de quelque chose d'entièrement différent.

6voto

Rich Catalano Points 734

J'ai collecté quelques données et utilisé le programme Eureqa pour trouver des équations possibles pour le coût de maintenance. Je n'ai modifié aucune valeur XML, j'utilise ici Civ5 vanille.

J'utilise u pour le nombre d'unités, t pour le numéro du tour et c pour les coûts de maintenance.

Mise à l'échelle de l'unité

La dépendance du coût de maintenance par rapport au nombre d'unités (au tour 499) peut être ajustée à l'équation suivante

f(u) = 5.56 * u^1.14

toujours arrondi à l'inférieur. J'ai calculé cela à partir des données du tour 499 avec des données allant de 0 à 452 unités, en n'utilisant que des nombres pairs d'unités.

maintenance per unit at turn 499

Mise à l'échelle des virages

La dépendance du nombre de tours (avec 100 unités) peut être ajustée à l'équation exponentielle suivante

f(t) = 1.5011171*exp(5.1752067 + 0.0031669112*t) - 214.9911

Ceci est basé sur des données avec 100 unités pour les tours 0 à 500.

maintenance per turn for 100 units

Je n'ai pas trouvé d'équation satisfaisante qui combine ces deux aspects de la maintenance des unités.

La limite d'approvisionnement en unités n'a pas d'effet sur les coûts de maintenance, elle réduit simplement le taux de production de vos villes de 10 % par unité au-delà de la limite, jusqu'à une réduction maximale de 70 %.

La taille et la difficulté de la carte pourraient également avoir un effet sur la maintenance, ce qui reste à déterminer.

J'ai rassemblé les données que j'ai collectées dans un Google Docs Tableur (valable uniquement pour 24 heures, peut-être que quelqu'un pourra l'héberger de manière plus permanente).

2voto

Stu Pegg Points 4273

La réponse la plus proche que j'ai pu trouver est la suivante : http://forums.civfanatics.com/showthread.php?p=9666379

Il semble indiquer qu'il est proportionnel aux paires d'unités, et qu'il augmente avec la difficulté et le temps (en raison de l'inflation).

2voto

Au tour 285, j'ai effacé toutes mes unités une à une. J'ai eu une réduction des coûts d'entretien de 8 ou 9 ors un tour sur deux . Cela confirme donc ce que vous dites.

J'essaierai à nouveau vers le tour 400.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X