Le calcul que vous demandez fonctionne en fait dans l'autre sens dans SimCity, le nombre d'agents est pris et ensuite passé par une fonction pour retourner un chiffre de population "truqué".
La fonction dans le jeu qui renvoie la population est la suivante ;
simcity.GetFudgedPopulation = function (a) {
a = "undefined" !== typeof a ? a : simcity.gGlobalUIHandler.mLastPopulation;
if (500 >= a)
return a;
if (40845 < a)
return Math.floor(8.25 * a);
a = Math.pow(a - 500, 1.2) + 500;
return Math.floor(a)
};
Le résultat est le suivant ;
- si
a
est inférieure/égale à 500, le retour est le suivant a
- si
a
est supérieure à 501 mais inférieure à 40845, renvoyer le message suivant (a-500)^1.2 + 500
- si
a
est supérieure à 40845, renvoyer 8.25 * a
Voici un graphique illustrant le rapport entre la population réelle et la population affichée ;
Pour calculer le nombre d'agents qui composent votre population affichée, vous utiliserez la formule suivante ( avec l'aimable autorisation de OrigamiRobot@The Bridge ), en fonction de la taille de votre population ;
si population
est :
- inférieure/égale à 500, la valeur de la population est le nombre d'agents actifs dans la ville
- supérieur à 501 mais inférieur à 336971, utilisez
(population - 500)^(5/6) + 500 = a
- supérieur à 336971, utilisez
population/8.25
Vous obtiendrez ainsi le nombre d'agents réellement présents pour votre population actuelle.