====== シャーシのゲームメカニクス ======
マニュアルのゲームメカニクスセクションでは、ゲームの計算で使用される内部式の詳細を説明します。このセクションでは擬似的なコードを使用しており、ゲーム内のコードと100%同じではない可能性があります。
マニュアルのゲームメカニクスパートは、主に 「なぜX、Y、Zをするとこの評価になるのか?」というよくある質問に対する参考資料として作成されています。通常、この答えには多くの異なる変数が含まれますが、マニュアルのこのセクションではそれを実証しています。
**マニュアルのゲームメカニクスセクションは、[[https://idioms.thefreedictionary.com/seeing+how+the+sausage+gets+made|ソーセージがどのように作られるか]]を示しています。ですから、ゲームを楽しむなら、このマニュアルの部分は避けた方がいいかもしれません。**
===== 変数 =====
計算式で使用する変数とその説明の表です。
==== スライダー ====
^ 変数 ^ 説明 ^ ^ 変数 ^ 説明 ^
| **Slider_FD_Length** | スライダー:フレーム寸法 ⇒ ホイールベース (長さ) | | **Slider_FD_Width** | スライダー:フレーム寸法 ⇒ トラック (幅) |
| **Slider_FD_Height** | スライダー:フレーム寸法 ⇒ フレームの高さ | | **Slider_FD_Weight** | スライダー:フレーム寸法 ⇒ フレーム重量 |
| **Slider_FD_ENG_Width** | スライダー:フレーム寸法 ⇒ 最大対応エンジン幅 | | **Slider_FD_ENG_Length** | スライダー:フレーム寸法 ⇒ 最大対応エンジン長 |
| **Slider_SUS_Stability** | スライダー: サスペンション ⇒ 安定性 | | **Slider_SUS_Comfort** | スライダー: サスペンション ⇒ 乗り心地 |
| **Slider_SUS_Performance** | スライダー: サスペンション ⇒ パフォーマンス | | **Slider_SUS_Braking** | スライダー: サスペンション ⇒ ブレーキ力 |
| **Slider_SUS_Durability** | スライダー: サスペンション ⇒ 耐久性 | | **Slider_DE_Performance** | スライダー: デザインフォーカス ⇒ デザインのパフォーマンス |
| **Slider_DE_Control** | スライダー: デザインフォーカス ⇒ デザインコントロール | | **Slider_DE_Str** | スライダー: デザインフォーカス ⇒ デザインの強度 |
| **Slider_DE_Depend** | スライダー: デザインフォーカス ⇒ デザインのディペンダビリティ | | **Slider_DesignPace** | スライダー: デザインフォーカス ⇒ 開発ペース |
| **Slider_TECH_Materials** | スライダー: 部品品質 ⇒ 材料品質 | | **Slider_TECH_Compoenents** | スライダー: 部品品質 ⇒ 部品品質 |
| **Slider_TECH_Techniques** | スライダー: 部品品質 ⇒ 製造技術 | | **Slider_TECH_Tech** | スライダー: 部品品質 ⇒ 技術 |
==== サブコンポーネント ====
^ 変数 ^ 説明 ^ ^ 変数 ^ 説明 ^
| **SubComponent_Frame_Str** | フレーム強度値 | | **SubComponent_Frame_Safety** | フレーム安全性値 |
| **SubComponent_Frame_Durability** | フレーム耐久性値 | | **SubComponent_Frame_Weight** | フレーム重量値 |
| **SubComponent_Frame_Design** | フレーム設計要件値 | | **SubComponent_Frame_Manu** | フレーム製造要件値 |
| **SubComponent_Frame_Cost** | フレームコスト要件値 | | **SubComponent_Frame_Performance** | フレームパフォーマンス値 |
| **SubComponent_FrSus_Steering** | フロントサスペンション操縦性値 | | **SubComponent_FrSus_Braking** | フロントサスペンションブレーキ力値 |
| **SubComponent_FrSus_Comfort** | フロントサスペンション快適性値 | | **SubComponent_FrSus_Performance** | フロントサスペンションパフォーマンス値 |
| **SubComponent_FrSus_Durability** | フロントサスペンション耐久値 | | **SubComponent_FrSus_Manu** | フロントサスペンション製造要件値 |
| **SubComponent_FrSus_Design** | フロントサスペンション設計要件値 | | **SubComponent_FrSus_Cost** | フロントサスペンションコスト要件値 |
| **SubComponent_RrSus_Braking** | リアサスペンションブレーキ力値 | | **SubComponent_RrSus_Steering** | リアサスペンション操縦性値 |
| **SubComponent_RrSus_Performance** | リアサスペンションパフォーマンス値 | | **SubComponent_RrSus_Comfort** | リアサスペンション快適性値 |
| **SubComponent_RrSus_Manu** | リアサスペンション製造要件値 | | **SubComponent_RrSus_Durability** | リアサスペンション耐久値 |
| **SubComponent_RrSus_Cost** | フロントサスペンションコスト要件値 | | **SubComponent_RrSus_Design** | フロントサスペンション設計要件値 |
| **SubComponent_Drive_rideSteering** | ドライブトレイン運転性値 | | **SubComponent_Drive_ridePerformance** | パフォーマンス操縦性値 |
| **SubComponent_Drive_Duriblity** | ドライブトレイン耐久値 | | **SubComponent_Drive_Weight** | ドライブトレイン重量値 |
| **SubComponent_Drive_carPerformance** | ドライブトレインパフォーマンス値e | | **SubComponent_Drive_Manu** | ドライブトレイン製造要件値 |
| **SubComponent_Drive_Design** | ドライブトレイン設計要件値 | | **SubComponent_Drive_Cost** | ドライブトレインコスト要件値 |
| **SubComponent_Drivetain_Engine_Width** | ドライブトレイン最大対応エンジン幅値 | | **SubComponent_Drivetain_Engine_Length** | ドライブトレイン最大対応エンジン長値 |
==== グローバル ====
^ 変数 ^ 説明 ^ ^ 変数 ^ 説明 ^
| **Year** | 現在のゲーム年 | | **Marq_DesignChassisSkill** | 選択したブランドのシャーシデザインスキル |
| **Global_Lengths** | TurnEvents.xmlファイルで定義されているグローバル車両の長さ変数 | | **Global_Weight** | TurnEvents.xmlファイルで定義されているグローバル車両の幅変数 |
| **PreResearchChassisAmountEffect** | 研究チームのボーナスでシャーシ設計を行う | | **designRandomVal** | 出来映えイメージ/スキル評価によるランダムな変動。 |
| **carPriceRate** | TurnEvents.xmlファイルで定義されているグローバル車両コスト変数 | | | |
| **ex_0d9962p_year99** | 0.9962%%^%%(year-1899) | | **ex_1d003p_year99** | 1.003%%^%%(year-1899) |
| **ex_1d005p_year99** | 1.005%%^%%(year-1899) | | **ex_1d015p_year99** | 1.015%%^%%(year-1899) |
| **ex_1d02p_year99** | 1.02%%^%%(year-1899) | | **ex_1d025p_year99** | 1.025%%^%%(year-1899) |
| **ex_1d028p_year99** | 1.028%%^%%(year-1899) | | **ex_1d032p_year99** | 1.032%%^%%(year-1899) |
| **ex_1d045p_year99** | 1.045%%^%%(year-1899) | | | |
===== 仕様 =====
==== シャーシ長 ====
シャーシ長 cm。
Chassis_Length = (145 + Global_Lengths * (2.3*Slider_FD_Length)) - ((Global_Lengths * 0.5)/5)
==== シャーシ幅 ====
シャーシ幅 cm。
Chassis_Width = (100 + Global_Width * Slider_FD_Width + 20 * Slider_FD_Length)
==== シャーシ重量 ====
シャーシ重量 kg。
Chassis_Weight = 40 + ((Global_Weight) * (1.25*Slider_FD_Weight+0.1) +
((Global_Weight*.5)*(6*Slider_FD_Length+0.1)) +
((Global_Weight/15)*(3.3*Slider_FD_Width+0.1)) +
((Global_Weight/20)*(2*Slider_FD_Height+0.1)) +
((Global_Weight/5)*(5*SubComponent_Frame_Weight+0.1)) +
((Global_Weight/10)*(3*SubComponent_Drive_Weight+0.1)) -
((Global_Weight/5)*(Slider_TECH_Materials)) -
((Global_Weight/8)*(Slider_DE_Performance)) -
((Global_Weight/11)*(Slider_TECH_Techniques)))
if year is less than 1981)
Chassis_Weight /= (2.0 * ex_0d9962p_year99)
else
Chassis_Weight /= (1.469262941607760500229789005264 )
==== 最大エンジン長 ====
最大エンジン長 インチ。
Max_Engine_Length = (8 + ((((Global_Lengths*2.25) / 24) *
((Slider_FD_Length+.1)*2.5)) + ((Global_Lengths*2.25) / 24) *
(Slider_FD_ENG_Length+.1)))*SubComponent_Drivetain_Engine_Length
==== 最大エンジン幅 ====
最大エンジン幅 インチ。
Max_Engine_Width = (8 + ((12 * ((Slider_FD_Width+0.1))*2.5) + 13 *
(1.25*Slider_FD_ENG_Width + 0.1)))*SubComponent_Drivetain_Engine_Width
===== 評価 =====
==== 快適性評価 ====
0-100に制限される値。
Comfort_Rating = ((Slider_DE_Control ) + (SubComponent_Drive_rideSteering) +
(Slider_FD_Weight ) + (SubComponent_FrSus_Braking +
SubComponent_RrSus_Braking + Slider_SUS_Braking * 4.5) +
(SubComponent_FrSus_Comfort + SubComponent_RrSus_Comfort +
Slider_SUS_Comfort * 6 ) + (SubComponent_FrSus_Steering +
SubComponent_RrSus_Steering + Slider_SUS_Stability * 4.5) +
((Slider_TECH_Compoenents + Slider_TECH_Materials +
Slider_TECH_Tech + Slider_TECH_Techniques)/2))
Comfort_Rating /= 2.6
Comfort_Rating *= 10
Comfort_Rating += (10 * (Marq_DesignChassisSkill/100.0))
if Comfort_Rating is greater than 100
Comfort_Rating = 100
==== パフォーマンス評価 ====
0-100 に制限される値。
Performance_Rating = Slider_SUS_Braking*2 +(Slider_DE_Performance) -
(Slider_FD_Weight*2)+ (Slider_SUS_Performance*4)+
(SubComponent_FrSus_Steering)+(SubComponent_RrSus_Steering)+
((Slider_TECH_Compoenents+Slider_TECH_Materials*2+
Slider_TECH_Tech+Slider_TECH_Techniques)/2.0)+
SubComponent_FrSus_Performance + SubComponent_RrSus_Performance +
SubComponent_Frame_Performance + SubComponent_Drive_carPerformance*2 -
(Slider_FD_Length+Slider_FD_Width)+(1.0-Slider_SUS_Stability)
Performance_Rating /= 2.0
Performance_Rating *= 10
Performance_Rating += (10 * (Marq_DesignChassisSkill/100.0))
if Performance_Rating is greater than 100
Performance_Rating = 100
==== 強度評価 ====
0-100 に制限される値。
Strength_Rating = (((SubComponent_Drive_Weight + SubComponent_Frame_Weight)/4) +
Slider_FD_Weight*2 + ((SubComponent_Drive_Duriblity + SubComponent_Frame_Durability +
SubComponent_RrSus_Durability + SubComponent_FrSus_Durability )/6) +
Slider_FD_Height * 5 + SubComponent_Frame_Str*8 + Slider_DE_Str +
((Slider_TECH_Compoenents*2 + Slider_TECH_Materials*2 +
Slider_TECH_Tech*2 + Slider_TECH_Techniques*2)/2)+(Slider_FD_Length))
Strength_Rating /= 2.6
Strength_Rating *= 10
Strength_Rating += (10 * (Marq_DesignChassisSkill/100.0))
if Strength_Rating is greater than 100
Strength_Rating = 100
==== 耐久性評価 ====
0-100 に制限される値。
Durability_Rating = Slider_DE_Depend*0.5 + SubComponent_Drive_Duriblity*1.5 +
SubComponent_Frame_Durability*1.5 + ((SubComponent_FrSus_Durability +
SubComponent_RrSus_Durability)/2) + Slider_SUS_Durability*2.5 +
((Slider_TECH_Compoenents + Slider_TECH_Materials +
Slider_TECH_Techniques - Slider_TECH_Tech))
Durability_Rating *= 10
Durability_Rating += (10 * (Marq_DesignChassisSkill/100.0))
if Durability_Rating is greater than 100
Durability_Rating = 100
==== 総合評価 ====
0-100 に制限される値。
Overall_Rating = (Comfort_Rating + Performance_Rating +
Strength_Rating + Durability_Rating + Marq_DesignChassisSkill)/5
Overall_Rating += (5*PreResearchChassisAmountEffect)
if Overall_Rating is greater than 100
Overall_Rating = 100
==== 設計要件 ====
0-100 に制限される値。
Design_Req = (Slider_DE_Control + Slider_DE_Depend + Slider_DE_Performance
+ Slider_DE_Str + SubComponent_Drive_Design + SubComponent_Frame_Design
+ SubComponent_FrSus_Design + SubComponent_RrSus_Design)
Design_Req += ((Slider_FD_ENG_Length + Slider_FD_ENG_Width + (1- Slider_FD_Weight)
+ Slider_SUS_Braking + Slider_SUS_Comfort + Slider_SUS_Durability
+ Slider_SUS_Performance + Slider_TECH_Tech)/4)
Design_Req = (Design_Req - Slider_TECH_Techniques) * 10
==== 製造要件 ====
Manufacturing_Req = ((SubComponent_Frame_Weight/2) + Slider_SUS_Durability + Slider_DE_Depend
+ Slider_TECH_Compoenents + Slider_TECH_Materials + Slider_TECH_Tech
+ (Slider_TECH_Techniques * 1.5) + SubComponent_Frame_Manu + SubComponent_Drive_Manu
+ SubComponent_FrSus_Manu + SubComponent_RrSus_Manu);
Manufacturing_Req = Manufacturing_Req * 10 + 0.01;
===== その他 =====
==== 必要な従業員数 ====
if year before 2021
Engineers_Required = Design_Req * (0.08833*(year-1899)+0.275);
else
Engineers_Required = Design_Req * (0.08833*(121)+0.275);
Engineers_Required = Engineers_Required/5 + ((Engineers_Required/1.2)*Slider_DesignPace) + 2;
==== 製造コスト ====
Costs_Dimension_Sliders = (Slider_FD_Height * Slider_FD_Height) +
(Slider_FD_Length * Slider_FD_Length*1.2) +
(Slider_FD_Width*Slider_FD_Width) + ((1-Slider_FD_Weight) *
(1-Slider_FD_Weight)) +
(Slider_FD_ENG_Length * Slider_FD_ENG_Length*0.8) +
(Slider_FD_ENG_Width *Slider_FD_ENG_Width *0.8)
Costs_Frame = ((Costs_Dimension_Sliders * (25* ex_1d015p_year99) *
SubComponent_Drive_Cost)
* SubComponent_Frame_Cost) * ex_1d015p_year99 * (carPriceRate)
Costs_Frame = 15 * ex_1d02p_year99+ Costs_Frame + 1 + (.04 * Costs_Frame) +
(15 * ex_1d015p_year99 * SubComponent_Drive_Cost) +
(15 * ex_1d015p_year99 * SubComponent_Frame_Cost)
Costs_Suspensions_Sliders = (Slider_SUS_Braking * Slider_SUS_Braking * 0.75) +
(Slider_SUS_Comfort * Slider_SUS_Comfort *1.25 ) +
(Slider_SUS_Performance * Slider_SUS_Performance *1.2 )+
(Slider_SUS_Durability * Slider_SUS_Durability *1.35 ) +
(Slider_SUS_Stability * Slider_SUS_Stability )
Costs_Suspension = (( Costs_Suspensions_Sliders * (20 * ex_1d02p_year99) *
SubComponent_FrSus_Cost) * SubComponent_RrSus_Cost) *
ex_1d015p_year99 * (carPriceRate)
Costs_Suspension = 15 * ex_1d02p_year99+ Costs_Suspension +
1 + (.04 * Costs_Suspension) +
(15 * ex_1d015p_year99 * SubComponent_FrSus_Cost) +
(15 * ex_1d015p_year99 * SubComponent_RrSus_Cost)
Costs_Tech_Sliders = (Slider_TECH_Compoenents * Slider_TECH_Compoenents * 1.15) +
(Slider_TECH_Materials * Slider_TECH_Materials * 1.25) +
(Slider_TECH_Tech * Slider_TECH_Tech * 1.25) +
(Slider_TECH_Techniques * Slider_TECH_Techniques * 0.75)
Costs_Tech = Costs_Tech_Sliders * (30 * ex_1d015p_year99) * (carPriceRate)
Costs_Tech = 15 * ex_1d015p_year99+ Costs_Tech + 1 + (.04 * Costs_Tech)
Costs_Hyper_Sliders = ((Slider_DE_Control + Slider_DE_Depend +
Slider_DE_Performance + Slider_DE_Str) +
(Slider_FD_Length+ Slider_FD_Width+ Slider_FD_Height +
(1-Slider_FD_Weight)+ Slider_FD_ENG_Width + Slider_FD_ENG_Length) +
(Slider_SUS_Stability + Slider_SUS_Comfort + Slider_SUS_Performance +
Slider_SUS_Braking+Slider_SUS_Durability) +
(Slider_TECH_Materials+ Slider_TECH_Compoenents +
Slider_TECH_Techniques + Slider_TECH_Tech))/19.0
Costs_Hyper = 450 * ex_1d045p_year99 * (Costs_Hyper_Sliders^4)
Manufacturing_Costs = ((Costs_Frame + Costs_Suspension + Costs_Tech) *
(carPriceRate)) * designRandomVal
Manufacturing_Costs += Manufacturing_Costs-((Manufacturing_Costs/10.0)
* (Marq_DesignChassisSkill/100.0))
==== 設計コスト ====
DesignCosts_FrameSliders = (Slider_FD_ENG_Length * Slider_FD_ENG_Length ) +
(Slider_FD_ENG_Width * Slider_FD_ENG_Width) +
(Slider_FD_Height *Slider_FD_Height ) +
(Slider_FD_Length * Slider_FD_Length * 1.2) +
(Slider_FD_Width * Slider_FD_Width * 0.8) +
(1-(Slider_FD_Weight * Slider_FD_Weight * 0.8))
DesignCosts_Frame = DesignCosts_FrameSliders * (7000 * ex_1d028p_year99)
DesignCosts_Frame = (DesignCosts_Frame + 5000 ) *
SubComponent_Frame_Design * SubComponent_Drive_Design;
DesignCosts_SuspensionSliders = (Slider_SUS_Braking * Slider_SUS_Braking * 0.8 ) +
(Slider_SUS_Comfort * Slider_SUS_Comfort * 1.2) +
(Slider_SUS_Durability * Slider_SUS_Durability * 1.25) +
(Slider_SUS_Performance * Slider_SUS_Performance * 1.15 ) +
(Slider_SUS_Stability * Slider_SUS_Stability * 1.05)
DesignCost_Suspension = DesignCosts_SuspensionSliders * (9000 * ex_1d028p_year99)
DesignCost_Suspension = (DesignCost_Suspension + 2500) *
SubComponent_FrSus_Design * SubComponent_RrSus_Design
DesignCosts_DesignSliders = (Slider_DE_Control*Slider_DE_Control*10) +
(Slider_DE_Depend*Slider_DE_Depend*10) +
(Slider_DE_Performance*Slider_DE_Performance*10) +
(Slider_DE_Str*Slider_DE_Str*10)
DesignCosts_Design = DesignCosts_DesignSliders * (14000 * ex_1d028p_year99)
DesignCosts_Design = (DesignCosts_Design + 12000 ) * SubComponent_Frame_Design *
SubComponent_Drive_Design * SubComponent_FrSus_Design *
SubComponent_RrSus_Design
DesignCosts_TechSliders = (Slider_TECH_Compoenents * Slider_TECH_Compoenents) +
(Slider_TECH_Materials * Slider_TECH_Materials ) +
(Slider_TECH_Tech * Slider_TECH_Tech ) +
(Slider_TECH_Techniques * Slider_TECH_Techniques)
DesignCosts_Tech = DesignCosts_TechSliders * (9500 * ex_1d028p_year99)
DesignCosts_Tech = (DesignCosts_Tech + 15000)
//See Manufacturing Costs For Calculations.
Costs_Hyper_Sliders = Costs_Hyper_Sliders * (100*ex_1d025p_year99);
DesignCosts = (DesignCosts_Frame + DesignCost_Suspension + DesignCosts_Design +
DesignCosts_Tech + Costs_Hyper_Sliders) *ex_1d032p_year99
DesignCosts = (DesignCosts/5)+(DesignCosts*(Slider_DesignPace*Slider_DesignPace*4.5))
==== 開発期間 ====
FinishTime_Frame = ((Slider_FD_Height + Slider_FD_Length + Slider_FD_Width +
((Slider_FD_ENG_Length + Slider_FD_ENG_Width)/1.5))/
(Slider_FD_Weight + .25))
FinishTime_Suspension = ((Slider_SUS_Braking*0.5 + Slider_SUS_Comfort +
Slider_SUS_Durability + Slider_SUS_Performance +
Slider_SUS_Stability)/2)
FinishTime_Design = (Slider_DE_Control + Slider_DE_Depend +
Slider_DE_Performance + Slider_DE_Str) * 6
FinishTime_Tech = ((Slider_TECH_Compoenents + Slider_TECH_Materials +
Slider_TECH_Tech) / 1.25);
FinishTime = 4 + ((FinishTime_Frame + FinishTime_Suspension +
FinishTime_Design + FinishTime_Tech)/4.95) *
ex_1d005p_year99 + (1.15*ex_1d003p_year99*hyperSliders)
if year is less than 2020
{
if Slider_DesignPace+0.05 is greater than 0
AdditionalTime = (((year-1840)/15.0)*((0.5/(Slider_DesignPace+0.05))-0.45))
else
AdditionalTime = (((year-1840)/15.0)*((0.5/(0.05))-0.45))
}
else
{
if Slider_DesignPace+0.05 is greater than 0
AdditionalTime = (((2020-1840)/15.0)*((0.5/(Slider_DesignPace+0.05))-0.45))
else
AdditionalTime = ( ((2020-1840)/15.0 ) *((0.5/(0.05) ) -0.45) )
}
if Slider_DesignPace is less than 0.5
{
FinishTime = FinishTime + AdditionalTime;
}
else
{
TurnsOff = (Slider_DesignPace - 0.5)/0.20;
FinishTime = FinishTime + (AdditionalTime - TurnsOff);
}
if FinishTime is less than 1
FinishTime = 1;