FAForever / fa

Lua code for FAF
221 stars 228 forks source link

Fix AI rating for sub-1.0 ratings #6194

Closed maudlin27 closed 1 month ago

maudlin27 commented 1 month ago

Issue

If a sub-1.0 AiX modifier is chosen, the rating impact was modified by 1 / (AiX - 1) previously. So for example, a 0.9 rating modifier would have 10 times the normal modifier applied as a negative amount, wheras a 0.6 modifier would have 4 times the normal modifier applied as a negative amount. In other words, a 0.9 AiX would have a far worse rating than a 0.6 AiX.

Description of the proposed changes

This removes the code applying this - there is no need for such a modification.

Testing done on the proposed changes

Created a lobby and used 0.9 and 0.6 AiX modifiers.

For example, with this change, M28's ratings are (on a 5km map): 0.9 AiX: 521 rating 0.6 AiX: 156 rating

Without this change, M28's ratings are: 0.9 AiX: -3279 rating 0.6 AiX: -595 rating

Garanas commented 1 month ago

I'm trying to think of the original reasoning of that snippet of code. Do you remember anything about it @maudlin27 ?

maudlin27 commented 1 month ago

No, my recollection was it was something you drafted and I thought 'ah because the numbers are negative it wouldn't work properly hence why Jip's added that', while I only tested with one negative number (probably -0.5) which gave a sensible result

maudlin27 commented 1 month ago

Another possibility is it was to try and reflect how a 50% reduction is equivalent to a 100% increase

Garanas commented 1 month ago

Great find @maudlin27 , thank you for taking the time to look into it