User Tools

Site Tools


jagamemanual:ja_gm_racing

レースゲームメカニクス

マニュアルのゲームメカニクスセクションは、ゲームの計算で使用される内部式の詳細を説明します。マニュアルのこのセクションは疑似コードを使用しており、ゲーム内のコードと100%同じとは限りません。

マニュアルのゲームメカニクスパートは、主に “なぜX、Y、Zをするとこの評価になるのか?”というよくある質問に対するリファレンスとして設計されています。通常、この答えには多くの異なる変数が含まれており、マニュアルのこのセクションではそれを実証しています。

マニュアルのゲームメカニクスセクションは、ソーセージがどのように作られるかを示しています。ですから、ゲームを楽しむなら、このマニュアルの部分は避けた方がいいかもしれません。

変数

名称 説明 名称 説明
EngineeringEmployees 保有するエンジニアの数です MaxEngineeringEmployees 必要なエンジニアの数です
Morale エンジニアの士気です RacingSeries_EndTurn シリーズシーズン最終ターンです
RacingSeries_StartTurn シリーズシーズン最初のターンです RacingSeries_races シーズン中のレース数です
RacingSeries_FundingMod このシリーズの運営コストがどの程度になるかの修正変数です NumberOfTeamsInSeries シリーズでレースをしているチームの数です
orgRacesMonth 1ヶ月あたりのレース数です RacingTeam_Funding レースチームの予算です
RacingTeam_Driver_Quality レースチームのドライバー質スライダー RacingTeam_Team_Quality レースチームのチームの質スライダー
RacingTeam_TeamGrowthFocus レースチームの成長フォーカススライダー RacingTeam_TeamSizeFocus レースチームのサイズフォーカススライダー
RacingTeam_winFocus レースチームの勝利フォーカススライダー RacingTeam_victories レーシングチームの当月の勝利数です
RacingTeam_Car_Spec_AccellerationSix 車両の0-60mph加速秒です RacingTeam_Car_Spec_Weight 車両の重量(Kg)です
RacingTeam_Car_Spec_HP 車両の馬力です RacingTeam_Car_Rating_Drivability 車両の運転性評価です
RacingTeam_Car_Rating_Performance 車両のパフォーマンス評価です RacingTeam_Car_Spec_TopSpeed 車両の最高速度(MPH)です
RacingTeam_Car_Rating_Fuel 車両の燃費評価です RacingTeam_Engine_HP エンジンの馬力です
RacingTeam_Engine_Weight エンジンの重量(Kg)です RacingTeam_Engine_Dependability エンジンのディペンダビリティ評価です
RacingTeam_Engine_FuelConsumption エンジンの燃費(MPG)です ex_1d02p_year99 1.02^(year-1899)
ex_1d03p_year99 1.03^(year-1899) ex_1d06p_year99 1.06^(year-1899)

レース契約

次をご覧ください: レース契約.

レース結果

レーススコア

EngineeringEmployeeMod = 0.5+0.5*((EngineeringEmployees/MaxEngineeringEmployees) * (Morale/100))
 
