====== ギアボックスゲームメカニクス ====== マニュアルのゲームメカニクスセクションは、ゲームの計算で使用される内部式の詳細を説明します。マニュアルのこのセクションは疑似コードを使用しており、ゲーム内のコードと100%同じとは限りません。 マニュアルのゲームメカニクスパートは、主に "なぜX、Y、Zをするとこの評価になるのか?"というよくある質問に対するリファレンスとして設計されています。通常、この答えには多くの異なる変数が含まれており、マニュアルのこのセクションではそれを実証しています。 **マニュアルのゲームメカニクスセクションは、[[https://idioms.thefreedictionary.com/seeing+how+the+sausage+gets+made|ソーセージがどのように作られるか]]を示しています。ですから、ゲームを楽しむなら、このマニュアルの部分は避けた方がいいかもしれません。** ===== 変数 ===== 計算式で使用する変数とその説明の表です。 ==== スライダー ==== ^ 変数 ^ 説明 ^ ^ 変数 ^ 説明 ^ | **Sliders_LowGear_Ratio** | 仕様 ⇒ ローエンドギアリングスライダー | | **Sliders_HighGear_Ratio** | 仕様 ⇒ ハイエンドギアリングスライダー | | **Sliders_Torque_Max_Input** | 仕様 ⇒ 最大トルク入力スライダー | | **Sliders_Tech_Material** | 技術 ⇒ 材料品質スライダー | | **Sliders_Tech_Components** | 技術 ⇒ 部品品質スライダー | | **Sliders_Tech_Technology** | 技術 ⇒ 技術スライダー | | **Sliders_Tech_Techniques** | 技術 ⇒ 製造技術スライダー | | **Sliders_Design_Ease** | デザインフォーカス ⇒ シフトのしやすさ | | **Sliders_Design_Dependability** | デザインフォーカス ⇒ ディペンダビリティ | | **Sliders_Design_DesignPace** | デザインフォーカス ⇒ 開発ペース | | **Sliders_Design_FuelEconomy** | デザインフォーカス ⇒ 燃費 | | **Sliders_Design_Performance** | デザインフォーカス ⇒ パフォーマンス | ==== サブコンポーネント ==== ^ 変数 ^ 説明 ^ ^ 変数 ^ 説明 ^ | **Has_Limited_Slip ** | 仕様 ⇒ リミテッドスリップチェックボックス(チェックした場合、値は1です。) | | **Has_Overdrive ** | Specifications => 仕様 ⇒ オーバードライブチェックボックス(チェックした場合、値は1です。) | | **Has_Transaxle ** | 仕様 ⇒ トランスアクスルチェックボックス(チェックした場合、値は1です。) | | **Has_Reverse ** | 仕様 ⇒ ギアを反転チェックボックス(チェックした場合、値は1です。) | | ** Subcomponents_Gearbox_Weight** | ギアボックスタイプ重量値 | | **Subcomponents_Gearbox_Complexity** | ギアボックスタイプ複雑性値 | | ** Subcomponents_Gearbox_Smoothness** | ギアボックスタイプ滑らかさ値 | | **Subcomponents_Gearbox_Ease** | ギアボックスタイプ容易値 | | ** Subcomponents_Gearbox_FuelRating** | ギアボックスタイプ燃費値 | | ** Subcomponents_Gearbox_PerformanceRating** | ギアボックスタイプパフォーマンス値 | | ** Subcomponents_Gearbox_UnitCosts** | ギアボックスタイプユニットコスト値 | | ** Subcomponents_Gearbox_DesignCosts** | ギアボックスタイプ設計コスト値 | | ** Number_Of_Gears** | 選択されたギア数 | ==== グローバル ==== ^ 変数 ^ 説明 ^ ^ 変数 ^ 説明 ^ | **year** | 現在のゲーム年 | | **ex_1d008p_year99** | 1.008%%^%%(year-1899) | | **ex_1d003p_year99** | 1.003%%^%%(year-1899) | | **ex_1d01p_year99** | 1.01%%^%%(year-1899) | | **ex_1d014p_year99** | 1.014%%^%%(year-1899) | | **ex_1d015p_year99** | 1.015%%^%%(year-1899) | | **ex_1d017p_year99** | 1.017%%^%%(year-1899) | | **ex_1d019p_year99** | 1.019%%^%%(year-1899) | | **ex_1d02p_year99** | 1.02%%^%%(year-1899) | | **ex_1d0225p_year99** | 1.0225%%^%%(year-1899) | | **ex_1d027p_year99** | 1.027%%^%%(year-1899) | | **Global_Interest_Rate** |TurnEvents.xmlファイルで定義されているグローバル金利 | | **carPriceRate** | TurnEvents.xmlファイルで定義されるグローバル車両コスト変数 | | **designRandomVal** | 出来栄えイメージ/スキル評価によるランダム変動。 | | **Marq_DesignGearboxSkill** | 選択したブランドのギアボックスデザインスキル | | **PreResearchGearboxAmountEffect** | ギアボックスの設計に関する研究チームのボーナス | ===== 仕様 ===== ==== 最大トルク入力 ==== 数値はlb-ft単位です。 Max_Torque_Support = 10 * Number_Of_Gears + 75 * (ex_1d0225p_year99) * Sliders_Torque_Max_Input + 35 * (ex_1d0225p_year99) * (1-Sliders_LowGear_Ratio) + 15 * (ex_1d0225p_year99) * (1-Sliders_HighGear_Ratio) + 5 * (ex_1d0225p_year99) * Sliders_Design_Dependability + 5 * (ex_1d0225p_year99) * Sliders_Tech_Components + 5 * (ex_1d0225p_year99) * Sliders_Tech_Components Max_Torque_Support = Max_Torque_Support + (Marq_DesignGearboxSkill/5.0) ==== 重量 ==== 数値はlbsです。 Weight = (20 + 15*(Number_Of_Gears+Has_Reverse) + 25*Subcomponents_Gearbox_Complexity+15*Has_Overdrive + 15*Has_Limited_Slip + 50 * Sliders_Torque_Max_Input - 50*Sliders_Design_Performance + 140 * Subcomponents_Gearbox_Weight + 30*(1-Sliders_Tech_Material))- 20 * Has_Transaxle; ===== 評価 ===== ==== パワー評価 ==== Power_Rating = 100*(Max_Torque_Support/(80 + 150 * (ex_1d0225p_year99) + 90 * (ex_1d0225p_year99))) if(Power_Rating>100) Power_Rating = 100 ==== 燃費評価 ==== FuelEconomy_Rating = (15*Sliders_Design_FuelEconomy + 15 * Subcomponents_Gearbox_FuelRating + 13 * (Sliders_LowGear_Ratio) + 10*Sliders_HighGear_Ratio + 5*(1-Sliders_Design_Performance) + 6 * Has_Overdrive + 2*Number_Of_Gears + 5 * Sliders_Tech_Components + 6 * Sliders_Tech_Material + 6 * Sliders_Tech_Technology) FuelEconomy_Rating = FuelEconomy_Rating + (Marq_DesignGearboxSkill/10.0) if(FuelEconomy_Rating>100) FuelEconomy_Rating = 100; ==== パフォーマンス評価 ==== Performance_Rating = 10 * Sliders_Design_Performance + 13 * Subcomponents_Gearbox_PerformanceRating + 2*Number_Of_Gears + 7 * Sliders_Tech_Technology +6 * Sliders_Tech_Material + 7 * Sliders_Tech_Components + 6 * Sliders_Tech_Techniques + 15 * (1-Sliders_LowGear_Ratio) + 10 * Sliders_HighGear_Ratio + 4 * Has_Limited_Slip+2*Has_Transaxle Performance_Rating = Performance_Rating + (Marq_DesignGearboxSkill/10.0) if(Performance_Rating>100) { Performance_Rating = 100; } ==== 信頼性評価 ==== Reliability_Rating = 20 * std::abs((1.0-Subcomponents_Gearbox_Complexity)) + 15 * Sliders_Torque_Max_Input - (Number_Of_Gears+Has_Reverse) + 10*Sliders_Tech_Material + 10*Sliders_Tech_Components + 10 * Sliders_Design_Dependability + 5 * (1-Subcomponents_Gearbox_Complexity) + 5 * (1-Sliders_Design_Ease) + 5 * std::abs(Has_Limited_Slip-1) + 5 * std::abs(Has_Overdrive-1) + 5 * std::abs(Has_Transaxle-1) + 10 *(1-Sliders_Tech_Technology) Reliability_Rating = Reliability_Rating + (Marq_DesignGearboxSkill/10.0) if(Reliability_Rating > 100) { Reliability_Rating = 100 } ==== 快適性評価 ==== Comfort_Rating = 10 * Has_Limited_Slip + 10 * Has_Reverse + 40 * Sliders_Design_Ease + 20 * Subcomponents_Gearbox_Ease + 20 * Subcomponents_Gearbox_Smoothness Comfort_Rating = Comfort_Rating + (Marq_DesignGearboxSkill/10.0) if(Comfort_Rating> 100) { Comfort_Rating = 100; } ==== 総合評価 ==== Overall_Rating = (Power_Rating+FuelEconomy_Rating+Performance_Rating+ Reliability_Rating +Comfort_Rating +Marq_DesignGearboxSkill )/6 Overall_Rating = Overall_Rating + (2.5*PreResearchGearboxAmountEffect); if(Overall_Rating > 100) { Overall_Rating = 100; } ==== 製造要件 ==== Manufacturing_Req = (10*((Number_Of_Gears+Has_Reverse)/6.0)+20*Subcomponents_Gearbox_Complexity+ 15*Sliders_Torque_Max_Input+5*Has_Overdrive + 5 * Has_Transaxle + 5 * Has_Limited_Slip + 7 * Sliders_Tech_Techniques + 13 * Sliders_Design_Dependability + 5 * ((Sliders_Design_Ease + Sliders_Design_FuelEconomy + Sliders_Design_Performance)/3.0) + 5 * ((Subcomponents_Gearbox_Ease + Subcomponents_Gearbox_FuelRating+ Subcomponents_Gearbox_PerformanceRating + Subcomponents_Gearbox_Smoothness)/4.0)) + 10 * ((Sliders_Tech_Material + Sliders_Tech_Components + Sliders_Tech_Technology)/3.0) ==== 設計要件 ==== Design_Req = (9*((Number_Of_Gears+Has_Reverse)/6.0)+ 7*Subcomponents_Gearbox_Complexity+ 3 * Has_Overdrive + 3*Has_Limited_Slip+ 3*Sliders_Tech_Technology + 3 * Subcomponents_Gearbox_PerformanceRating + 3 *Subcomponents_Gearbox_FuelRating+ 3 * Subcomponents_Gearbox_Ease+ 3 * Subcomponents_Gearbox_Smoothness+ 3 * Sliders_Tech_Material + 2 * Sliders_Tech_Components + 3*Sliders_Torque_Max_Input+ 11 * Sliders_Design_Ease + 14 * Sliders_Design_Dependability + 15 * Sliders_Design_FuelEconomy + 15 * Sliders_Design_Performance) ===== その他 ===== ==== 単価 ==== Unit_Costs = ((((20*ex_1d01p_year99 + 40 * ex_1d02p_year99 * (Number_Of_Gears + Has_Reverse) + 60 * ex_1d008p_year99 * Subcomponents_Gearbox_Complexity + 15 * ex_1d008p_year99 * Has_Overdrive + 65 * ex_1d008p_year99 * Has_Transaxle + 55 * ex_1d008p_year99 * Has_Limited_Slip + 20*ex_1d02p_year99*(Sliders_Design_Performance *Sliders_Design_Performance ) + 25*ex_1d02p_year99*(Sliders_Design_FuelEconomy * Sliders_Design_FuelEconomy )+ 20*ex_1d02p_year99*(Sliders_Design_Ease *Sliders_Design_Ease )+ 45*ex_1d02p_year99*(Sliders_Design_Dependability*Sliders_Design_Dependability) + (80* ex_1d02p_year99* Subcomponents_Gearbox_UnitCosts) + 30 * ex_1d015p_year99 * (Sliders_Torque_Max_Input * Sliders_Torque_Max_Input) + 40 * ex_1d02p_year99 * (0.5 + (Sliders_Tech_Technology*Sliders_Tech_Technology)) + 55 * ex_1d015p_year99 * ((Sliders_Tech_Material * Sliders_Tech_Material) + (Sliders_Tech_Components * Sliders_Tech_Components ) + (Sliders_Tech_Techniques*Sliders_Tech_Techniques)) * ex_1d01p_year99)*(Global_Interest_Rate/2.1))) * carPriceRate) * (designRandomVal) hyperSliders = ((Sliders_Tech_Material + Sliders_Tech_Components + Sliders_Tech_Techniques + Sliders_Tech_Technology) + (Sliders_Torque_Max_Input * Sliders_Torque_Max_Input) + (Sliders_Design_Performance + Sliders_Design_FuelEconomy + Sliders_Design_Dependability + Sliders_Design_Ease))/9.0 hyperCosts = 500 * ex_1d04p_year99 * hyperSliders^4 Unit_Costs = Unit_Costs + hyperCosts - ((Unit_Costs/10) * (Marq_DesignGearboxSkill/100)) ==== 設計コスト ==== designcost = ((6000*ex_1d017p_year99+250*ex_1d017p_year99 * (Number_Of_Gears+Has_Reverse)+5000*ex_1d017p_year99*Subcomponents_Gearbox_Complexity+ (hyperCosts * (100*ex_1d027p_year99)) + 2000*ex_1d014p_year99*(Sliders_Torque_Max_Input*Sliders_Torque_Max_Input)+2000 * ex_1d014p_year99*Has_Transaxle+2000*ex_1d017p_year99*Has_Overdrive + 2500*ex_1d019p_year99*Has_Limited_Slip+2500*ex_1d014p_year99* (0.5+(Sliders_Tech_Technology*Sliders_Tech_Technology))+ 2500*ex_1d014p_year99*(Sliders_Design_Performance *Sliders_Design_Performance ) + 3500*ex_1d014p_year99*(Sliders_Design_FuelEconomy * Sliders_Design_FuelEconomy )+ 4000*ex_1d014p_year99*(Sliders_Design_Ease *Sliders_Design_Ease )+ 8000*ex_1d014p_year99*(Sliders_Design_Dependability*Sliders_Design_Dependability)+ 2200*ex_1d014p_year99*(Sliders_Tech_Techniques *Sliders_Tech_Techniques )+ 2200*ex_1d014p_year99*(Sliders_Tech_Material * Sliders_Tech_Material ))* ex_1d014p_year99) * Number_Of_Gears designcost = (designcost/5)+(designcost* (Sliders_Design_DesignPace*Sliders_Design_DesignPace*4.5)) ==== 開発期間 ==== Finish_Time = (3 + 0.35*Number_Of_Gears+1.5*Subcomponents_Gearbox_Complexity+ Has_Transaxle+0.35*Has_Overdrive+0.35*Has_Limited_Slip + 0.35*(Sliders_Design_Ease + Sliders_Design_Dependability + Sliders_Design_FuelEconomy + Sliders_Design_Performance) + 0.35 * (Subcomponents_Gearbox_Ease + Subcomponents_Gearbox_FuelRating + Subcomponents_Gearbox_PerformanceRating + Subcomponents_Gearbox_Smoothness) + 0.55 * (Sliders_Tech_Material + Sliders_Tech_Components + Sliders_Tech_Technology + Sliders_Tech_Techniques))- (2*(FactOverallVAL/100.0))+ (1.15*ex_1d003p_year99*hyperSliders) if(year < 2020) additionalTime = ( ((year-1840)/15.0 ) *((0.5/( Sliders_Design_DesignPace+0.05) ) -0.45) ) else additionalTime = ( ((2020-1840)/15.0 ) *((0.5/( Sliders_Design_DesignPace+0.05) ) -0.45) ) if(Sliders_Design_DesignPace < 0.5) Finish_Time = Finish_Time + additionalTime else { turnsOff = (Sliders_Design_DesignPace - 0.5)/0.20; Finish_Time = Finish_Time + (additionalTime - turnsOff) } if(Finish_Time < 1) Finish_Time = 1 ==== 所要従業員 ==== if(year < 2021) Employees_Required = Design_Req * (0.07833*(year-1899)+0.275); else Employees_Required = Design_Req * (0.07833*(121)+0.275); Employees_Required = Employees_Required /5 + ((Employees_Required/1.2)*Sliders_Design_DesignPace) + 2;