1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Corporate Maintenance Explained

Discussion in 'Civ4 Strategy Articles' started by OTAKUjbski, Oct 31, 2007.

  1. OTAKUjbski

    OTAKUjbski TK421

    Joined:
    Mar 4, 2007
    Messages:
    1,511
    Location:
    not at my post
    CORPORATE MAINTENANCE EXPLAINED (BtS 3.13)

    This thread is not intended to offer in-depth strategies on how to manage Corporations, though understanding their mechanics lends itself to better utilizing them.

    This thread is not intended to be a discussion about whether Corporations are working as Firaxis intended them to be or if there is room for improvement, though in revealing the mechanics, it is bound to incite debate over whether they are adequately balanced.

    This post is meant as an explanation and a revelation of "the man behind the curtain". After reading this article, you should fully understand the different elements of Corporate Maintenance and how to fully calculate its impact on any of your cities.

    So here we go ...

    Table of Contents (this article's pretty long)


    The Basics: Some Definitions (see the Civilopedia also).

    The following definitions represent a brief introduction to some of the different relevant Corporate elements I may refer to during this post.

    To reduce the length of this post and get you to the part you probably came for quicker and more easily, I've hidden the definitions in spoiler tags. If you're already familiar with Corporations, you may wish to skip this section.
    Spoiler The Basics: Some Definitions :

    • Corporations. There are seven Corporations in BtS. Once you have both the "Corporation" technology (thanks to oedali for the reminder) and the technology enabling the particular Corporation's founding, you may found that Corporation by expending a Great Person to build its Corporate Headquarters building in one of your cities.

      In short, Corporations provide benefits to cities they are spread to in exchange for Corporate Fees, which manifest as City Maintenance.

      Though I won't be going into detail about Resource Consumption and Corporate Competition, it is important to note that a Corporation cannot be founded in or spread to a city without access to any of its consumed resources and can never be founded in a city where a competitor's Corporate Headquarters is already present.

    • Corporate Headquarters. Every Corporation has only one Headquarters building -- present only in the city in which the Corporation was founded. Only a Great Person can build a Corporate Headquarters (and thus found the Corporation) and is consumed in doing so. The Corporate Headquarters also indicates the presence of the Corporation and thus provides the Corporation's benefits and incurs the appropriate Corporate Fees. The primary benefit of a Corporate Headquarters is that it generates +4 :gold: for every city with one of its Corporate Offices (i.e, that the Corporation has spread to).

      It's worth noting a Corporate Headquarters building can only be built once. If the Corporate Headquarters is destroyed, it is lost forever. To the best of my knowledge, the Corporate Headquarters can only be destroyed if the city it's in is conquered and razed.

    • Corporate Office. The presence of a Corporate Office in a city indicates the represented Corporation is present in the city. Thus, that city will incur the appropriate Corporate Fees in exchange for the Corporation's benefits. The Corporate Headquarters doubles as a Corporate Office.

    • Foreign/Domestic Corporation. A Foreign Corporation is any Corporation whose Corporate Headquarters is not present in one of your cities (i.e., is not controlled by your civilization). A Domestic Corporation is any Corporation whose Corporate Headquarters is present in one of your cities.

    • Foreign/Domestic Corporate Office. A Foreign Corporate Office is any Corporate Office in a foreign city -- regardless of whether it represents a Foreign or Domestic Corporation. Likewise, a Domestic Corporate Office is any Corporate Office in one of your cities -- even if the Corporate Headquarters is controlled by a foreign power.

      The distinction between "foreign" and "domestic" is especially important when discussing the effects of the Mercantilism and State Property Civics later on.

    • Corporate Executive. Corporations are spread by Corporate Executives. These units can only be built in a city where the Corporation's Headquarters or Office is present. A Corporate Executive can only spread the Corporation he represents to one city and is consumed in doing so.

      It is important to note that expanding a Corporation (spreading it) requires an initial 'investment', which is deducted from your treasury at the time of expansion. It is also worth noting that foreign expansion and expanding a Corporation to a city where one of its competitors' Corporate Offices is already present both increase the initial cost of expansion. (The Cost of Expansion)

    • Free Market. The Free Market Civic reduces Maintenance Costs from Corporations by 25%. The important thing to know about Free Market is that its reduction is at the very core of Corporate Fees and is not represented mathematically in any screen. Therefore, this reduction comes before Courthouses and Inflation!

    • Environmentalism. The Environmentalism Civic increases Maintenance Costs from Corporations by 25%. The important thing to know about Environmentalism is that its increase is at the very core of Corporate Fees and is not represented mathematically in any screen. Therefore, this increase comes before Courthouses and Inflation!

    • Mercantilism. The Mercantilism Civic negates the effects of all Foreign Corporate Offices in your cities. Any Foreign Corporate Offices already in your cities remain in your cities but yield no benefit to your cities or to their Foreign Corporate Headquarters. Likewise, if a foreign civilization is running the Mercantilism Civic, your Corporate Offices will have no effect in their cities, and your Corporate Headquarters will not reap any benefits from those Foreign Corporate Offices.

      There are several noteworthy effects of Mercantilism:

      • Domestic Corporations cannot be founded (this is popularly viewed as a bug and is fixed in Bhruic's Unofficial BtS 3.13 patch).
      • Foreign Corporations cannot be spread in your cities -- even by your own Corporate Executives.
      • You do not have to buyout Foreign Corporate Offices when spreading Domestic Corporations. (thanks to jkp1187 for the reminder.)
      • Your cities cannot train a Corporate Executive for any Foreign Corporation.
      • Foreign Corporate Headquarters do not gain +4 gold for their Corporate Offices in your cities.

    • State Property. The State Property Civic negates the effects of all Corporate Offices in your cities. All Corporate Offices already in your cities remain in your cities but yield no benefit to your cities or to their Corporate Headquarters. Likewise, if a foreign civilization is running the State Property Civic, your Corporate Offices will have no effect in their cities, and your Corporate Headquarters will not reap any benefits from those Foreign Corporate Offices.

      There are several noteworthy effects of State Property:

      • Corporations cannot be spread in your cities -- even by your own Corporate Executives. (This includes founding Domestic Corporations.)
      • Your cities cannot train any Corporate Executives.
      • Corporate Headquarters (both foreign and domestic) do not gain +4 gold for their Corporate Offices in your cities.
      • Your Domestic Corporate Headquarters continue to gain +4 gold for every one of your Foreign Corporate Offices not under the Mercantilism or State Property Civic.

    • City Improvements (Buildings). All Corporate Fees and benefits are raw yield values. This is important, because any buildings which reduce maintenance (i.e., Courthouse, Rathaus, etc.) or increase tile/specialist yields (i.e., Library, Forge, Wall Street, etc.) apply their appropriate affects to the Corporations' Fees or Benefits -- thus decreasing its impact and increasing its yield.

    • Inflation. Inflation is the last calculation applied to any Corporate Fees and is thus after all other factors are weighed. However, as of BtS patch 3.13, there is an additional factor applied during the calculation of the Corporate Fees which serves to reduce Corporate Fees and negate inflation. So, the most important thing to note is that inflation has no net effect on Corporate Maintenance in 3.13.

    The Not-So-Basics: The Man Behind The Curtain.

    Bear with me through this next section, because this one has all the math. A couple things to note first:

    • Each city calculates its own Corporate Fees independent of any other cities in your empire.
    • Each Corporate Office calculates its own Corporate Fees independent of any other Corporate Offices in the same city.
    • All Corporate Offices calculate their Corporate Fees identically (can be changed via the variable <iMaintenance> in CIV4CorporationInfo.xml).
    There are seven factors which determine a Corporate Office's Fees. These only take affect if a Corporation is consuming one or more resources in the city. (I.e, a Corporate Office denied access to the appropriate resources generates no fees but still provides +4 gold to its Corporate Headquarters):

    • Base Rate. Affects the base value of the Corporate Fees as well as the value of the Corporate Office to the Corporate Headquarters. (Default Value is 4.) Variable H (for Headquarters) in the formula below.

      Code:
      H = 4
      
      This variable is stored as <iHeadquarterCommerce> in CIV4CorporationInfo.xml.
      H = <iHeadquarterCommerce>
      
    • Map Size. Affects the value of each resource consumed by the Corporate Office. Variable S in the formula below.

      Code:
      Duel     : S = 4.0
      Tiny     : S = 2.0
      Small    : S = 1.5
      Standard : S = 1.0
      Large    : S = 0.75
      Huge     : S = 0.50
      
      This variable is stored as <iCorporationMaintenancePercent> in CIV4WorldInfo.xml.
      S = <iCorporationMaintenancePercent> / 100
    • Number of resources consumed. Variable R in the formula below.

    • Population. Every population point over 1 increases the Fees by 1/18th of the basic rate, ( H + R * S ). Variable P in the formula below.

      Code:
      [I]P[/I] = ( Population + 17 ) / 18
      
    • Difficulty. +/- 10% increments above/below Noble. Variable D in the formula below.

      Code:
      Settler    : D =  0.7
      Chieftain  : D =  0.8
      Warlord    : D =  0.9
      Noble      : D =  1.0
      Prince     : D =  1.1
      Monarch    : D =  1.2
      Emperor    : D =  1.3
      Immortal   : D =  1.4
      Deity      : D =  1.5
       
      This variable is stored as <iCorporationMaintenancePercent> in CIV4HandicapInfo.xml.
      D = <iCorporationMaintenancePercent> / 100
      
    • Economy Civic. +/- 25%. Variable C in the formula below.

      Code:
      Decentralization : C = 1.00
      Mercantilism     : C = 1.00
      Free Market      : C = 0.75
      State Property   : C = 0.00
      Environmentalism : C = 1.25
       
      This variable is stored as <iCorporationMaintenanceModifier> in CIV4CivicsInfo.xml
      C = 1 + <iCorporationMaintenanceModifier> / 100
    • Inflation. Used to reduce the Corporate Fees by an amount equal to the Inflation Rate -- thus negating the effects of Inflation. Variable I in the formula below.

      Code:
      I = InflationRate / 100 + 1
      


    The Formula:

    A special thanks to Bhruic and Solver for pointing out where this formula is hardcoded in CvGameCoreDLL.dll:

    Spoiler Lines 5510 through 5553 in CvCity.cpp :

    Code:
    int CvCity::calculateCorporationMaintenanceTimes100(CorporationTypes eCorporation) const
    {
    	int iMaintenance = 0;
    
    	for (int iCommerce = 0; iCommerce < NUM_COMMERCE_TYPES; ++iCommerce)
    	{
    		iMaintenance += 100 * GC.getCorporationInfo(eCorporation).getHeadquarterCommerce(iCommerce);
    	}
    
    	int iNumBonuses = 0;
    	for (int i = 0; i < GC.getNUM_CORPORATION_PREREQ_BONUSES(); ++i)
    	{
    		BonusTypes eBonus = (BonusTypes)GC.getCorporationInfo(eCorporation).getPrereqBonus(i);
    		if (NO_BONUS != eBonus)
    		{
    			iNumBonuses += getNumBonuses(eBonus);
    		}
    	}
    
    	int iBonusMaintenance = GC.getCorporationInfo(eCorporation).getMaintenance() * iNumBonuses;
    	iBonusMaintenance *= GC.getWorldInfo(GC.getMapINLINE().getWorldSize()).getCorporationMaintenancePercent();
    	iBonusMaintenance /= 100;
    	iMaintenance += iBonusMaintenance;
    
    	iMaintenance *= (getPopulation() + 17);
    	iMaintenance /= 18;
    
    	iMaintenance *= GC.getHandicapInfo(getHandicapType()).getCorporationMaintenancePercent();
    	iMaintenance /= 100;
    
    	iMaintenance *= std::max(0, (GET_PLAYER(getOwnerINLINE()).getCorporationMaintenanceModifier() + 100));
    	iMaintenance /= 100;
    
    	int iInflation = GET_PLAYER(getOwnerINLINE()).calculateInflationRate() + 100;
    	if (iInflation > 0)
    	{
    		iMaintenance *= 100;
    		iMaintenance /= iInflation;
    	}
    
    	FAssert(iMaintenance >= 0);
    
    	return iMaintenance;
    }
    

    -1 * ( H + R * S ) * P * D * C / I

    -or-

    -1 * ( BaseHeadquarterCommerce + Resources * mapSize ) * PopulationModifier * Difficulty * CivicsModifier / InflationModifier

    -or- as executed 'verbose':

    1. Take the number of Resources the Corporation is using and multiply it by the MapSize modifier then add 4.
    2. Add 17 to the population of the city then divide the result by 18. (PopulationModifier)
    3. Multiply the results of step #1 and step #2.
    4. Multiply the result of step #3 by the Difficulty modifier.
    5. Multiply the result of step #4 by the Civics modifier.

      This is the NET value of your Corporate Fees and represents the actual, post-Inflation cost of your Corporate Office. You should use this value for comparisons and calculations.

    6. Divide the current inflation percentage by 100 then add 1. (Inflation)
    7. Divide the result of step #5 by the result of step #6.

      This is the GROSS value of your Corporate Fees and only represents what you see in the City Maintenance box. After Inflation is added, your actual payments will be the net value from step #5. You should not use this value for any comparisons or calculations.

    8. Fin.

    An Example:

    Let's start with the following:
    • Population 20.
    • Cereal Mills -- 2 Corn, 2 Rice, 3 Wheat
    • Mining Inc -- 1 Copper, 2 Gold, 4 Iron, 2 Silver
    • Noble Difficulty.
    • Standard Map Size.
    • Inflation = negligible. Since Inflation is only valid when determining the gross value of the Corporate Fees, I will not be factoring inflation for this example. This means I'll be working with the actual, net cost of the Corporate Office -- thus ensuring an accurate comparison.

    Variables:

    Code:
    H = 4
    R1 = 7 (Cereal Mills)
    R2 = 9 (Mining Inc)
    S = 1.0
    P = ( 17 + 20 ) / 18 = 2.0555...
    C = 1.0
    D = 1.0
    
    Cereal Mills:

    Code:
    -1 * ( H + R1 * S ) * P * C * D
    -1 * ( 4 + 7 * 1 ) * 2.055 * 1 * 1
    -    ( 11        ) * 2.055
    - 22.61
    
    Mining Inc:

    Code:
    -1 * ( H + R2 * S ) * P * C * D
    -1 * ( 4 + 9 * 1 ) * 2.055 * 1 * 1
    -    ( 13        ) * 2.055
    - 26.72
    
    The combined Corporate Fees in this situation total -49.33 :gold:.
    The total provisions are +5.25 :food:, +9 :hammers:.

    A Comparison Using The Example:

    At first glance, this appears to be a lot, but let's compare this and dig a little deeper:

    • 5.25 :food: is enough to allow your city to work two Desert Incenses (12 commerce) and a Plains/Tundra/GHill Town (5 commerce).
      5 + 12 = 17 :commerce:

      17 raw commerce run through a Library = 17 * 1.25 = 21.25 :science:

      21.25 / 22.61 = 0.94 science per gold (not a bad ratio with just a Library/Market and no Courthouse)

      22.61 run through a Courthouse = 22.61 * 0.5 = 11.30

      17 / 11.30 = 1.5 commerce per gold (If you can come out ahead with no Library, you're turning a profit)

      17 commerce in 'fully upgraded' (+100%) city = 34 commerce

      34 / 11.30 = 3.00 commerce per gold (that's pretty damn good, imo)​

      That's only the tip of the iceberg, because with Courthouses and Free Market, you can drastically push down the Fees. And with Universities & Banks and especially with Wall Street & Oxford University, you can increase the net value from any commerce tiles or specialists yields to soaring heights. (And don't forget about Representation, Free Speech/Bureaucracy and the Financial trait.)

      Let's also keep in mind that +food can be used however you want. It can be used to work even more production tiles in Ironworks or to run 2 more specialists in your GP farm or a couple hill-top Towns in your Wall Street ...

      Also, though I won't go into how it's calculated, 2.5 extra population in a coastal city has the potential to significantly boost your international trade rates -- especially if you have a Customs House in place.

      And finally, an immeasurable value to increased population is more votes in the United Nations and Apostolic Palace as well as putting you closer to the population requirement for a Domination Victory!

    • 9 :hammers: is worth 27 :gold: when compared against rush-buying under Universal Suffrage (3 gold per hammer for non-Wonders & 6 gold per hammer for Wonders.)

      27 / 26.72 = 1.01:1.00 gold (even with no +production bonuses, using Mining Inc in this situation is break even compared to rush-buying.)

      9 * 6 = 54 gold (the equivalent value of Mining Inc.'s production if put toward a Wonder)

      54 / 26.72 = 2.02:1.00 gold (clearly a better conversion by comparison to rush-buying a Wonder)

      9 hammers in the Ironworks city = 9 * 3 = 27 actual :hammers:

      27 * 3 = 81 gold (the equivalent value of Mining Inc.'s production after +200% bonuses from Powered Ironworks is factored in.)

      81 / 26.72 = 3.03:1.00 gold (holy crap! that's 3 times better than rush-buying under Universal Suffrage!)​
      As with the Cereal Mills comparison above, this is only the beginning. There are a couple immeasurable values to Mining Inc when compared against rush-buying under Universal Suffrage:

      • You don't have to be in Universal Suffrage to use Mining Inc.
      • Rush-buying with Universal Suffrage doesn't factor in production bonuses ... Mining Inc does.
      • Projects and Space Ship parts can't be rush-bought at all ... Mining Inc's production applies to anything built (and remember, it gets the production bonus from Aluminum for Space Ship parts!)

      Just in case that isn't enough, imagine this bonus on a flat, Archipelago, where half your cities are lucky to have 10 production. In that situation, Mining Inc represents a 100% boost to production.

    • Your Corporate Fees can be pushed down even to the point of making a profit if you (ab)use Free Market, Courthouses (especially the Rathaus and Ikhanda) and the Corporate Headquarters:

      • With a Courthouse: Fees * 0.5 = -24.66 gold
      • Adding the Corporate Headquarters in your city with Wall Street: Fees * 0.5 + 12 gold per office [+24] = -0.66 gold

        Controlling the Corporate Headquarters (especially if next to Wall Street) all but guarantees your Domestic Corporate Offices can balance their Fees or even turn a profit!

      • And now under Free Market: Fees * 0.75 * 0.5 + 24 = +5.5 gold:

      • What if you're the Malinese Empire with a Mint? Fees * 0.75 * 0.5 + 24 * 1.1 = +7.9 gold!
      • What if you're the Zulu Empire with an Ikhanda, too? Fees * 0.75 * 0.5 * 0.8 + 24 = +9.2 gold !!
      • What if you're the Holy Roman Empire with a Rathaus? Fees * 0.75 * 0.25 + 24 = +14.75 gold !!!

      The lower you can get the Corporate Fees by reduction and offset domestically, the higher your tolerance becomes for spreading Corporations throughout your empire.

      If you can turn a profit or break-even without even considering the Corporate Benefits, you pretty much have the go-ahead to spread your Corporation(s) to every city in your empire.

    Some Conclusions & Thoughts On Corporate Management.

    • Not withstanding Aluminum Co. & Standard Ethanol, Corporations appear to be tools by which we can convert gold (in the form of Corporate Fees/Maintenance) into :food:, :hammers:, :culture: & :science:.

      So, expect your Domestic Corporate Offices to not turn individual profits (even more so for any Foreign Corporations). You should weigh the Corporate Fees against the benefits to determine if the exchange is worth it in your situation.

    • If you found a Corporation, try your damnedest to build the Corporate Headquarters in the same city as Wall Street.

    • Corporations are not like Religions -- they can cost you a lot of money if you're not careful. If you spread them 'carte blanche' to your cities, you run the risk of unnecessarily digging yourself into a hole.

    • Domestic Corporate Offices can become very expensive. Don't build Corporate Offices 'carte blanche'. Consider the Benefits and weigh them against the Fees.

    • You can balance Domestic Corporate Fees by also spreading your Corporations abroad (preferably to civilizations lacking the right resources to get full use out of them).

    • If you're relying on Foreign Corporate Offices to pay your bills, you may want to keep Spies on hand to Influence Civics.

    • Peaceful Colonies & Vassals and Friendly neighbors are prime candidates for incorporation abroad.

    • A Courthouse is a MUST for incorporated cities.

    • Boost your Corporations' provisions by building appropriate +:hammers:/:science:/:gold:/:culture:% buildings in incorporated cities. In this respect, your Megalopolises (i.e., your National Wonder cities) should make the best incorporated cities.

    • Small cities benefit proportionally more from incorporation than large cities, because small cities incur lower Corporate Fees. Against your instincts, you may wish to prioritize your 'fishing village' or your 'hunting camp' for incorporation before your Metropolises (i.e., mid-sized-non National Wonder cities).

    • Balance your Corporations' provisions by utilizing +:food: to run specialists or to work high-yield tiles such as Resources and Cottages. (Such as Desert Incense and hilltop Towns as in The Example.)

    Other Articles.


    In Closing.

    • Special thanks especially to Roland Johansen for simplifying the formula and giving great insight on some missing and confusing content.
    • I want more in-depth external links and am always open to suggestions ...


    -- my 2 :commerce:
     
  2. OTAKUjbski

    OTAKUjbski TK421

    Joined:
    Mar 4, 2007
    Messages:
    1,511
    Location:
    not at my post
    The Cost of Expansion

    The intial cost of expansion is the 100 :hammers: (Normal speed) it costs to train the Corporate Executive. Debate still exists about the actual value of a hammer; I value 1 raw hammer at 3 :gold:. Given this assumption, this is how much the Executive 'costs' given various production bonuses:

    • +000%. 100 / 1.00 * 3 = 300 :gold:
    • +025%. 100 / 1.25 * 3 = 240 :gold:
    • +050%. 100 / 1.50 * 3 = 200 :gold:
    • +075%. 100 / 1.75 * 3 = 172 :gold:
    • +100%. 100 / 2.00 * 3 = 150 :gold:
    • +125%. 100 / 2.25 * 3 = 134 :gold:
    • +150%. 100 / 2.50 * 3 = 120 :gold:
    • +175%. 100 / 2.75 * 3 = 110 :gold:
    • +200%. 100 / 3.00 * 3 = 100 :gold:

    There are 4 elements to the cost of Corporate Office expansion:
    • Base Cost. 50 :gold: Variable B in the formula below.

      Code:
      B = 50
      
      This variable is stored as <iSpreadCost> in CIV4CorporationInfo.xml.
      
    • Inflation. Inflation increases the base cost of expansion. Variable I in the formula below.

      Code:
      I = 1 + InflationRate / 100
    • Location (foreign v. domestic). Foreign expansion doubles the cost. Variable L in the formula below.

      Code:
      If domestic; L = 1
      If foreign; L = 2
      
    • Competition. Forces a buyout -- increasing the cost (default is triple). Variable R (for Rivalry) in the formula below.

      Code:
      If NO competition is present; R = 1
      If competition IS present; R = 3
      
      This variable is stored as <iSpreadFactor> in CIV4CorporationInfo.xml.
      R = 1 + <iSpreadFactor> / 100
      

    The Formula:

    B * I * L * R​

    An Example:

    With 28% Inflation (I = 1.28), buyout (R = 3) in a Foreign City (L = 2).

    50 * 1.28 * 2 * 3 = 384 :gold:

    If you had trained the Corporate Executive in a city with a Forge and an unpowered Factory (+50% production), you could also factor in another 200 gold to the base cost of expansion.
     
  3. jkp1187

    jkp1187 Unindicted Co-Conspirator

    Joined:
    Aug 29, 2004
    Messages:
    2,494
    Location:
    Pittsburgh, Pennsylvania
    Two questions... you said:

    (Emphasis mine). I'm not quite sure what you mean by referring to a library or Wall Street a structure that 'increases productivity'. (Apologies if I misread something.)

    Also, I am curious if you could shed some light on how the cost to establish a franchise is calculated -- not exactly a corporate maintenance issue, but in the same ballpark.
     
  4. OTAKUjbski

    OTAKUjbski TK421

    Joined:
    Mar 4, 2007
    Messages:
    1,511
    Location:
    not at my post
    Semantics. 'Productivity' doesn't mean 'Production' in that sense, though I see how it can have that connotation.

    I changed it to read "or increase tile/specialist yields".

    Thanks.

    I have it written down somewhere at home ... I'll see if I can dig it up and put it in there somewhere.
     
  5. jkp1187

    jkp1187 Unindicted Co-Conspirator

    Joined:
    Aug 29, 2004
    Messages:
    2,494
    Location:
    Pittsburgh, Pennsylvania
    Understood. Thanks.


    I would appreciate that. I was especially curious about one thing. Concerning Mercantilism, you said:


    If the foreign corporate office "remain in your cities" (even though it's dormant,) what happens if you try to establish a competing corporation in that city while the foreign franchise is still 'dormant' due to mercantilism?

    For instance, Japan owns Sid's Sushi and establishes a franchise in London. England switches to Mercantilism, meaning no benefits nor costs come from the Sushi branch in London. Later, England founds Cereal Mills and sends a Cereal Mills exec to establish a branch in London (still remaining in Mercantilism). Will this be considered a corporate "buy out", and thus be subject to an increased establishment cost? Or would England just pay the 'normal' cost to establish a new branch while Sushi was dormant?

    Small question, but one that became rather annoying to me in a recent game when Japan founded sushi and started spreading it like...well, hotcakes in my cities. The extra corporate costs started affecting my bottom line, so I started buying them out....at least, the ones in cities that didn't need extra culture.

    Thanks again for this article -- it is informative.
     
  6. OTAKUjbski

    OTAKUjbski TK421

    Joined:
    Mar 4, 2007
    Messages:
    1,511
    Location:
    not at my post
    The Cost of Expansion




    Good point. I totally forgot about that element. {OP updated}

    If you are running Mercantilism, you do not have to buyout Foreign Corporate Offices! It's as if they don't even exist.

    When you spread your Domestic Corporation, the Foreign Office just disappears.
     
  7. MrCynical

    MrCynical Chieftain

    Joined:
    Oct 30, 2005
    Messages:
    4,507
    Location:
    The Dreaming Spires
    A most excellent article! I must admit I'd relied more on observed corporation costs in my games than rigorously going through the maths when I was putting together strategies. If it's OK with you I'll add a link in my article to direct anyone wanting to know all the maths.

    Interesting - I hadn't spotted that. Opens up definite possibilities for using Cristo Redentor to flip into Mercantilism for a turn, and stamp out foreign corporate offices on the cheap.
     
  8. OTAKUjbski

    OTAKUjbski TK421

    Joined:
    Mar 4, 2007
    Messages:
    1,511
    Location:
    not at my post
    Thank you.

    And certainly ... I hope you don't mind I already took the liberty of linking to your article in my post. :mischief:
     
  9. Roland Johansen

    Roland Johansen Chieftain

    Joined:
    Apr 29, 2003
    Messages:
    4,292
    Location:
    the Netherlands
    Great article, very informative, very detailed. :goodjob:

    I would like to add one comment about the formula. I don't think it was a good decision to add a population modifier to this formula (Firaxis decision). It means that a corporation has a higher maintenance in bigger cities while the raw benefits stay the same. Corporations are thus less efficient in big cities and more efficient in tiny cities. I don't see why that would be a good gameplay element.

    In reality, big corporations would like to settle in big cities to be near their customers. Those are the most profitable corporate offices. In the real world, a tiny village isn't a very good location for a corporate office.

    It also means that a cereal mills corporation or a Sid's sushi corporation can become too successful. If it results in so much food that the city sizes become very high, then the costs will become very high. It's a quadratic effect, the city size increases the cost and the increased number of resources used increases the cost. I admit that this will only occur when a very large number of resources is available to these corporations, a situation where you're likely close to a domination or conquest victory. Still, I don't like it when a formula that controls a game element starts to destabilise the economy when you're close to victory.
     
  10. oedali

    oedali Chieftain

    Joined:
    Apr 6, 2007
    Messages:
    813
    Gender:
    Male
    Location:
    Washington, DC
    Great article! One thing though: in addition to the corporation's technology, you also need the Corporation technology in order to found corporate HQs. In my current game I got a great engineer & beelined to Railroads, forgetting that I also needed to research Economics, Constitution & Corporation to found Mining Inc.. :hammer2:
     
  11. OTAKUjbski

    OTAKUjbski TK421

    Joined:
    Mar 4, 2007
    Messages:
    1,511
    Location:
    not at my post
    Good point. I didn't even think to mention that, even though I've done the same thing on several occasions.

    Thanks. {OP updated}

    Not that I agree with them, but I think I understand why they did this. I imagine their logic went something like this:
    • Cities with +whatever% bonus buildings make the best candidates for incorporation, because they stand to reap the most from the Corporate Benefits.
    • Older and more-developed cities are more likely to have those +whatever% bonus buildings in place.
    • Older and more-developed cities typically have large populations.
    • Large cities have +whatever% bonus buildings.
    • Hey! Let's make Corporate Fees population-dependent.
    This only sort-of works, because it hinges on the presumption that smaller cities are less-developed. Whereas that's typically true, it becomes less likely as you progress through the Industrial Era and into the Modern & Future Eras -- which is precisely when Corporations emerge. :confused:

    The most obvious alternative would've been to make Corporate Bonuses come in on the bottom line so they aren't affected by +whatever% bonus buildings at all.

    However, that would still skew Corporations towards small cities, because the percentage of increase (and thus its effectiveness) would be far greater than in a large, well-developed city.

    On the other hand, it would prevent "ballooning" of Corporate Costs as you approach Domination and Conquest Victories.​

    Another alternative would've been to make Corporate Fees independent of population but dependent upon the appropriate +whatever% bonuses the city is getting. So a City with +100% to production might cost twice as much as a city with +0% production.

    This would definitely make Corporate Fees effectiveness-dependent (assuming that was Firaxis' intent), but it doesn't actually make sense. For example, if a steel-making company sells steel to a local contractor who then uses that steel to make a building, did it cost the steel manufacturer any more money because of the contractor's usage? No.

    However, this would still balloon Corporate Fees as you acquire more resources.

    I'd say this is the worst alternative.​

    If the goal is to prevent ballooning, I think either Corporations should have a hard limit to how many resources they consume, or Firaxis should change the Corporate Benefits system altogether so each additional instance of a resource is proportionally less expensive and less effective (essentially creating a ceiling where additional resources do nothing).

    From a real-world perspective, there are plenty of companies who don't target large cities. Take Wal-Mart for example. Wal-Mart thrives on medium-sized cities ... I can't tell you how many small towns have incorporated just to get a Wal-Mart. Likewise, I can name quite a few who have voted down incorporation because of Wal-Mart. Both instances are examples of the same thing, though.

    Also, large cities tend to have large budgets, and one of the first places they go to honor that budget is the Corporations. It's not uncommon for large cities to more heavily tax businesses to satisfy their monetary needs.

    And in that same vein, the cost of living in large cities is usually a lot higher than in small and medium-sized cities, so it makes sense that a Corporation's costs should increase as population (and thus cost of living) increases.



    -- my 2 :commerce:
     
  12. Roland Johansen

    Roland Johansen Chieftain

    Joined:
    Apr 29, 2003
    Messages:
    4,292
    Location:
    the Netherlands
    @OTAKUjbski

    Interesting ideas.

    I agree with your reasoning why Firaxis chose this approach (city size increases cost) and the downsides of that approach.

    If I were to design the model, then I would just have let corporations be more efficient in cities with factories, markets, banks, universities and such without an extra cost for a large population. Companies tend to like a good distribution system, plenty of customers in the neighbourhood and a steady supply of well qualified personnel. I think a well developed city is the civilisation equivalent of that. And in gameplay, it means that you want to get corporations in well developed cities and rewards the player for developing his city well. Nothing wrong with that.
    I would have tried to balance the corporate benefits in a well developed city against the cost. Then you could add a corporation to an underdeveloped city, but it wouldn't become cost efficient until the other infrastructure in the city would be constructed.

    I also like your idea of diminishing returns for diminishing cost, effectively creating a ceiling to the effect and cost of a corporation. A mining inc. which gives +20 (raw/base) hammers to each city when you've acquired lots of resources is maybe a bit over the top. I think they didn't take this approach because it was deemed a too complicated model for a game (not that I agree).
     
  13. OTAKUjbski

    OTAKUjbski TK421

    Joined:
    Mar 4, 2007
    Messages:
    1,511
    Location:
    not at my post
    Given the formula -1 * ( H + R * S ) * P * C * D / I, we can see Firaxis is essential using R * S to determine the value of the resources used (in relation to the MapSize) before continuing along the formula.

    How about something like this instead ... diminish the value of the resources by dividing it by one of its roots before applying it to both the Benefits and the Fees:

    Code:
    V = 5
    
    Stored as <iWhatever> in CIV4WhateverInfo.xml
    
    R = R / ( R ^ ( 1 / V ) ) * S

    -or- also viewed as:

    Code:
                   R
    R = S * ( ----------- )
                     1
               R ^ ( - )
                     V
    
    The larger V is, the slower the resource value diminishes. With V = 5, the individual value of the resource diminishes to about 50% around 20 then stays in that region for a very long time.

    Spoiler what that looks like calculated out if V = 5 :

    Code:
    # of Resources	Value Per Resource	Total Value
    1.00			1.00		1.00
    2.00			0.87		1.74
    3.00			0.80		2.41
    4.00			0.76		3.03
    5.00			0.72		3.62
    6.00			0.70		4.19
    7.00			0.68		4.74
    8.00			0.66		5.28
    9.00			0.64		5.80
    10.00			0.63		6.31
    11.00			0.62		6.81
    12.00			0.61		7.30
    13.00			0.60		7.78
    14.00			0.59		8.26
    15.00			0.58		8.73
    16.00			0.57		9.19
    17.00			0.57		9.65
    18.00			0.56		10.10
    19.00			0.55		10.54
    20.00			0.55		10.99
    21.00			0.54		11.42
    22.00			0.54		11.86
    23.00			0.53		12.29
    24.00			0.53		12.71
    25.00			0.53		13.13
    26.00			0.52		13.55
    27.00			0.52		13.97
    28.00			0.51		14.38
    29.00			0.51		14.79
    30.00			0.51		15.19
    
    


    I don't really think that's too much math for a game, because this formula replaces another -- instead of making a population modifier formula to effect the base cost as a whole, there is instead a resource modifier formula to affect the value of a resource (instead of just using MapSize).

    You'd likely have to use a similar formula for the benefits, though this whole change would stand to make Corporations considerably less expensive & less effective than they are now, which would probably lead to yet another reduction of <iHeadquarterCommerce> -- making the HQ even less profitable.

    Plus, without a population modifier as a psuedo effeciency check, you could really abuse a system like this in large, high +whatever% bonus cities.

    I think I'm starting to see why they just went with the population modifier.

    Is it realistic, though?

    I know gameplay can't suffer from realism, but diminishing returns doesn't make sense. IRL, the more resources you can obtain and use, the more effecient (more production for cheaper) your system usually becomes.

    If anything, a Corporation's yields should keep rising as the cost diminishes. I think I'd vote to leave the Corporate Fee calculation the same for everything (including population) except to diminish the cost value of a resource as per the formula just mentioned above. The benefit value of a resource should remain the same ... at the most, it could be diminished using a very large V value.


    -- my 2 :commerce:
     
  14. Roland Johansen

    Roland Johansen Chieftain

    Joined:
    Apr 29, 2003
    Messages:
    4,292
    Location:
    the Netherlands
    @OTAKUjbski

    You're essentially replacing R by R^(4/5) (or in general R^(v-1/v) ). That's indeed a slower growing function (the closer v is to 1, the slower the function grows). Since R*S seems to be a more constant value when compared between various map sizes, you probably would want to use (R*S)^(4/5) and corporation benefits should be linearly related to that value. Then you'd get a system of diminishing returns for diminishing cost.

    Is that realistic? Mwah, the basic idea that 30 resources in a large 30 city empire is more than (actually 6 times as much as) 5 resources in a small 5 city empire is actually a bit weird. So using any kind of realism argument on corporations probably doesn't work. You'd need a real quantifiable resource system and distribution system in the game for that. Still corporations are a fun concept and if you don't think too much about it, then it works. More a monopoly kind of concept, cornering the market is efficient or something like that.

    I think replacing the factor P = (population +17)/18 by P = 2 would work adequately and wouldn't destabilise the game. It would just balance the cost of corporations on what they're now in size 19 cities. It would mean that the efficiency of corporations is just dependent on the level of development (factories, banks, universities, courthouses) of the city.

    By the way, is it difficult to change the model in such a way that the factor P is replaced by P=2?
     
  15. OTAKUjbski

    OTAKUjbski TK421

    Joined:
    Mar 4, 2007
    Messages:
    1,511
    Location:
    not at my post
    I'll have to defer your question to Bhruic or Solver, because I couldn't find anything in the XML assets identifying the population element ... I had to learn that one from pure analytical observation.

    That being said, I like the idea to equalize the costs based on a population 19 city. It doesn't address the "ballooning" problem, but it definitely solves the "infinite sprawl" strategy you mentioned before.
     
  16. Roland Johansen

    Roland Johansen Chieftain

    Joined:
    Apr 29, 2003
    Messages:
    4,292
    Location:
    the Netherlands
    I must say that you did a fine job if you got that formula just from analytical observation. It's not an easy formula. :goodjob:

    It does address the ballooning problem to some extent, namely that the increase in cost is restricted to a result of having many resources and not a quadratic effect from multiple resources and high population.
     
  17. OTAKUjbski

    OTAKUjbski TK421

    Joined:
    Mar 4, 2007
    Messages:
    1,511
    Location:
    not at my post
    Thanks to Bhruic and Solver for pointing it out, I have the real equation from CvCity.cpp:

    Spoiler Lines 5510 through 5553 :

    Code:
    int CvCity::calculateCorporationMaintenanceTimes100(CorporationTypes eCorporation) const
    {
    	int iMaintenance = 0;
    
    	for (int iCommerce = 0; iCommerce < NUM_COMMERCE_TYPES; ++iCommerce)
    	{
    		iMaintenance += 100 * GC.getCorporationInfo(eCorporation).getHeadquarterCommerce(iCommerce);
    	}
    
    	int iNumBonuses = 0;
    	for (int i = 0; i < GC.getNUM_CORPORATION_PREREQ_BONUSES(); ++i)
    	{
    		BonusTypes eBonus = (BonusTypes)GC.getCorporationInfo(eCorporation).getPrereqBonus(i);
    		if (NO_BONUS != eBonus)
    		{
    			iNumBonuses += getNumBonuses(eBonus);
    		}
    	}
    
    	int iBonusMaintenance = GC.getCorporationInfo(eCorporation).getMaintenance() * iNumBonuses;
    	iBonusMaintenance *= GC.getWorldInfo(GC.getMapINLINE().getWorldSize()).getCorporationMaintenancePercent();
    	iBonusMaintenance /= 100;
    	iMaintenance += iBonusMaintenance;
    
    	iMaintenance *= (getPopulation() + 17);
    	iMaintenance /= 18;
    
    	iMaintenance *= GC.getHandicapInfo(getHandicapType()).getCorporationMaintenancePercent();
    	iMaintenance /= 100;
    
    	iMaintenance *= std::max(0, (GET_PLAYER(getOwnerINLINE()).getCorporationMaintenanceModifier() + 100));
    	iMaintenance /= 100;
    
    	int iInflation = GET_PLAYER(getOwnerINLINE()).calculateInflationRate() + 100;
    	if (iInflation > 0)
    	{
    		iMaintenance *= 100;
    		iMaintenance /= iInflation;
    	}
    
    	FAssert(iMaintenance >= 0);
    
    	return iMaintenance;
    }
    

    Specifically:
    Code:
    	iMaintenance *= (getPopulation() + 17);
    	iMaintenance /= 18;
    
    When I first calculated the formula when BtS released, I did it by trial and error analyzing the Corporate Fees in-game as different elements changed. Luckily, I know enough math and have enough experience analyzing data to pick out the pattern.

    Looking at the code, though, I feel like I wasted a lot of time doing it the hard way. :blush:
     
  18. KrikkitTwo

    KrikkitTwo Immortal

    Joined:
    Apr 3, 2004
    Messages:
    12,313
    One thought as to why the pop multplier is in there... All forms of 'city maintenance' have a population multiplier, and except for distance, it is the exact same multiplier for city number, colonial costs, and corporation

    (Pop+17)/18
     
  19. Roland Johansen

    Roland Johansen Chieftain

    Joined:
    Apr 29, 2003
    Messages:
    4,292
    Location:
    the Netherlands
    Thank you for that. It doesn't look very complicated, easy enough to change it into a factor of 2 if I wanted to. Thanks for posting this. It has given me some confidence that I might actually be able to mess with the various formulas in the game (for my own personal mod of the game).

    By the way, I've done the same with a civic upkeep and unit upkeep article. I did it the hard way just by testing and finding a pattern in the world builder.

    Looking into the code is for the lazy guys. We want a real challenge. ;)

    Yes, I'm quite familiar with the multiplier. I've seen it in many formulas. And while your explanation can explain their choice, I still don't think it was a good one.

    The corporations have a whole balance system on their own, rather independent from the various other game elements. Their costs should just be balanced against their benefits and not against a rather unrelated element like the size of the population of the city.
     
  20. VirusMonster

    VirusMonster Quechua General

    Joined:
    Mar 18, 2006
    Messages:
    619
    Location:
    at home :)
    Super article! you must have put much effort for creating this one :)

    The only possible extention to this article I can think of would be a guide on how map types&sizes&climate settings adjust the number of resources spawned on the map. You don't have to include such section to your article, but could refer to another article... I assume on huge maps corporations are significantly stronger, but perhaps you could document by how much they are stronger.

    Again great article, very detailed with many examples, I wished I could vote 6stars =)
     

Share This Page