Hello and welcome to the community.
It's nice to see someone so interested in the game.
I've dug up the following information from some old conversations with the other developers:
For All the Same and Random opposition spread, the game goes through all of the teams BHP settings and finds the highest BHP setting that is used (716 by default). This highest value is used.
All the Same:
- Nominal BHP of all teams is set to the highest value.
- Driver Skill is set to 0 for all drivers.
Random:
- Nominal BHP of each team is set to a random value (random value between 0 and 31 is subtracted from the highest BHP value for each team).
- Not sure about the Driver Skill.
Another random BHP subtraction is performed for each team, regardless of the opposition spread setting (1991 Levels, All the Same, Random).
As a side note, GPLapTim disables the randomization of the player's BHP value.
This is done to ensure a fixed BHP value for lap time competitions, among other things.
We have a disassembled version of the game executable, with some comments. There is also additional documentation and tools.
Theoretically, the information you are seeking could be extracted from the disassembled executable by someone who knows how to do it.
We have a tool that can set a fixed random seed for each game instance or for each event.
I guess this is similar to what you're aiming for, in order to achieve fixed BHP values over a season.
There were some efforts made to completely disable randomization in the game, to get the theoretical lap times like the ones for LapCalc, without having to run a huge number of test repetitions.
However, the physics of the game works in such a way that it relies on the random seeds for some things and won't work otherwise.
This is my general understanding from the information provided by the other developers. I'm no expert in this area.
You're welcome if you want to join the development community.
Cheers,
Hrvoje