Motorsport Manager

Motorsport Manager

View Stats:
NiKuTa Aug 8, 2020 @ 2:55pm
Tyre life calculation and tyre performance.
Hi.
I never know how to calculate tyre life on race.
In files (FF 20 mod) soft tyre have 12-12-2 life performance( high/mid/low), mid tyres have 16-16-2. So the life of tyres are 24-26 and 32-34.
In game on race soft tyres have 17-19 life, mid have 26-28 life.
My question is, how to calculate this 17-19 to tyres life for high/mid/low performance ??
It is 8-9-2 or difference values ?
Last edited by NiKuTa; Aug 8, 2020 @ 3:38pm
< >
Showing 1-8 of 8 comments
Chuske Aug 9, 2020 @ 5:15am 
I recently decompiled the dll file that contains the code. The performance bands do not exist in quite the way people often assume. The value given for high performance is the performance at 100% tyre condition, medium performance band is the 50% tyre condition performance and low the 0% tyre condition performance. The performance for a given tyre condition is then a linear interpolation (i.e. varies smoothly from one band to another as the tire wears) between these values so 75% tyre condition speed is halfway between the performance of the high and medium "band" values.

The laps given for each band have no meaning in terms of that specific band, instead all the laps are added together giving the life of the tyre in laps to 0% condition. Then laps are added or removed based on the chassis tear wear, circuit tyre wear and driver smoothness ratings.

So your base tyre life is just the three numbers added together.
Last edited by Chuske; Aug 9, 2020 @ 8:49am
shortshifted78 Aug 9, 2020 @ 6:00am 
And to the best of our understanding, the deductions all come out of the middle performance band
NiKuTa Aug 9, 2020 @ 6:02am 
Oki, but.
1. what about tyre cliff? if 0% is low perf. but earlier we have cliff 11% for ultrasoft.
2, what about tyre life performance on tyres where high/med/low performance are 15/21/6 ?

I still don\t get that :( . Why we have this values in SingleSeaterDesignData.xml file ?

<HighPerformanceLapCount>12</HighPerformanceLapCount>
<HighPerformanceTimeCost>0</HighPerformanceTimeCost>

<MediumPerformanceLapCount>12</MediumPerformanceLapCount>
<MediumPerformanceTimeCost>1.2</MediumPerformanceTimeCost>

<LowPerformanceLapCount>2</LowPerformanceLapCount>
<LowPerformanceTimeCost>1.5</LowPerformanceTimeCost>

or

<HighPerformanceLapCount>15</HighPerformanceLapCount>
<HighPerformanceTimeCost>1</HighPerformanceTimeCost>

<MediumPerformanceLapCount>21</MediumPerformanceLapCount>
<MediumPerformanceTimeCost>1.3</MediumPerformanceTimeCost>

<LowPerformanceLapCount>6</LowPerformanceLapCount>
<LowPerformanceTimeCost>3.5</LowPerformanceTimeCost>

How to calculate this values?

Chuske Aug 9, 2020 @ 9:16am 
No idea maybe they used to have discrete bands for a set number of laps but now it is a smooth curve between the bands? I think the game went through a few code changes and I guess they never edited the comments on SingleSeaterDesignData.xml?

The tyre performance is just a linear relationship between 100 and 50 condition and then another linear relationship between 50 and 0 tyre condition not easy to describe without a diagram.

In code the individual HighPerformanceLapCount and MediumPerformanceLapCount and LowPerformanceLapCount are only used added together so in the example you give that is 12+12+2 = 26, then the tyre condition lost per lap is 100/26 = 3.85 %

So you don't get a set number of laps on each band, it is now tied to the tyre condition. So harder to calculate but paraphrasing the code:-

if tyreCondition >= 0.5 (ie 50%)
timeCost = MediumPerformanceTimeCost + ( HighPerformanceTimeCost - MediumPerformanceTimeCost) * tyreCondition / 2
else
timeCost = LowPerformanceTimeCost + (MediumPerformanceTimeCost - LowPerformanceTimeCost) * tyreCondition *2

Actually I think they may have a bug in the bit for tyreCondition >= 0.5!!

The cliff I gather kicks in at that tyre condition and adds an extra 8s timecost (on top by the looks of the code).
Last edited by Chuske; Aug 9, 2020 @ 9:29am
Chuske Aug 11, 2020 @ 4:08am 
Hi. Found the notes the developers released with various patches and in the Aug 2017 patch they say:-

"Tyre wear and heating are no longer banded into thirds, but are instead a direct reading."

So looks like the tyres used to have set bands of several laps but were then changed so the tyre performance is directly related to tyre condition and almost certainly in the hurry to patch the game they didn't change the comments in the SinglesSEaterDesign.xml
NiKuTa Aug 11, 2020 @ 8:37am 
oki thx for that info :)
Ohayoghurt Aug 11, 2020 @ 2:44pm 
Everything Chuske is saying is correct, even the part about a bug in the tyreCondition >= 0.5 code. Because Playsport are hacks :P.

The effective result of the code is that tyre performance actually starts halfway between High and Medium at 100%, and only degrades to 25% away from Medium by the time it reaches half wear. At which point you hit a mini-cliff as the formula changes to the Medium-Low scale, which works as intended.
Last edited by Ohayoghurt; Aug 11, 2020 @ 2:49pm
dagawdfadda Oct 7, 2020 @ 10:05pm 
@Chuske
In which file did you find that formula?

I'm trying to build a bit of a spreadsheet for myself and dig a bit more into the underlying game mechanics. I've looked through the SingleSeaterDesignDate.xml but can't see that formula? Or is that something you've kinda pulled together from different parts of the code in that sheet?

**Update**
So I think I figured out which dll file you were talking about (Assembly-CSharp) but having some trouble locating that specific formula.
Last edited by dagawdfadda; Oct 8, 2020 @ 6:43pm
< >
Showing 1-8 of 8 comments
Per page: 1530 50

Date Posted: Aug 8, 2020 @ 2:55pm
Posts: 8