For Each Series:
{
 
        lengthOfSeries = RacingSeries_EndTurn - RacingSeries_StartTurn
 
        if(Turn = RacingSeries_EndTurn)
        {
            RacesPerMonth = RacingSeries_races%lengthOfSeries
        }
        else
        {
 
            if(lengthOfSeries != 0)
                RacesPerMonth = RacingSeries_races / lengthOfSeries
            else
                RacesPerMonth = 1
 
        }
 
 
        minBudget =  (5000*ex_1d03p_year99)+(15000*RacingSeries_FundingMod*ex_1d06p_year99)
        maxBudget = (25000*ex_1d03p_year99)+(75000*RacingSeries_FundingMod*ex_1d06p_year99) + minBudget
 
 
    For Each Team in Series:
    {
 
 
        Team_Funding = ((RacingTeam_Funding)/(maxBudget))*2
 
        RacingTeam_RaceValue = (20+Random Number Between ( 0 AND 5)) *
            (Team_Funding-((RacingTeam_Driver_Quality*2 + RacingTeam_Team_Quality +
            RacingTeam_TeamGrowthFocus + RacingTeam_TeamSizeFocus*1.5)/5.75)) * EngineeringEmployeeMod
 
 
        if(RacingTeam_Car_Spec_AccellerationSix == -1 || RacingTeam_Car_Spec_AccellerationSix > 26)
            RacingTeam_Car_Spec_AccellerationSix = 26
 
        if Supplying Vehicles
        {
            if(RacingTeam_Car_Spec_Weight != 0)
                hpWeightRatio = (RacingTeam_Car_Spec_HP)/(RacingTeam_Car_Spec_Weight)
            else
                hpWeightRatio = 0
 
            if(hpWeightRatio > 2)
                hpWeightRatio = 2
 
            hpBonus = (RacingTeam_Car_Spec_HP^1.15) /(10.0 * ex_1d02p_year99) 
 
            RacingTeam_RaceValue = RacingTeam_RaceValue + (hpBonus*3.5) +
                (hpWeightRatio*10  + ((25-RacingTeam_Car_Spec_AccellerationSix)/25.0)*30 +
                ((RacingTeam_Car_Rating_Drivability) / 100.0)*36 +
                12*((RacingTeam_Car_Rating_Performance) / 100.0) +
                30*((RacingTeam_Car_Spec_TopSpeed)/250.0) +
                (3 * (RacingTeam_Car_Rating_Fuel/100.0)) )
 
        }
        else if Supplying Engines
        {
            hpWeightRatio = ((RacingTeam_Engine_HP) / (RacingTeam_Engine_Weight))
 
 
            if(hpWeightRatio > 10)
                hpWeightRatio = 10
 
            hpBonus = (RacingTeam_Engine_HP)  / (8.0 * ex_1d02p_year99)
 
            RacingTeam_RaceValue = RacingTeam_RaceValue + hpBonus*3.5 + ( hpWeightRatio*5  +
                ((RacingTeam_Engine_Dependability) / 100.0)*(3 * ex_1d02p_year99) +
                ((RacingTeam_Engine_FuelConsumption/30.0)*2))
 
        }
        else Supplying Funding
        {
            RacingTeam_RaceValue = RacingTeam_RaceValue + Random Number Between ( 0 AND 10) +
                4.5  * (RacingTeam_TeamGrowthFocus - RacingTeam_TeamSizeFocus) + 15 *
                (Team_Funding*2-RacingTeam_Driver_Quality + RacingTeam_Team_Quality)
 
        }
 
        RacingTeam_RaceValue = RacingTeam_RaceValue + ((10+Random Number Between ( 0 AND 10)) *
            ((RacingTeam_Driver_Quality*3.5 + RacingTeam_Team_Quality +
            RacingTeam_TeamGrowthFocus + RacingTeam_TeamSizeFocus*1.5)/5.0) *
            (Team_Funding/1.75))*EngineeringEmployeeMod
 
        RacingTeam_RaceValue = RacingTeam_RaceValue +(40 * RacingTeam_teamXP) +
            (3 * RacingTeam_teamSize) + (10*RacingTeam_winFocus)*EngineeringEmployeeMod
 
 
        Total_RaceSeries_RacingValues = Total_RaceSeries_RacingValues + RacingTeam_RaceValue
    }
}

レースの勝者

firstVal = 0
secondVal = 0
thirdVal = 0
forthVal = 0
fifthVal = 0
 
For Each Team in Series
{
    For Each Team In Series 
    {
        if(firstVal < RacingTeam_RaceValue)
        {
            victorID = RacingTeam_CompanyID
            firstVal = RacingTeam_RaceValue
        }
        else if(secondVal < RacingTeam_RaceValue)
        {
            secondID= RacingTeam_CompanyID
            secondVal = RacingTeam_RaceValue
        }
        else if(thirdVal < RacingTeam_RaceValue)
        {
            thirdID= RacingTeam_CompanyID
            thirdVal = RacingTeam_RaceValue
        }
        else if(forthVal < RacingTeam_RaceValue)
        {
            forthID= RacingTeam_CompanyID
            forthVal = RacingTeam_RaceValue
        }
        else if(fifthVal < RacingTeam_RaceValue)
        {
            fifthID= RacingTeam_CompanyID
            fifthVal = RacingTeam_RaceValue
        }
 
     }
 
     firstWins = ((firstVal/winsVal) * RacesPerMonth)
        RacesPerMonth = RacesPerMonth - firstWins
    secondWins = ((secondVal/winsVal) * RacesPerMonth)
        RacesPerMonth = RacesPerMonth - secondWins
    thirdWins = ((thirdVal/winsVal) * RacesPerMonth)
        RacesPerMonth = RacesPerMonth - thirdWins
    forthWins = ((forthVal/winsVal) * RacesPerMonth)
        RacesPerMonth = RacesPerMonth - forthWins
    fifthWins = ((fifthVal/winsVal) * RacesPerMonth)
        RacesPerMonth = RacesPerMonth - fifthWins
 
    if(RacesPerMonth > 0)
    {
        firstWins = firstWins + (RacesPerMonth/2)
            RacesPerMonth = RacesPerMonth - (RacesPerMonth/2)
        secondWins = secondWins + (RacesPerMonth/2)
            RacesPerMonth = RacesPerMonth - (RacesPerMonth/2)
        firstWins = firstWins + RacesPerMonth
 
        RacesPerMonth = 0
    }
 
}

レースポイント

For Each Team In Series:
 
RacingTeam_Points = (RacingTeam_victories * 6 *
    (NumberOfTeamsInSeries)) + (orgRacesMonth - RacingTeam_victories) * 
    ((NumberOfTeamsInSeries * 10) * (RacingTeam_RaceValue/Total_RaceSeries_RacingValues))
 

チームXP

TeamXP = TeamXP + (((0.75 - RacingTeam_Driver_Quality) + (0.75-RacingTeam_Team_Quality)+
    (RacingTeam_TeamGrowthFocus-0.5)+(0.5-RacingTeam_TeamSizeFocus)+
    (1-RacingTeam_winFocus))/300.0)
jagamemanual/ja_gm_racing.txt · Last modified: 2023/04/08 02:41 by nichirinmotor