New season ratings update + standings script

  • You DO NOT need an account in order to download the content that we host....ONLY make an account if you plan to be an ACTIVE member.
  • We DO NOT Allow Multiple Accounts, those people found to have more than one linked to their IP address Will be Banned.

ai_line_mod

Well-Known Member
Hot Pass Member
May 6, 2020
102
43
This is a followup to https://stunodracing.net/index.php?threads/new-season-ratings.13098/

I have completely reworked the formula, described below. It makes for much more interesting and varied results, and is less linear than my original posting. Almost all categories are based on average finish, with some variation. All ratings (save pit strategy) are multiplied by ratio of race starts to account for partial starters. This works nicely and all drivers fall roughly where they should in final standings, though perhaps without the same stats (this is outside the bounds of "season" ratings... if you're looking for results that can replicate stats like that, use single race ratings). Note that track type is NOT set to NR2003 as this evens out the track ratings a bit.

Ratings - https://nnracing.com/filelibrary.asp?fileid=83329
Script - https://nnracing.com/filelibrary.asp?fileid=83330


XML:
<DriverAggressionMin>
 var rating = 0;
    rating = 20 + ((((1 - @avgFinish / @avgNumberOfStarters) * 40) + ((@top5 / @raceStarts) * 20) + ((@top10 / @raceStarts) * 20)) * @percRaceStarts);
</DriverAggressionMin>

<DriverAggressionMax>
 var rating = 0;
    rating = 60 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20) + ((@top5 / @raceStarts) * 10) + ((@top10 / @raceStarts) * 10)) * @percRaceStarts);
</DriverAggressionMax>

Aggression uses a top5 and top10 modifier. Drivers with more T5/T10 are considered more aggressive.

XML:
<DriverConsistencyMin>
 var rating = 0;
    rating = 20 + ((((1 - @avgFinish / @avgNumberOfStarters) * 40) + ((@leadLapFinishes / @raceStarts) * 20)) * @percRaceStarts);
</DriverConsistencyMin>

<DriverConsistencyMax>
 var rating = 0;
    rating = 60 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20) + ((@leadLapFinishes / @raceStarts) * 10)) * @percRaceStarts);
</DriverConsistencyMax>

Consistency uses lead lap finishes. While this does not technically align with what consistency does in the game (run consistent laps), it does create a linear spread of consistency through the field.

XML:
<DriverFinishingMin>
 var rating = 0;
    rating = 20 + (((((1 - @avgFinish / @avgNumberOfStarters) * 60)) + (((@wins / @raceStarts) * 20))) * @percRaceStarts);
</DriverFinishingMin>

<DriverFinishingMax>
 var rating = 0;
    rating = 60 + (((((1 - @avgFinish / @avgNumberOfStarters) * 40)) + (((@wins / @raceStarts) * 10))) * @percRaceStarts);
</DriverFinishingMax>

XML:
<DriverQualifyingMin>
 var rating = 0;
    rating = 20 + (((((1 - @avgStart / @avgNumberOfStarters) * 60)) + (((@poles / @raceStarts) * 20))) * @percRaceStarts);
</DriverQualifyingMin>

<DriverQualifyingMax>
 var rating = 0;
    rating = 60 + (((((1 - @avgStart / @avgNumberOfStarters) * 40)) + (((@poles / @raceStarts) * 10))) * @percRaceStarts);
</DriverQualifyingMax>

Finishing (and qualifying) use a larger avfn modifier (60/40), with wins/poles as the overall modifier. I am confused what finishing actually does, along with everyone else, but this seems to work ok.

XML:
<DriverTrackTypeMin>
 var rating = 0;
     if(@avgFinish* != null)
        rating = 20 + ((((1 - @avgFinish* / @avgNumberOfStarters) * 40)) * @percRaceStarts);
</DriverRoadCourseMin>

