User Tools

Site Tools


gamemanual:gm_chassis_design

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
gamemanual:gm_chassis_design [2022/02/13 14:23] admingamemanual:gm_chassis_design [2022/07/04 13:56] (current) – [Employees Required] admin
Line 54: Line 54:
  
 ^ Variable ^ Description ^  ^ Variable ^ Description ^ ^ Variable ^ Description ^  ^ Variable ^ Description ^
-| **Year** | FIXME | | **Marq_DesignChassisSkill** | FIXME +| **Year** | Current game year | | **Marq_DesignChassisSkill** | Chassis design skill of the selected marque 
-| **Global_Lengths** | FIXME | | **Global_Weight** | FIXME +| **Global_Lengths** | Global vehicle length variable as defined in the TurnEvents.xml file | | **Global_Weight** | Global vehicle width variable as defined in the TurnEvents.xml file 
-| **PreResearchChassisAmountEffect** | FIXME | | **designRandomVal** | FIXME +| **PreResearchChassisAmountEffect** | Research team's bonus on chassis design | | **designRandomVal** | Random variation based on workmanship image/skill ratings.  
-| **carPriceRate** | FIXME | | **FIXME** | FIXME +| **carPriceRate** | Global vehicle costs variable as defined in the TurnEvents.xml file |  |  | 
-| **ex_0d9962p_year99** | 0.9962%%^%%(year-1899) | | **ex_1d015p_year99** | 1.015%%^%%(year-1899) | +| **ex_0d9962p_year99** | 0.9962%%^%%(year-1899) | | **ex_1d003p_year99** | 1.003%%^%%(year-1899) |  
-| **ex_1d02p_year99** | 1.02%%^%%(year-1899) | | **ex_1d045p_year99** | 1.045%%^%%(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) | |  |  |
  
  
Line 86: Line 89:
  
 <code cpp> <code cpp>
-Chassis_Weight = 40 + ((Global_Weight) * (1.25*Slider_FD_Weight+0.1) + ((Global_Weight*.5)*(6*Slider_FD_Length+0.1)) + +Chassis_Weight = 40 + ((Global_Weight) * (1.25*Slider_FD_Weight+0.1) + 
- ((Global_Weight/15)*(3.3*Slider_FD_Width+0.1)) + ((Global_Weight/20)*(2*Slider_FD_Height+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/5)*(5*SubComponent_Frame_Weight+0.1)) + 
- ((Global_Weight/10)*(3*SubComponent_Drive_Weight+0.1)) - ((Global_Weight/5)*(Slider_TECH_Materials)) - + ((Global_Weight/10)*(3*SubComponent_Drive_Weight+0.1)) -  
- ((Global_Weight/8)*(Slider_DE_Performance)) - ((Global_Weight/11)*(Slider_TECH_Techniques)))+ ((Global_Weight/5)*(Slider_TECH_Materials)) - 
 + ((Global_Weight/8)*(Slider_DE_Performance)) -  
 + ((Global_Weight/11)*(Slider_TECH_Techniques)))
  
 if year is less than 1981) if year is less than 1981)
Line 105: Line 112:
  
 <code cpp> <code cpp>
-Max_Engine_Length = (8 + ((((Global_Lengths*2.25) / 24) * ((Slider_FD_Length+.1)*2.5)) + +Max_Engine_Length = (8 + ((((Global_Lengths*2.25) / 24) *  
-       ((Global_Lengths*2.25) / 24)  * (Slider_FD_ENG_Length+.1)))*SubComponent_Drivetain_Engine_Length+ ((Slider_FD_Length+.1)*2.5)) + ((Global_Lengths*2.25) / 24)  *  
 + (Slider_FD_ENG_Length+.1)))*SubComponent_Drivetain_Engine_Length
 </code> </code>
  
Line 127: Line 135:
  
 <code cpp> <code cpp>
-Comfort_Rating = ((Slider_DE_Control ) + (SubComponent_Drive_rideSteering) + (Slider_FD_Weight ) +  +Comfort_Rating = ((Slider_DE_Control ) + (SubComponent_Drive_rideSteering) + 
-        (SubComponent_FrSus_Braking + SubComponent_RrSus_Braking + Slider_SUS_Braking * 4.5) +  + (Slider_FD_Weight ) + (SubComponent_FrSus_Braking +  
-        (SubComponent_FrSus_Comfort + SubComponent_RrSus_Comfort + Slider_SUS_Comfort * 6 ) +  + SubComponent_RrSus_Braking + Slider_SUS_Braking * 4.5) +  
-        (SubComponent_FrSus_Steering + SubComponent_RrSus_Steering + Slider_SUS_Stability * 4.5) +  +        (SubComponent_FrSus_Comfort + SubComponent_RrSus_Comfort +  
-        ((Slider_TECH_Compoenents + Slider_TECH_Materials + Slider_TECH_Tech + Slider_TECH_Techniques)/2))+        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))
  
  
Line 151: Line 162:
  
 <code cpp> <code cpp>
