====== 工場ゲームメカニクス ======
マニュアルのゲームメカニクスセクションは、ゲームの計算で使用される内部式の詳細を説明します。マニュアルのこのセクションは疑似コードを使用しており、ゲーム内のコードと100%同じとは限りません。
マニュアルのゲームメカニクスパートは、主に "なぜX、Y、Zをするとこの評価になるのか?"というよくある質問に対するリファレンスとして設計されています。通常、この答えには多くの異なる変数が含まれており、マニュアルのこのセクションではそれを実証しています。
**マニュアルのゲームメカニクスセクションは、[[https://idioms.thefreedictionary.com/seeing+how+the+sausage+gets+made|ソーセージがどのように作られるか]]を示しています。ですから、ゲームを楽しむなら、このマニュアルの部分は避けた方がいいかもしれません。**
===== 変数 =====
計算式で使用する変数とその説明の表です。
^ 変数 ^ 説明 ^ ^ 変数 ^ 説明 ^
| **Factory_Map_Adjustment** | マップのMapFileForGame.xmlにある工場出荷時の調整値です。 | | **Lobbying_Maximum** | ロビー活動に費やせる金額の上限。 |
| **Manufacturing_Skills** | 親会社の製造業を100で割った値 | | **Equipment_Wear** | 新しい工場の場合、この値は1に設定されます。 |
| **City_Resources** | 選択した都市の原材料評価 | | **Max_City_Resources** | ゲーム内の全都市の原材料評価の最高値。 |
| **City_Infrastructure** | 選択した都市のインフラ評価 | | **City_Manufacturing** | 選択した都市の製造業評価 |
| **Difficulty** | プレイヤーがゲーム開始時に選択した難易度 | | **Lobbying_Funds** | プレイヤーの現在のロビー活動への支出効果。(ロビー活動への支出効果は、毎月のロビー活動支出額に追いつくまで、ゆっくりと追いかけます。) |
| **Car_Manufacturing_Requirements** | 選択した車両の製造要件評価 | | **Car_Chassis_Outsourced** | 選択した車両が外注のシャーシを使用している場合、真になります。 |
| **Car_Engine_Outsourced** | 選択した車両が外注のエンジンを使用している場合、真になります。 | | **Car_Gearbox_Outsourced** | 選択した車両が外注のギアボックスを使用している場合、真になります。 |
| **Factory_Tooling_Year** | 工場が再設計、修繕、建設、された最後の年 | | **Factory_Built_Year** | 工場が建設または再設計された年。 |
| **Lines_Used** | 使用されている工場のライン数。 | | **Current_Production_Lines** | 使用されている工場のライン数。 |
| **Upgrade_Amount** | 値は、「小規模」は0、「中規模」は1、「最大」は2です。 | | **Upgrade_Attempt** | この工場を建設または再設計してから、アップグレードした回数です。 |
| **Employee_Difficulty** | 値はプレイヤーの難易度によって変化します。イージー:30、ノーマル:20、ハード/ナイトメア:10 | | **Wear** | 工場の損耗度合いを0〜1の間で指定します。 |
| **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) |
==== スライダー ====
^ 変数 ^ 説明 ^ ^ 変数 ^ 説明 ^
| **Slider_Production_Capacity** | これは生産ライン用スライダーです。 | | **Slider_Factory_Tech** | 工場技術スライダーです。 |
| **Slider_Factory_ProductionSpeed** | 生産ラインを割り当てる際の品質や生産数量のスライダーです。 | | **** | |
===== 工場評価 =====
==== 生産技術 ====
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 = 1 + ((Slider_Production_Capacity * 200 + (Production_Tech*3))/ 5.0)
==== 最大建設 ====
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
==== 建設ターン ====
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)
==== 建設費 ====
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 = (Construction_Costs * (0.1 * (Lobbying_Funds/Lobbying_Maximum)))
Construction_Costs = Construction_Costs - Lobbying_Savings
==== 月次フル生産コスト ====
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);
===== 工場のアップグレード =====
==== 生産ライン ====
Production_Lines = Current_Production_Lines + (1*Factory_Map_Adjustment +
(0.05*(year-1899)+1*Factory_Map_Adjustment)*Upgrade_Amount)
==== アップグレード費用 ====
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
===== 工場修繕 =====
==== 費用 ====
Recondition_Costs = Wear * (5000 *1.05^(year - (Factory_Built_Year-1))) + (15000*ex_1d012p_year99)
===== 生産 =====
==== 最大生産台数 ====
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)
}
==== 部品生産 ====
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
==== 従業員 ====
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