<DriverRoadCourseMax>
 var rating = 0;
     if(@avgFinish* != null)
        rating = 60 + ((((1 - @avgFinish* / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</DriverRoadCourseMax>

All four track types use the same 40/20 formula, added to a base amount of 20/60. This means good average finish at a track type might have 50/75 for that type. I found that more than 80 or 90 drivers do too well on tracks and results become predictable and boring. While minimum often is below 50 (especially for partial starters), I have not found a dramatic increase in wrecks, given the rest of the ratings.

XML:
<VehicleAeroMin>
 var rating = 0;
    rating = 50 + (((((1 - @avgFinish / @avgNumberOfStarters) * 20))) * @percRaceStarts);
</VehicleAeroMin>

<VehicleAeroMax>
 var rating = 0;
    rating = 80 + ((((1 - @avgFinish / @avgNumberOfStarters) * 10)) * @percRaceStarts);
</VehicleAeroMax>

Unlike my previous version (modeled more closely to Ethone's), this version has a larger vehicle ratings spread with a sliding max. This method was inspired by the ratings for the pwf bgn and cts carsets.

XML:
<VehicleChassisMin>
 var rating = 0;
    rating = 45 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</VehicleChassisMin>
  
<VehicleChassisMax>
 var rating = 0;
    rating = 80 + ((((1 - @avgFinish / @avgNumberOfStarters) * 10)) * @percRaceStarts);
</VehicleChassisMax>

I really would rather prefer to use a real life stat to create a differential between chassis and engine (as is the case with papyrus/pwf ratings), I could not find a suitable method that didn't give some driver an advantage/disadvantage in a way that seriously affected final season standings. I again borrowed from pwf carsets and made the chassis min 5 points lower. Does anyone know why chassis is often lower than engine, and why this difference makes for better racing? My guess is that more power (engine) going into a corner where grip (chassis) becomes important leads to more "human" like racing where the AI have to check up more, ie take corners less perfectly. But I honestly have no idea.

XML:
<VehicleEngineMin>
 var rating = 0;
    rating = 50 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</VehicleEngineMin>

<VehicleEngineMax>
 var rating = 0;
    rating = 80 + ((((1 - @avgFinish / @avgNumberOfStarters) * 10)) * @percRaceStarts);
</VehicleEngineMax>

Engine is the same as aero, with the reasoning the same as above.

XML:
<VehicleReliabilityMin>
 var rating = 0;
    rating = 55 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</VehicleReliabilityMin>

<VehicleReliabilityMax>
 var rating = 0;
    rating = 80 + ((((1 - @avgFinish / @avgNumberOfStarters) * 10)) * @percRaceStarts);
</VehicleReliabilityMax>

Reliability is the inverse of chassis, with a 5 point bump up. This is to reduce so many blown engines or otherwise which often have a sever effect on final standings.

XML:
<PitcrewConsistencyMin>
 var rating = 0;
    rating = 40 + (((1 - ((@avgStart + @avgFinish) / 2) / @avgNumberOfStarters) * 40) * @percRaceStarts);
</PitcrewConsistencyMin>

<PitcrewConsistencyMax>
 var rating = 0;
    rating = 80 + (((1 - ((@avgStart + @avgFinish) / 2) / @avgNumberOfStarters) * 20) * @percRaceStarts);
</PitcrewConsistencyMax>

In order to add some variability to pit consistency and speed, one is the average of avst and avfn, and the other is just avfn. The base value is 40/80, which is an increase from my previous version, but I found that these higher ratings seem to mix up the field less, which aligns better with real life pitting. It also seems to result in less penalties for the AI?

XML:
<PitcrewSpeedMin>
 var rating = 0;
    rating = 40 + (((1 - @avgFinish / @avgNumberOfStarters) * 40) * @percRaceStarts);
</PitcrewSpeedMin>

<PitcrewSpeedMax>
 var rating = 0;
    rating = 80 + (((1 - @avgFinish / @avgNumberOfStarters) * 20) * @percRaceStarts);
</PitcrewSpeedMax>

As noted above. Speed uses only avfn.

XML:
<PitcrewStrategyMin>
 var rating = 0;
    rating = 40 + (((@avgStart - @avgFinish) / @avgNumberOfStarters) * 40);
</PitcrewStrategyMin>

<PitcrewStrategyMax>
 var rating = 0;
    rating = 80 + (((@avgStart - @avgFinish) / @avgNumberOfStarters) * 20);
</PitcrewStrategyMax>

Strategy uses the difference between avst and avfn. Often this is close to 0, leaving the strategy to fall around 40/80, a spread that results in interest pit strategies eg drivers pit over several laps rather than all at once. The only rating that does not get multiplied by ratio of race starts.

I also attached a script that I adopted from dooper, who I believe runs the nr2k3 weebly site (https://nr2k3.weebly.com/scoring.html) which I found on nnracing. The changes make it spit out results that mirror exactly the racing reference site. For example, check out the 97 standings - https://pastebin.com/GmXNLX2s with https://www.racing-reference.info/standings/1997/W/. These really helps to see how the ratings are performing against the real life ratings that they're based on. If anyone needs help running the script, let me know as it takes some technical know how (ie using command prompt).
 

ai_line_mod

Well-Known Member
Hot Pass Member
May 6, 2020
102
43
Final version!

This will be the last time I post about this! For anyone interested in Full Season ratings. The ratings are different than those above; so if anyone would like a step by step explanation of the ratings, let me know and I would be more than happy to do so.

http://nnracing.com/filelibrary.asp?fileid=83374

Dissatisfied with the preexisting season ratings that ship with NRatings, I built my own from the ground up. These ratings went through several iterations and much testing (many dozens of seasons simulated) before coming to their current form. They were designed to do the following:

  • Provide *Accurate* results over the course of a season. NOT single race accuracy. This means not just placement in standings but also wins, top5, top10, average finish, lead lap finishes, and so on.

  • Allow for *Variability* in results. In other words, not try to get final season results to match actual season results exactly, but rather all drivers finish roughly where they should over the course of the season. More than not the person who won the cup that year will win it with these ratings, especially if they won by quite a bit, but not every time.

  • Work for all three major NASCAR tiers: cup, bgn, and cts. Being season ratings, they will not accurately reflect the artificiality introduced by the playoffs in 2004 onward, but WILL accurately simulate performance of a driver overall.

  • Partial season starters are rated based on the proportion of races they started. Don't expect Buschwhackers to breakthrough and win the races they start (of course unless they started the entire season as was often the case in the mid 2000s onward), but expect them to be a midfield driver, if that's where they finished in points for that year (remember, these are FULL season ratings).

  • Allow for both accuracy but variability in and among races themselves. Sometimes some good drivers will have a bad race, and vice versa. Furthermore, sometimes some less good drivers start toward the front of the pack, but watch them slowly fade over the course of the race (or not!) Watch different segments of the race be led by different drivers.

  • More technically, the ratings try to:
    • not allow races to devolve into wreck fests (MasGrafx sometimes falls prey to this)

    • not keep the field too bunched or not keep the pitting mechanical (Ethones sometimes falls prey to these)

    • not create the obvious "pack" delineations created the game choosing the front, middle, and back runners

    • allow for occasional clear front runners and backmarkers (though if you're like me and include only drivers who started ~20-25% of season races in your roster backmarkers are less common, and can be a threat to delicate racing balance that is NR2003!)
Any feedback/suggestions are welcomed! Put the file in your NRatings\MyFormulas folder and select them when you launch NRatings.
 
Last edited:

vinnyg

Rookie
VIP
Hot Pass Member
Jul 29, 2017
5
3
I've been using these for my 89 onwards offline career and overall they've given good reasonably realistic results, a few surprises but generally good. They race very well and I like how they give a good range in qualifying, sometimes a slower car starts near the front and fades in the race and vice versa with a leader starting far back and working their way up.
 

Guitarzan

Well-Known Member
Hot Pass Member
Feb 18, 2019
182
43
One thing I noticed while watching the A.I., I'll see a car slow about 20 mph below the pace as if in trouble, cars will either rocket past or be held up, and then half a lap later the slowing car gets back up to normal speed again. Is this a byproduct of this mod or just something inherent in the game itself?
 

ai_line_mod

Well-Known Member
Hot Pass Member
May 6, 2020
102
43
One thing I noticed while watching the A.I., I'll see a car slow about 20 mph below the pace as if in trouble, cars will either rocket past or be held up, and then half a lap later the slowing car gets back up to normal speed again. Is this a byproduct of this mod or just something inherent in the game itself?
This is using these ratings? Can you give some further details? Which track, which physics? Which carset/year?
 

Guitarzan

Well-Known Member
Hot Pass Member
Feb 18, 2019
182
43
This is using these ratings? Can you give some further details? Which track, which physics? Which carset/year?
Original Cup at default Daytona. I like using Daytona as a test source to observe the pack behavior. I like racing from the 70's to the 90's , so I like to see if the A.I. behaves similar to the racing of that era and spread out and not be clumped in a big pack. I like your mod because it does that. Maybe it could be a setting in the papy.ini file that alters things? Mine isn't stock so I try it with the stock papy.ini and see how that goes. Is that what you ran when you tested?
 

ai_line_mod

Well-Known Member
Hot Pass Member
May 6, 2020
102
43
Yes, I tested these with everything default in the game (tracks/track.ini, papy.ini, physics) so that there was an established baseline. The only track I changed was bristol where I reverted it to the two pit road layout because the version that came with the game was broken and messed up the results.

By the way, I've been working on making some edits to how superspeedways work in the game and I have some promising results. I also like ss racing from 80s-90s and feel like the ss racing that came with the stock game was seriously lacking. Most ss tracks made by the community were focused on "pack" racing, which I felt was the opposite direction to go in. Maybe i'll try to share some of that soon.
 
  • Like
Reactions: mjqt and Guitarzan

mjqt

Active Member
Hot Pass Member
Mar 25, 2020
34
18
The only track I changed was bristol where I reverted it to the two pit road layout because the version that came with the game was broken and messed up the results.
How did you do this, by the way?

By the way, I've been working on making some edits to how superspeedways work in the game and I have some promising results. I also like ss racing from 80s-90s and feel like the ss racing that came with the stock game was seriously lacking. Most ss tracks made by the community were focused on "pack" racing, which I felt was the opposite direction to go in. Maybe i'll try to share some of that soon.
I, for one, would love to see that! :) Recently experienced the amazing NASCAR 4 90s style superspeedway racing, and it's (hopefully temporarily) ruined the static pack racing NR2003 experience for me.
 

ai_line_mod

Well-Known Member
Hot Pass Member
May 6, 2020
102
43
How did you do this, by the way?


I, for one, would love to see that! :) Recently experienced the amazing NASCAR 4 90s style superspeedway racing, and it's (hopefully temporarily) ruined the static pack racing NR2003 experience for me.

Bristol can be found here: https://stunodracing.net/index.php?threads/bristol-ai-pit-issues.10783/

For more spread out SS AI, one easy solution is to take the *race.lp files from NR4 and replace the ones in NR2003. No need to touch the track.ini files. This only approximates the more spread out SS racing (in the same way NR4 did) by making the AI checkup, thus spreading the field. There must be small wiggles in the maxrace.lp that cause this. However, this is difficult to race against, as any sudden checkups from the AI are bound to doom the human driver. One solution could be to create new LPs that change AI behavior. I have some theories on how to do this.

Another factor is AI ratings, as discussed above.

Finally, I've created an EXE that a) has 22 gallon fuel cells for SS chassis and b) unlocks the setup settings that were locked for SS chassis tracks in the default game. I'm still working with this (and a proper setup that utilizes a 45 degree spoiler well), but I think a combination of several things can result in a good SS package for the game.
 

ai_line_mod

Well-Known Member
Hot Pass Member
May 6, 2020
102
43
For any interested in the exe, see link. The only changes are 1) SS has 22 gallon fuel tank and 2) all SS setup options are available.


PS if anyone can come up with a fast stable setup with a 45 degree spoiler please let me know :)

PPS to approximate more 90s style SS racing, change fast setup to a 45 degree spoiler and be sure to replace it in the track folder. The lower spoiler slightly increases speeds by decreasing drag, which along with the rest described above helps to create some field spread.
 
Last edited:

goose814

Well-Known Member
VIP
Hot Pass Member
Feb 2, 2018
52
18
So I went ahead and replaced the three *race.lp files with the ones from NR4 for Daytona. That made quite a difference towards eliminating the pack racing from stock. I also changed the fast setup to the 45 degree spoiler which helped even more. They race a lot more like they did in the mid 90's. I thought the stock fast setup was pretty stable with the 45 degree spoiler and an additional 10% front tape, just a wee bit loose in turns 1 and 3 but not bad. That's on an 82 degree day so I'm not sure if cooler temps would make them looser. The only other difference I noticed with the NR4 lp files is that the AI on the inside lane will run on the apron a bit down the backstretch when they're side by side. As far as the AI checking up, this is something I experienced with the stock NR2003 files as well so I'm used to them doing it (usually in turns 1 and 3 ). Haven't tried it at Talladega yet but will soon. And I'm also using your ai_line_mod ratings for all of this. By the way, I mostly drive the Aeroo88, Cup90, or SNG98 (1995-97) mods so I very much appreciate the work you're doing to improve the physics and racing of this sim, especially for the style of racing during those years.
 
  • Like
Reactions: Guitarzan

ai_line_mod

Well-Known Member
Hot Pass Member
May 6, 2020
102
43
Great! I'm glad someone has tried and are finding useful results. The AI race on the apron on the backstretch as per the maxline.lp, which were made before the implementation of the (terrible) "yellow line rule" in 2001. I like this, as now it's more difficult to just get a run and pass a bunch of AI down low, as they use the entire racing surface. As for the setup, I found the same re fast.*.sim. However, PWF hit on something magic with their expert setups: they are stable but loose. What I mean is, they rear tires heat up more than the front, indicating a loose car, but completely drive-able. I'm trying to replicate the same even tire heat distribution, but with a stable car. I know it seems unnecessary, but this is how my mind works. I've spent... hours and hours trying get a setup like this. The fast setup, even with the changes you mentioned (which I've also tried) is stable, but the right front runs hot. Furthermore, I don't find it to be any faster than the expert setup, even with the lowered spoiler.

Anyway, let me know if you have other comments or suggestions!
 
Last edited:
  • Like
Reactions: Guitarzan

ai_line_mod

Well-Known Member
Hot Pass Member
May 6, 2020
102
43
So I went ahead and replaced the three *race.lp files with the ones from NR4 for Daytona. That made quite a difference towards eliminating the pack racing from stock. I also changed the fast setup to the 45 degree spoiler which helped even more. They race a lot more like they did in the mid 90's. I thought the stock fast setup was pretty stable with the 45 degree spoiler and an additional 10% front tape, just a wee bit loose in turns 1 and 3 but not bad. That's on an 82 degree day so I'm not sure if cooler temps would make them looser. The only other difference I noticed with the NR4 lp files is that the AI on the inside lane will run on the apron a bit down the backstretch when they're side by side. As far as the AI checking up, this is something I experienced with the stock NR2003 files as well so I'm used to them doing it (usually in turns 1 and 3 ). Haven't tried it at Talladega yet but will soon. And I'm also using your ai_line_mod ratings for all of this. By the way, I mostly drive the Aeroo88, Cup90, or SNG98 (1995-97) mods so I very much appreciate the work you're doing to improve the physics and racing of this sim, especially for the style of racing during those years.
Just for my own information gathering purposes, which year/mod/physics have you been working with?
 

goose814

Well-Known Member
VIP
Hot Pass Member
Feb 2, 2018
52
18
I've used it mostly with the SNG WC98 mod using the 1995,1996, and 1997 carsets with CUP physics. I run the default tracks and have been using your previous 22 gallon exe that didn't have the superspeedway spoiler adjustment since you released it. You can't run mid 90's cars on superspeedways with a 13 gallon tank, you got to have 22 gallons :biggrin:.
 

goose814

Well-Known Member
VIP
Hot Pass Member
Feb 2, 2018
52
18
Great! I'm glad someone has tried and are finding useful results. The AI race on the apron on the backstretch as per the maxline.lp, which were made before the implementation of the (terrible) "yellow line rule" in 2001. I like this, as now it's more difficult to just get a run and pass a bunch of AI down low, as they use the entire racing surface. As for the setup, I found the same re fast.*.sim. However, PWF hit on something magic with their expert setups: they are stable but loose. What I mean is, they rear tires heat up more than the front, indicating a loose car, but completely drive-able. I'm trying to replicate the same even tire heat distribution, but with a stable car. I know it seems unnecessary, but this is how my mind works. I've spent... hours and hours trying get a setup like this. The fast setup, even with the changes you mentioned (which I've also tried) is stable, but the right front runs hot. Furthermore, I don't find it to be any faster than the expert setup, even with the lowered spoiler.

Anyway, let me know if you have other comments or suggestions!
I like it as well. Like you said, I would sometimes try to get a run on the inside down the backstretch but now you can't. The alternative is to pass to the outside of the inside line of cars but then you'll end up in the middle when they come back up, and I don't like being stuck in the middle. Always makes me nervous running there :eek:.

I have the PWF expert setups and have used them. I'll have to give them a shot with this. I have mainly been using JB's setups. They're fast and after 2-3 laps to warm up the tires, they're very stable. I did try them at Daytona, but with the 45 degree spoiler, they're way loose. A lot of experimenting for the future.
 

ai_line_mod

Well-Known Member
Hot Pass Member
May 6, 2020
102
43
I like it as well. Like you said, I would sometimes try to get a run on the inside down the backstretch but now you can't. The alternative is to pass to the outside of the inside line of cars but then you'll end up in the middle when they come back up, and I don't like being stuck in the middle. Always makes me nervous running there :eek:.

I have the PWF expert setups and have used them. I'll have to give them a shot with this. I have mainly been using JB's setups. They're fast and after 2-3 laps to warm up the tires, they're very stable. I did try them at Daytona, but with the 45 degree spoiler, they're way loose. A lot of experimenting for the future.
Do you have a link to those setups or know where I can find them? I would like to try.

The reason I ask is that the CTS physics have the spoiler set to 65 degrees and changing them to 45 has a much larger impact on the AI than they do with cup. As with everything in this game, a small change in one place has a cascading impact everywhere else. I'm still tweaking, but I've found the cup physics works ok with the lower spoiler. Thanks for the information!
 

Hot Links