-Performance_Rating = Slider_SUS_Braking*2 +(Slider_DE_Performance) - (Slider_FD_Weight*2)+ +Performance_Rating = Slider_SUS_Braking*2 +(Slider_DE_Performance) -  
-        (Slider_SUS_Performance*4)+(SubComponent_FrSus_Steering)+(SubComponent_RrSus_Steering)+ + (Slider_FD_Weight*2)+ (Slider_SUS_Performance*4)+ 
-        ((Slider_TECH_Compoenents+Slider_TECH_Materials*2+Slider_TECH_Tech+Slider_TECH_Techniques)/2.0)++ (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_FrSus_Performance + SubComponent_RrSus_Performance + 
         SubComponent_Frame_Performance + SubComponent_Drive_carPerformance*2 -          SubComponent_Frame_Performance + SubComponent_Drive_carPerformance*2 - 
Line 202: Line 215:
         SubComponent_Frame_Durability*1.5 + ((SubComponent_FrSus_Durability +          SubComponent_Frame_Durability*1.5 + ((SubComponent_FrSus_Durability + 
         SubComponent_RrSus_Durability)/2) + Slider_SUS_Durability*2.5 +          SubComponent_RrSus_Durability)/2) + Slider_SUS_Durability*2.5 + 
-        ((Slider_TECH_Compoenents + Slider_TECH_Materials + Slider_TECH_Techniques - Slider_TECH_Tech))+        ((Slider_TECH_Compoenents + Slider_TECH_Materials +  
 +        Slider_TECH_Techniques - Slider_TECH_Tech))
  
 Durability_Rating *= 10 Durability_Rating *= 10
Line 219: Line 233:
  
 <code cpp> <code cpp>
-Overall_Rating = (Comfort_Rating + Performance_Rating +  Strength_Rating + Durability_Rating + Marq_DesignChassisSkill)/5+Overall_Rating = (Comfort_Rating + Performance_Rating + 
 + Strength_Rating + Durability_Rating + Marq_DesignChassisSkill)/5
  
 Overall_Rating +=  (5*PreResearchChassisAmountEffect) Overall_Rating +=  (5*PreResearchChassisAmountEffect)
Line 266: Line 281:
  
 <code cpp> <code cpp>
-if year after 2020+if year before 2021
     Engineers_Required = Design_Req * (0.08833*(year-1899)+0.275);     Engineers_Required = Design_Req * (0.08833*(year-1899)+0.275);
 else  else
Line 274: Line 289:
 Engineers_Required = Engineers_Required/5 + ((Engineers_Required/1.2)*Slider_DesignPace) + 2; Engineers_Required = Engineers_Required/5 + ((Engineers_Required/1.2)*Slider_DesignPace) + 2;
 </code> </code>
 +
  
  
Line 280: Line 296:
  
 <code cpp> <code cpp>
- 
- 
 Costs_Dimension_Sliders = (Slider_FD_Height * Slider_FD_Height)  Costs_Dimension_Sliders = (Slider_FD_Height * Slider_FD_Height) 
         (Slider_FD_Length * Slider_FD_Length*1.2)  +         (Slider_FD_Length * Slider_FD_Length*1.2)  +
-        (Slider_FD_Width*Slider_FD_Width) +  ((1-Slider_FD_Weight) * (1-Slider_FD_Weight)) + +        (Slider_FD_Width*Slider_FD_Width) +  ((1-Slider_FD_Weight) *  
-        (Slider_FD_ENG_Length * Slider_FD_ENG_Length*0.8) + (Slider_FD_ENG_Width *Slider_FD_ENG_Width *0.8)+        (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) +Costs_Frame = ((Costs_Dimension_Sliders * (25* ex_1d015p_year99) *  
 +        SubComponent_Drive_Cost) 
         * SubComponent_Frame_Cost) * ex_1d015p_year99 * (carPriceRate)         * SubComponent_Frame_Cost) * ex_1d015p_year99 * (carPriceRate)
  
  
 Costs_Frame = 15  * ex_1d02p_year99+ Costs_Frame + 1 + (.04 * Costs_Frame) +  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)+        (15 * ex_1d015p_year99 * SubComponent_Drive_Cost) +  
 +        (15 * ex_1d015p_year99 * SubComponent_Frame_Cost)
  
  
