I’ll get in the subject directly. It’s better explain this with an example. Let’s say there are 2 cars in my game and their stats are like this:
Car A → Top Speed: 250 / Acceleration: 400 / Handling: 650
Car B → Top Speed: 500 / Acceleration: 600 / Handling: 600
I want to add a customization part whose stats are like this:
Level 1 Engine → Top Speed: 10% / Acceleration: 5% / Handling: 0%
I see that kind of percentage performance parts in some games, but the way they increase performance is a bit different what it looks. For example; if I apply the engine’s stats to the both cars, the cars’ new stats will be like this:
Car A → Top Speed: 250 + 25 / Acceleration: 400 + 20 / Handling: 650 + 0
Car B → Top Speed: 500 + 50 / Acceleration: 600 + 30 / Handling: 600 + 0
As it can be seen, the engine affects more the most performant car than the other one. In racing games, it’s quite the opposite. The more the car is performant, the less the performance parts affect. How does that logic work? I want less performant cars to be affected more by performance parts and vice-versa.
In other racing games, the stats would be like this (just an example):
Car A → Top Speed: 250 + 35 / Acceleration: 400 + 25 / Handling: 650 + 0
Car B → Top Speed: 500 + 20 / Acceleration: 600 + 10 / Handling: 600 + 0
It should be related to the max. stat, which is 1000. A car can have the maximum of 1000 for each stat, but what’s the logic?
If I use the difference between the current stat and the maximum (1000) then the less performant cars will have advantages.
(1000 - Current) * Percentage
For example; for Car A’s top speed, you will always apply performance upgrades with 750 * something.
(1000 - 250) * Percentage
For Car B’s top speed , you will always apply performance upgrades with 500 * something.
(1000 - 500) * Percentage
As you add parts to the both cars, Car A’s stats will pass the Car B’s stats eventually. That can lead players to use low stat cars instead of high ones