Drivers2 Ratings Test
#21
A quick one regarding driver ratings and BLAP relationship - and simulated qualifying.

First, I don't know if this is widely known already, but BLAP (in the track's .TXT file) only affects the simulated qualifying of AI. (E.g., what you see on Ovals, or if you just skip Qualy on Road Courses, or the Qualifying that happens on Road Courses before you start your session). I confirmed this by setting the BLAP at Indianapolis to sub-20 seconds. During practice, AI speed was normal. However, in qualfying, they posted times approaching 500mph Smiley

Second, this simulated qualifying is an exact linear combination of the driver's ratings: Power + Traction + (999 - Drag).

When you set this value exactly equal to 1,500 - the qualifying time of the AI will be exactly the BLAP. Doesn't matter if Power is way high and traction is way low. (Observed Power 998/999 and Traction 2/3 getting the exact same time as another driver with 500/501 for both).

Further, you can determine how much faster/slower the qualifying time will be depending on the deviation from this value. Let's call the above sum RATING_SUM. Then the qualifying time an AI will have will be:

( (RATING_SUM - 1500) / 1500 ) * 0.09

Example. A driver has a sum of 1800 for their ratings. That's 300 over 1500, or 20% increase. Then multiply by 9% to get a 1.8% increase in speed. (Verified this exact example to be correct, +/- rounding errors).

Also confirmed when you max out all the values (998, 998, 1), then speed increase is just barely short of 9%.


Note: I'm assuming driver's rating ranges follow the common computer syntax rules for ranges: that the minimum is included in the range and the maximum is excluded. E.g., a rating range of 500, 501 is actually just 500 exactly. The evidence appears to me to point to that being the case as well, since it gives us exactly the computations we'd expect. But I don't know how to confirm it directly.
Reply
#22
you should think about decompiling the game and studying it that way... I think we might learn some game changing things... I don't know enough about computer science to study it that way- but I wish I had taken more of these courses when I was in engineering school.
Reply
#23
Did anyone ever get to the bottom of how/where chassis/engine choices affect performance for both the user and AI cars?  I tried doing a search of the archive, but couldn't find anything concrete - just an assertion that it does matter in some way.

There is a mechanism for tires in tracks' .txt file, so there's one place where the build of the car matters.  But it feels very un-Papyrus for them not to have similar values editable for chassis and engine, in either the cars .txt or track .txt files.

Anyway - I decided to do some quick testing.  This is only on four superspeedways, but while I was at work today I let a single AI car run in Practice for about 20-30 min sessions, and recorded their best lap in that time frame.  On my initial attempt it seemed that once you get past about 20-30 minutes AI cars will very rarely improve, so seemed a good balance of getting samples vs the time spent just sitting.

For the TLDR, if there is an effect (at Superspeedways at least), it will probably be imperceptible in your races.  But the engines do seem like they have some (tiny) impact.


For more detail - the AI car was set at 500/501 for all values.  Weather was held constant at 70 degrees and no wind.

I did a run of a Lola-Cosworth-Goodyear to serve as the baseline, and then made changes to this base combination until I had run one round of sessions for each engine, tire, and chassis in the base game.  (NOT every combination, just Penske-Cosworth-Goodyear and Reynard-Cosworth-Goodyear, for example).

I wish I had a better way to display this but here goes (from Left-to-Right, speeds will be IMS2000, MICH2000, POCONO and FONTANA):

Lol-Cos-GY:    237.182   236.808   224.998   240.964
Pen-Cos-GY:   237.722   236.575   224.915   240.972
Rey-Cos-GY:   237.476   235.802   225.261   240.964
Lol-Mer-GY:    237.301   236.339   224.559   240.964
Lol-Hon-GY:    237.194   236.100   224.459   240.972
Lol-Cos-FS:     237.194   236.492   225.032   240.972


On average: here's how they ranked out:

Pen-Cos-GY:  +0.02%   +0.011 s/lap
Lol-Cos-GY:   (base)      (base)
Lol-Cos-FS:    -0.03%    -0.008  s/lap
Rey-Cos-GY:   -0.05%    -0.009 s/lap
Lol-Mer-GY:   -0.09%     -0.030 s/lap
Lol-Hon-GY:  -0.13%     -0.046 s/lap


And to be clear - even with as many things held constant as possible, the AI's run is not completely deterministic.  I did run one of the trials twice and got some small differentiation - and I'm not sure how much exactly these times might vary.

But in any case, we're looking at about a tenth of a percent in speed difference, and half a tenth of a second per lap, if we take these at face value.  So even if the difference is there, it seems like its not worth sweating about when setting up your AI/carsets.

Still, I'd love to source this impact so we can understand it better...
Reply
#24
I would love to be able to use the engine to change the pitch of the engines so that the cars sound different.

For example, in the mid 80's some of the cars had naturally aspirated big V8's that sounded more like Nascar or traditional muscle cars... I can't see these reving more past about 7000, maybe 8000 rpm...
The menards/Buick V6 was higher revving - probably closer to hitting 10,000 rpm , but still not anywhere near the 2.65 Turbo V8 engines that everyone had in the 90's.
Reply
#25
Great research. I once did an experiment where I made a long, flat straightaway and held down the throttle from a standing start to measure how quickly each chassis/engine/tire combo would reach a mile.

