6

I learned in another question that the population number can be much higher than the number of residential agents (workers, shoppers, students) in the city.

What is the formula for converting population to residential agents? For example, if a city has 100k population, how many residential agents are in that city?

1
  • 1
    The formula actually goes the other way around... each building has a specific number of agents, and the cosmetic population figure is computed from that number of agents.
    – Amy B
    Commented Mar 15, 2013 at 15:17

1 Answer 1

6

The calculation you're asking for actually works the other way around in SimCity, the number of agents is taken and then run through a function to return a 'fudged' population figure.

The function in game that returns the population is as follows;

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)
};

This works out as follows;

  • if a is less than/equal to 500, return a
  • if a is greater than 501 but less than 40845, return (a-500)^1.2 + 500
  • if a is greater than 40845, return 8.25 * a

Here is a graph of how the actual population relates to the displayed population;

graph

To work out the number of agents that makes up your displayed population, you would use one the following formula (courtesy of OrigamiRobot@The Bridge), depending on the size of your population;

if population is:

  • less than/equal to 500, the population value is the number of agents active in the city
  • greater than 501 but less than 336971, use (population - 500)^(5/6) + 500 = a
  • greater than 336971, use population/8.25

This would return the number of actual agents present for your current population.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.