gamemanual:gm_sales
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
gamemanual:gm_sales [2022/04/18 19:54] – [Variables] admin | gamemanual:gm_sales [2022/04/18 20:16] (current) – [Variables] admin | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Sales Game Mechanics ====== | ||
+ | |||
+ | |||
+ | The Game Mechanics section of the manual details the internal formula used in the game's calculations. | ||
+ | |||
+ | 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 [[https:// | ||
+ | |||
+ | |||
+ | ===== Buyer Pools ===== | ||
+ | |||
+ | ==== Variables ==== | ||
+ | |||
+ | ^ Name ^ Description ^ ^ Name ^ Description ^ | ||
+ | | **Adjusted_Years** | Current Year - 1899 | | **Buying_Percentage** | Monthly Percentage of people buying any vehicle. | | ||
+ | | **Global_Buy_Rate** | Global buyer rate as defined in the TurnEvents.xml file | | **Global_Interest_Rates** | Global interest rate as defined in the TurnEvents.xml file | | ||
+ | | **City_ECOGROWTH** | Economic Growth value for a specific city. | | **City_POPULATION** | Population of a specific city | | ||
+ | | **City_INF** | Infrastructure rating for a specific city | | **City_CAP** | Per Capita income for a specific city | | ||
+ | | **City_GOVERN** | Government stability rating for selected city. 1 = stable, 0 = limited war, -1 or less, full war/halted. | | **Consumer_Fluctuation_Rate** | Variable defined by new game starting options. | | ||
+ | | **Vehicle_Type_Popularity** | This is the popularity value of the specific vehicle type | | **Vehicle_Type_Fuel_Rating** | This is the fuel rating of the specific vehicle type | | ||
+ | | **Vehicle_Type_People** | This is the number of people interested in buying this type of vehicle in the specific city | | **Vehicle_Type_WealthIndex** | This is the wealth index of the specific vehicle type, see [[http:// | ||
+ | | **Vehicle_Unit_Costs** | This is the Material Unit Costs of the specific car. | | **moneyBoost** | Consumer Purchasing Power as defined by starting new game options. | | ||
+ | | **Car_Sales_Price** | Sales price of the specific car | | **Car_Quality_Rating** | Quality rating of the specific car | | ||
+ | | **Car_Top_Speed** | Top speed of the specific car | | **Minimum_Top_Speed** | Minimum top speed required for this car type before penalties are applied | | ||
+ | | **indexMove** | Marketing Efficiency' | ||
+ | | **Company_Racing_Image** | Racing image of the company selling the specific car | | **Global_Gas** | Global Fuel costs as defined in the TurnEvents.xml file | | ||
+ | | **Branch_Staff_Value** | Staff slider, number of employees, and morale values of the branch | | **Branch_Sales_Resources** | Sales resources slider for the branch | | ||
+ | | **Sum_Of_BuyerRatings** | Sum of all buyer ratings in the specific city for the vehicle type, including the specific car's. | | **Used_Cars_BuyerRating** | Buyer rate for the used vehicles of this type in the specific city. | | ||
+ | | **Car_BuyerRating** | The specific car's buyer rating | | **Max_Rating_For_Type_In_City** | The highest buyer rating for this vehicle type in this specific city. | | ||
+ | | **Collective_Age** | The age of the chassis, engine, gearbox, and vehicle design | | **Top_Speed_Mod** | Top speed penalty | | ||
+ | | **overPriced** | Over priced penalty | | **Hard_Difficulty_Sales_Mod** | Sales boost for AI on hard and nightmare difficulties | | ||
+ | | **Not_A_Player_Company** | Not you | | **boycottPlayer** | If your company is being protested for whatever reason. | | ||
+ | ===== City/Type Buying Population ===== | ||
+ | |||
+ | <code cpp> | ||
+ | |||
+ | if(Adjusted_Years <= 25) | ||
+ | { | ||
+ | Buying_Percentage = (((0.00155*Adjusted_Years) | ||
+ | +0.003)*City_ECOGROWTH)*Global_Buy_Rate*Global_Interest_Rates | ||
+ | } | ||
+ | else if(Adjusted_Years <= 105) | ||
+ | { | ||
+ | Buying_Percentage = (((0.00025*Adjusted_Years)+0.035)*City_ECOGROWTH) * | ||
+ | Global_Buy_Rate * Global_Interest_Rates | ||
+ | } | ||
+ | else if(Adjusted_Years <= 130) | ||
+ | { | ||
+ | Buying_Percentage = (((-0.002*Adjusted_Years)+0.27125)*City_ECOGROWTH) * | ||
+ | (Global_Buy_Rate)*Global_Interest_Rates | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | Buying_Percentage = (0.011 *City_ECOGROWTH) * Global_Buy_Rate * Global_Interest_Rates | ||
+ | } | ||
+ | |||
+ | |||
+ | if(City_GOVERN >= 1) | ||
+ | { | ||
+ | govEffect = 0.5; | ||
+ | } | ||
+ | else if(City_GOVERN == 0) | ||
+ | { | ||
+ | govEffect = 0.25; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | govEffect = 0; | ||
+ | } | ||
+ | |||
+ | RandomNumber = Random Number Between 0 AND ((City_INF/ | ||
+ | (Consumer_Fluctuation_Rate)) | ||
+ | |||
+ | //Total City Buying Pool | ||
+ | City_Buying_Population = (((((City_POPULATION)) * Buying_Percentage) * | ||
+ | popBooster)*( RandomNumber + 0.85)) * City_BuyerRate* govEffect | ||
+ | |||
+ | //Vehicle Type Buying Pool | ||
+ | Vehicle_Type_Buyers = City_Buying_Population * Vehicle_Type_Popularity | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Buyer Ratings ===== | ||
+ | |||
+ | |||
+ | See [[http:// | ||
+ | |||
+ | |||
+ | ===== Sales Calculation ===== | ||
+ | |||
+ | |||
+ | |||
+ | <code cpp> | ||
+ | For Every Car In Every Type Sold In City | ||
+ | { | ||
+ | |||
+ | People = Vehicle_Type_People + ((Vehicle_Type_People*0.2) * indexMove^2) + | ||
+ | ((Vehicle_Type_People*0.01+3) * (0.1*(10-Vehicle_Type_WealthIndex))) * Dealerships | ||
+ | |||
+ | People = People + ((Vehicle_Type_People *0.05) * | ||
+ | (Company_Racing_Image/ | ||
+ | ((Vehicle_Type_People *0.15) * indexMove) | ||
+ | |||
+ | People = People + ((Vehicle_Type_People *0.05) * | ||
+ | (Vehicle_Type_Fuel_Rating * Global_Gas)) | ||
+ | |||
+ | Branch_Effect = 0.5+(0.25*((Branch_Staff_Value*0.0125) + (Branch_Sales_Resources*0.0125))) | ||
+ | |||
+ | if(Vehicle_Unit_Costs != 0) | ||
+ | { Quality_To_Price_Ratio = (0.9 + | ||
+ | (Car_Sales_Price/ | ||
+ | } | ||
+ | else | ||
+ | Quality_To_Price_Ratio = 1 | ||
+ | |||
+ | |||
+ | if(Car_Top_Speed < Minimum_Top_Speed && Minimum_Top_Speed != 0 ) | ||
+ | Top_Speed_Mod = Car_Top_Speed / Minimum_Top_Speed | ||
+ | else | ||
+ | Top_Speed_Mod = 1 | ||
+ | |||
+ | |||
+ | Vehicle_Type_Max_Money = City_CAP*moneyBoost*((Vehicle_Type_WealthIndex/ | ||
+ | |||
+ | |||
+ | priceIndex = Car_Sales_Price/ | ||
+ | |||
+ | if(Vehicle_Type_WealthIndex > 6 AND priceIndex < 5) | ||
+ | { | ||
+ | priceIndex = priceIndex + (5-priceIndex) | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | priceIndex = priceIndex - (0.001 * priceIndex) | ||
+ | } | ||
+ | |||
+ | if(year > 1945 AND Vehicle_Type_WealthIndex != 0) | ||
+ | { | ||
+ | priceIndex = priceIndex + ( ( priceIndex / Vehicle_Type_WealthIndex ) / 2.0) | ||
+ | } | ||
+ | |||
+ | |||
+ | Wealth_Demographic = (0.005 - ((priceIndex-4.0-(0.1*Vehicle_Type_WealthIndex)) * 0.00002)) | ||
+ | |||
+ | if(Vehicle_Type_WealthIndex > 5 && | ||
+ | | ||
+ | else | ||
+ | | ||
+ | |||
+ | if( Sales Price is signicantly lower than material costs ) | ||
+ | Sold_At_Branch = 1000000 | ||
+ | else | ||
+ | { | ||
+ | if(Sum_Of_BuyerRatings+Used_Cars_BuyerRating != 0) | ||
+ | { | ||
+ | Sold_At_Branch = 0.5 + | ||
+ | (((People * ((Car_BuyerRating)/ | ||
+ | ( (Random Number Between 0 and 0.2) + 0.9)) * Branch_Effect) | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | Sold_At_Branch = 0.5 + People * | ||
+ | ((Random Number Between 0 and 0.2) + 0.9) * Branch_Effect | ||
+ | } | ||
+ | |||
+ | Sold_At_Branch = Sold_At_Branch * Wealth_Demographic | ||
+ | | ||
+ | if(year > 1995) | ||
+ | Sold_At_Branch = Sold_At_Branch + People * 0.003 | ||
+ | else if(year > 1945 && year < 1995) | ||
+ | Sold_At_Branch = Sold_At_Branch + People * (0.001 + (0.00004*(year-1945))) | ||
+ | else | ||
+ | Sold_At_Branch = Sold_At_Branch + People * 0.001 | ||
+ | | ||
+ | if(Sold_At_Branch < 3 && People > 50 && | ||
+ | { | ||
+ | if(Car_BuyerRating > Max_Rating_For_Type_In_City * 0.6) | ||
+ | { | ||
+ | if( (Car_BuyerRating / Max_Rating_For_Type_In_City) > 0.98) | ||
+ | Sold_At_Branch = Sold_At_Branch + 3 | ||
+ | else if( (Car_BuyerRating / Max_Rating_For_Type_In_City) > 0.8) | ||
+ | Sold_At_Branch = Sold_At_Branch + 2 | ||
+ | else | ||
+ | Sold_At_Branch = Sold_At_Branch + 1 | ||
+ | } | ||
+ | |||
+ | } | ||
+ | | ||
+ | |||
+ | if(Collective_Age > 10) | ||
+ | Sold_At_Branch = Sold_At_Branch / ((Collective_Age/ | ||
+ | |||
+ | |||
+ | Sold_At_Branch = Sold_At_Branch / Quality_To_Price_Ratio | ||
+ | |||
+ | if(Car_BuyerRating/ | ||
+ | { | ||
+ | if(Random number between 0 and 2 = 0) | ||
+ | Sold_At_Branch = Sold_At_Branch + 1 | ||
+ | } | ||
+ | |||
+ | |||
+ | Sold_At_Branch = Sold_At_Branch * Top_Speed_Mod | ||
+ | |||
+ | Sold_At_Branch = Sold_At_Branch * overPriced | ||
+ | |||
+ | if(Hard_Difficulty_Sales_Mod > 0 AND Not_A_Player_Company) | ||
+ | Sold_At_Branch = Sold_At_Branch * hardDifficultySalesMod | ||
+ | |||
+ | if(Sold_At_Branch <0) | ||
+ | Sold_At_Branch = 0 | ||
+ | | ||
+ | if(boycottPlayer) | ||
+ | Sold_At_Branch = Sold_At_Branch * (0.75 + Random Number Between 0 and 0.10) | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </ | ||
gamemanual/gm_sales.txt · Last modified: 2022/04/18 20:16 by admin