As I recall, I found no difference between the engines but there seemed to be a difference between the chassis. The game may at least have different amounts of drag associated with each chassis.
Reply
#26
Some more finidings - this time again related to the track's .txt file. Maybe this thread is more accurately named "AI Performance"

RELS does not get applied in qualifying the way it should / the way it does during the race.

Here's how the qualifying speeds of a base AI car change when RELS changes (this is at Mich2000)

100% - 239.554
75% - 234.192
50% - 229.065

When adjusting the in-game opponent "strength" value, though - it gets applied the way you would think:

80% - 188.201

It's slightly off (e.g., slightly lower than 80% of the 100% value), but its pretty close.


I verified its the same, even on a road/street course and a base Papy track. This is for the base Detroit circuit
100% - 1:14.569
50% - 1:17.983.

I verified that race pace was applied the way you expect: e.g,. at 50%, lap times were twice what they were at 100%.

I'm trying to tune circuit AI performance so that at 100% AI strength, you get performance very close to real world lap times, and this unfortunately makes that process significantly more annoying.

One more - I was trying to play around with the SPDWY values to see if I could create AI that would use different pit strategies, but unfortunately the AI pitting behavior seems very simple.

AI will simply take a random value in the pit range and use that value for the length of their sting (under green flag conditions).

However, some interesting things I found:

* Pace increases over the course of a stint, but it appears to be a pretty simple linear trajectory. I was hoping a longer stint might affect the performance in some way (e.g., tires falling off or something), but its not the case. It seems to be a pretty simple trajectory of starting pace at a full fuel tank down to end pace on an empty tank. This is true on both road/street courses and ovals.

* However, AI does fill its fuel tank intelligently, and knows how long the stint is they are planning to run. In my test, I was running a single AI at Road America with a wide pit window (1-20 laps). And on some occasions, lap times would be close to "full tank" right after a pit, and the AI would run a long stint, while other times they would come out doing "empty tank" lap times and pit a few laps later.

* While AI can intelligently choose a fuel load, it cannot intelligently choose its stint length. Even if the pit window extends past the end of the race, the AI will not choose the longer stint in order to ensure they don't have to pit again, which is a shame. E.g., pitting with 15 laps left and the above defined, window, still saw them use a 5-lap stint instead of choosing the longer one that would reach the end of the race.

* However, they do appear to fill fuel only to cover remaining laps, even if "chosen" stint would be longer. E.g., At Road America set stint length to 16, they pit with two laps left but do a "splash and go" stop rather than put on a full tank.
Reply
#27
Honestly I am impressed that the game will model the length of pit stops and that AI knows how to fill fuel only to the remaining laps. It's pretty cool that the AI improves their lap time over a stint.

When AI takes a random value and uses it for their stint - can they pick different random values for each stint, or the same value for all stints during the same race? Do AI sometimes have a faster or slower stint (besides from the effects of fuel)?
Reply
#28
Are there any reverse engineering tools that can see what changes in the game when values in the TXT change? Or can you change them in memory directly while the game is playing for easier analysis?
Reply
#29
(07-14-2023, 03:22 AM)samsepi0l Wrote: Are there any reverse engineering tools that can see what changes in the game when values in the TXT change? Or can you change them in memory directly while the game is playing for easier analysis?

Probably the tools discussed in this thread: https://www.icr2.net/forum/showthread.php?tid=1428
Reply
#30
(07-13-2023, 01:22 PM)checkpoint10 Wrote: Honestly I am impressed that the game will model the length of pit stops and that AI knows how to fill fuel only to the remaining laps. It's pretty cool that the AI improves their lap time over a stint.

When AI takes a random value and uses it for their stint - can they pick different random values for each stint, or the same value for all stints during the same race? Do AI sometimes have a faster or slower stint (besides from the effects of fuel)?

AI definitely will choose different stint lengths at random throughout the race - it won't be the same every time. Unless of course they randomly select the same stint length from their options.

As far as I can tell, the stint speeds are consistent - at least no major variations.

The only thing I think would be plausible is that shorter stints are faster even than just fuel effects - e.g., the tires stay fresh.  I think there could be a fuel component and a tire component in the performance - but just that a fuel tank at 50% load has a certain impact on speed, and tires at 50% has a certain impact on speed...but the tire effect is kinda tough to tease out even if it exists.


Some additional findings:

AI won't pit JUST because there is a yellow and they are in the pit window. E.g., I created a large pit window and then deliberately caused a yellow at the start of it...and only about half the field pit. My best guess is that AI will pit if their scheduled stop is within X laps of when the yellow comes out...but haven't been able to determine what X is.

And lastly - yellows do extend the stints of AI. My best estimate at the moment is that a yellow flag lap costs about 40% of a regular lap in terms of the sting. E.g., if their scheduled stint is 30 laps, and there are 5 laps of yellow, they would pit on lap 33. (28 laps of green + 5 * 0.4 laps of yellow = 30).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)