gamemanual:gm_factories
Table of Contents
Factory Game Mechanics
The Game Mechanics section of the manual details the internal formula used in the game's calculations. This section of the manual uses pseudo-code and may not be 100% the same as the code in the game.
The Game Mechanics part of the manual is mainly designed to be a reference for the frequently asked question, “Why do I get this rating when I do X, Y, Z?!” Usually, this answer involves many different variables, which this section of the manual demonstrates.
The game mechanics section of the manual shows how the sausage gets made. So you really may want to avoid this portion of the manual if you enjoy the game.
Variables
This is a table of variables and their descriptions used in the formulas.
Variable | Description | Variable | Description | |
---|---|---|---|---|
Factory_Map_Adjustment | This is the factory adjustment value found in the map's MapFileForGame.xml file | Lobbying_Maximum | The maximum amount of money you can spend on lobbying. | |
Manufacturing_Skills | Parent company's Manufacturing skills divided by 100 | Equipment_Wear | For new factories, this value is set to 1. | |
City_Resources | Resource Rating for the selected city | Max_City_Resources | Highest resource rating for all cities in the game. | |
City_Infrastructure | Infrastructure Rating for the selected city | City_Manufacturing | Manufacturing Rating for the selected city | |
Difficulty | Difficulty level the player selected at the start of the game | Lobbying_Funds | Player's current spending effect on lobbying. (Spending effect slowly trails monthly lobbying spending amount until it catches up to the spending amount.) | |
Car_Manufacturing_Requirements | Selected Vehicle's Manufacturing Requirements Rating | Car_Chassis_Outsourced | True if the select car uses an outsourced chassis. | |
Car_Engine_Outsourced | True if the select car uses an outsourced engine. | Car_Gearbox_Outsourced | True if the select car uses an outsourced gearbox. | |
Factory_Tooling_Year | The last year that the factory was retooled, recondition, built, or redesigned | Factory_Built_Year | The year that the factory was built or redesigned. | |
Lines_Used | The number of factory lines being used. | Current_Production_Lines | The number of factory lines being used. | |
Upgrade_Amount | Values are 0 for “Minor”, 1 for “Medium”, and 2 for “Max.” | Upgrade_Attempt | The number of times you have upgraded this factory since you built or redesigned it. | |
Employee_Difficulty | Value is based on the player's difficulty level. Easy: 30, Normal: 20, Hard/Nightmare: 10 | Wear | Factory wear value between 0 and 1. | |
year | Current game year | |||
ex_1d002p_year99 | 1.002^(year-1899) | ex_1d005p_year99 | 1.005^(year-1899) | |
ex_1d012p_year99 | 1.012^(year-1899) | ex_1d015p_year99 | 1.015^(year-1899) | |
ex_1d01p_year99 | 1.01^(year-1899) | ex_1d018p_year99 | 1.018^(year-1899) | |
ex_1d03p_year99 | 1.03^(year-1899) | ex_1d04p_year99 | 1.04^(year-1899) |
Sliders
Variable | Description | Variable | Description | |
---|---|---|---|---|
Slider_Production_Capacity | This is the production line slider. | Slider_Factory_Tech | This is the factory tech slider. | |
Slider_Factory_ProductionSpeed | The production quality or quantity slider when assigning production lines. |
Factory Ratings
Production Technologies
Production_Tech = (((Slider_Factory_Tech*1900+City_Infrastructure*5+(City_Manufacturing * (City_Resources/Max_City_Resources)))/2500*Equipment_Wear)) * 100 if(Production_Tech > 100) Production_Tech = 100
Factory Overall Rating
Factory_Overall = 1 + ((Slider_Production_Capacity * 200 + (Production_Tech*3))/ 5.0)
Maximum Build
Maximum_Build = ((3*Factory_Map_Adjustment + ((17*(Slider_Production_Capacity*100))/100.0)) * (ex_1d015p_year99) + ((3*ex_1d005p_year99)*Manufacturing_Skills)) Maximum_Build = Maximum_Build * Factory_Map_Adjustment Maximum_Build = 1 + Maximum_Build * Slider_Production_Capacity
Build Turns
MaxLine_Percent = ((3*Factory_Map_Adjustment + 17) * (ex_1d015p_year99) + ((3 * ex_1d005p_year99) * Manufacturing_Skills)) MaxLine_Percent = MaxLine_Percent * Factory_Map_Adjustment MaxLine_Percent = Maximum_Build / MaxLine_Percent Build_Turns = 5^(1+Slider_Factory_Tech/1.3) * ((Factory_Overall/100)*(50/City_Infrastructure)+City_Resources) + (12*ex_1d01p_year99*MaxLine_Percent)
Construction Costs
if(2021 > year) { Construction_Costs = ((175000 * ex_1d04p_year99) + (40000 * ex_1d03p_year99) + (50000 * 0.985^Maximum_Build) + ((1000 * ex_1d018p_year99) * (60/(City_Infrastructure+1.0))^((year-1899)/24.0))) + ((City_PerCapita / (City_Infrastructure/30)) * City_Resources*(City_PerCapita/10)) * (Maximum_Build * 1.25) } else { Construction_Costs = ((175000 * ex_1d04p_year99) + ((40000) * ex_1d03p_year99) + (50000 * (0.985^Maximum_Build))+ ((1000 * ex_1d018p_year99) * (60/(City_Infrastructure+1.0))^(121/24.0))) + ((City_PerCapita / (City_Infrastructure/30)) * City_Resources*(City_PerCapita/10)) * (Maximum_Build * 1.25) } Construction_Costs = Construction_Costs + (Construction_Costs * 0.5 * Slider_Factory_Tech) if(Difficulty = 0) Construction_Costs = (Construction_Costs / 1.35) + 1 else if(Difficulty = 2) Construction_Costs = (Construction_Costs * 1.1) + 1
Lobbying Savings
Lobbying_Savings = (Construction_Costs * (0.1 * (Lobbying_Funds/Lobbying_Maximum))) Construction_Costs = Construction_Costs - Lobbying_Savings
Monthly Full Production Costs
Full_Monthly_Costs = Construction_Costs * 0.01 * ex_1d002p_year99 * (Slider_Factory_Tech + 1)^1.01 if(Difficulty = 0) Full_Monthly_Costs = (Full_Monthly_Costs / 1.25) + 1 else if(Difficulty = 2) Full_Monthly_Costs = (Full_Monthly_Costs * 1.1) + 1 Full_Monthly_Costs = Full_Monthly_Costs + (Full_Monthly_Costs*0.18);
Factory Upgrade
Production Lines
Production_Lines = Current_Production_Lines + (1*Factory_Map_Adjustment + (0.05*(year-1899)+1*Factory_Map_Adjustment)*Upgrade_Amount)
Upgrade Costs
NewLines = Production_Lines - Current_Production_Lines Upgrade_Cost = (((175000 * ex_1d04p_year99) + (40000 * ex_1d03p_year99) + (40000 * 0.985^ Production_Lines)+ ((1000 * ex_1d018p_year99) * (60/(City_Infrastructure+1.0))^((year-1899)/24.0)) + ((City_PerCapita / (City_Infrastructure/30.0)) * City_Resources*(City_PerCapita/10))) * (NewLines*1.25))*((Upgrade_Attempt+1)^1.5) Upgrade_Cost = Upgrade_Cost + (Upgrade_Cost * 0.5 * Slider_Factory_Tech) if(Difficulty = 0) Upgrade_Cost = (Upgrade_Cost / 1.35) + 1 else if(Difficulty = 2) Upgrade_Cost = (Upgrade_Cost * 1.25) + 1
Factory Recondition
Costs
Recondition_Costs = Wear * (5000 *1.05^(year - (Factory_Built_Year-1))) + (15000*ex_1d012p_year99)
Production
Maximum Production Amount
Manufacturing_Difference = Production_Tech / Car_Manufacturing_Requirements if(Manufacturing_Difference<0.33) Manufacturing_Difference = 0.33 else if(Manufacturing_Difference>1.67) Manufacturing_Difference = 1.67 if(Factory_Tooling_Year > 1949) Tooling_Year_Change = 5 else Tooling_Year_Change = -0.0016*(((Factory_Tooling_Year-1899)-50)* ((Factory_Tooling_Year-1899)-50)) + 5 if(Car_Chassis_Outsourced) { Outsource_Output_Boost += 0.1; Outsource_Employee_Reduction -= -0.1; } if(Car_Engine_Outsourced) { Outsource_Output_Boost += 0.1; Outsource_Employee_Reduction -= -0.1; } if(Car_Gearbox_Outsourced) { Outsource_Output_Boost += 0.1; Outsource_Employee_Reduction -= -0.1; } if(year < 2021) { Production_Amount = ((1+ ((25 * (Manufacturing_Difference) * Outsource_Output_Boost * Tooling_Year_Change * 1.01^(Factory_Tooling_Year-1899)) + ((( (Production_Tech^2)/(2026 - Factory_Tooling_Year))) ) + ((Factory_Tooling_Year-1899)*2)) * Slider_Factory_ProductionSpeed)*Lines_Used) } else { Production_Amount = ((1+ ((25 * (Manufacturing_Difference) * Outsource_Output_Boost * Tooling_Year_Change * (1.01^121)) + ((Production_Tech^2)/6) + ((121)*2)) * Slider_Factory_ProductionSpeed)*Lines_Used) }
Component Production
Production_Amount = (((10 * Production_Tech) * 2) - (10 * Equipment_Wear) + (10 * (Factory_Tooling_Year - 1899)) ) * ((Production_Tech)/(Manufacturing_Requirement+1)) if(Production_Amount < 0) Production_Amount = 0 Production_Amount = Production_Amount + 50
Employee
if(year < 2021) Employees = (Production_Amount/Employee_Difficulty * (15*((Factory_Tooling_Year-1898.5)^-0.8))) + ((Slider_Factory_ProductionSpeed+0.1)*Lines_Used) * (20.0 + (1.339 * (2021-Factory_Tooling_Year)) - (.014 * ((2021-Factory_Tooling_Year)*(2021-Factory_Tooling_Year))) + (.0000787 * ((2021-Factory_Tooling_Year)*(2021-Factory_Tooling_Year)*(2021-Factory_Tooling_Year)))) else Employees = (Production_Amount/Employee_Difficulty * (15*((121.5),-0.8))) + ((Slider_Factory_ProductionSpeed+0.1)*Lines_Used) * (20.0 + (1.339 *(1)) - (.014 * ((1)*(1))) + (.0000787 * ((1)*(1)*(1)))) Employees = Employees * Outsource_Employee_Reduction if(Employees <1) Employees = 0
gamemanual/gm_factories.txt · Last modified: 2022/07/18 17:47 by admin