Line 302: Line 320:
         (Slider_SUS_Stability *  Slider_SUS_Stability )         (Slider_SUS_Stability *  Slider_SUS_Stability )
  
-Costs_Suspension = (( Costs_Suspensions_Sliders  * (20 * ex_1d02p_year99) * SubComponent_FrSus_Cost) +Costs_Suspension = (( Costs_Suspensions_Sliders  * (20 * ex_1d02p_year99) *  
-        * SubComponent_RrSus_Cost) * ex_1d015p_year99 * (carPriceRate)+        SubComponent_FrSus_Cost) * SubComponent_RrSus_Cost) * 
 +        ex_1d015p_year99 * (carPriceRate)
  
-Costs_Suspension = 15 * ex_1d02p_year99+ Costs_Suspension +  1 + (.04 * Costs_Suspension) +  +Costs_Suspension = 15 * ex_1d02p_year99+ Costs_Suspension +  
-        (15 * ex_1d015p_year99 * SubComponent_FrSus_Cost) + (15 * ex_1d015p_year99 * SubComponent_RrSus_Cost)+        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) +  Costs_Tech_Sliders = (Slider_TECH_Compoenents * Slider_TECH_Compoenents * 1.15) + 
         (Slider_TECH_Materials * Slider_TECH_Materials * 1.25) +         (Slider_TECH_Materials * Slider_TECH_Materials * 1.25) +
-        (Slider_TECH_Tech * Slider_TECH_Tech * 1.25) + (Slider_TECH_Techniques * Slider_TECH_Techniques * 0.75)+        (Slider_TECH_Tech * Slider_TECH_Tech * 1.25) +  
 +        (Slider_TECH_Techniques * Slider_TECH_Techniques * 0.75)
  
  
Line 318: Line 340:
 Costs_Tech = 15 * ex_1d015p_year99+ Costs_Tech + 1 + (.04 * Costs_Tech) 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 +Costs_Hyper_Sliders = ((Slider_DE_Control + Slider_DE_Depend +  
-    + Slider_FD_ENG_Length) + +    Slider_DE_Performance + Slider_DE_Str) + 
-    (Slider_SUS_Stability+ Slider_SUS_Comfort+ Slider_SUS_Performance+ Slider_SUS_Braking+Slider_SUS_Durability) + +    (Slider_FD_Length+ Slider_FD_Width+ Slider_FD_Height +  
-    (Slider_TECH_Materials+ Slider_TECH_Compoenents + Slider_TECH_Techniques + Slider_TECH_Tech))/19.0+    (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) Costs_Hyper = 450 * ex_1d045p_year99 * (Costs_Hyper_Sliders^4)
  
 +Manufacturing_Costs = ((Costs_Frame + Costs_Suspension + Costs_Tech) *
 +                    (carPriceRate)) * designRandomVal
  
-Manufacturing_Costs = ((Costs_Frame + Costs_Suspension + Costs_Tech) * (carPriceRate)) * designRandomVal+Manufacturing_Costs +Manufacturing_Costs-((Manufacturing_Costs/10.0) 
 +                    * (Marq_DesignChassisSkill/100.0)) 
 +</code>
  
-DesignSliders = (Slider_DE_Control * Slider_DE_Control) +  
-                (Slider_DE_Depend * Slider_DE_Depend) + 
-                (Slider_DE_Performance * Slider_DE_Performance ) + 
-                (Slider_DE_Str * Slider_DE_Str) 
  
-DesignSliders = DesignSliders / 4.0 
  
-Manufacturing_Costs Manufacturing_Costs Manufacturing_Costs +==== Design Costs ==== 
-              ((Manufacturing_Costs/10.0) * (Marq_DesignChassisSkill/100.0));+ 
 + 
 +<code cpp> 
 + 
 + 
 +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)) 
 + 
 +</code> 
 + 
 + 
 + 
 +==== Finish Time ==== 
 + 
 +<code cpp> 
 + 
 +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) * 
 + 
 +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; 
 </code> </code>
gamemanual/gm_chassis_design.1644780194.txt.gz · Last modified: 2022/02/15 17:58 (external edit)