I've got this idea very recently and it seems to be so obvious, that I am a bit worried to be considered as an I**t by telling everybody things, those everybody know already, but probably I'll can't fall asleep today without saying this on loud...
Ok, here I go, I hope this will be taken as reasonable idea, not as a teasing...
@Pavel
Thanks to you and @skipper_is I had this opportunity to take a peek into functionality background of my most favorite game of several last years. I am very thankful for that, as for that opportunity, as for the game itself.
Writing this, I am fully aware, that it was said (somewhere by somebody) that, there will be no major changes on engine emulation (or something around that line).
By my opinion, drivetrain is the thing that decrease fun in this game the most and for realism it is pure kill. I think that I can see the story why you (we as well) ended up with current solution, I think there are understandable reasons for that, so I don't blame you at all.
But I also think, that improving this part might be a HUGE improvement for game expirience, specifically for players with wheels and shifters, also for gamepadists and even a user of the most proven combiation, mouse and keyboard, will be pleased.
Three points of what I miss in here I've posted earlier, so I'll skip it now.
I also mentioned, that half of current "gearbox" is more or less useless (or at least I can't see any use for it), but I get back to this later probably.
Main result of solution I want to describe in here is about getting a more accurate engine into the game and as I see it, it shouldn't be impossible with reasonable amount of effort.
From technical point of view, what we have now is, based on shifted "gear", some optimal RPM of wheel with some torque. From that is calculated some minimal wheel RPM and maximal as well. Exceeding those lines makes engine lose it's power. That is not wrong at all, engine with no (or low enough) RPM stops working, on the other end there is limiter of some sort that makes exactly same thing. I am not completely sure how is torque calculated, but it doesn't seem to be related to RPM, more likely it is constant with some delay after pressing a throttle.
Difference between "gears" are just in "optimal RPM", keeping the rest same.
With this, there is last gear with fast RPM and same torque as 1st has. To reduce this (causing incredible acceleration) there are some "slowdown" coeffs, those Pavel mentioned. Honestly, I wasn't going thru this part with deep understanding so I have just rough idea how power is handled.
But finally, getting to the point: We have basically engine in each wheel. Keeping aside such things as torque from zero RPM, engine actually have quite flat curve of torque and some Optimal RPM with some min and max as well.
Therefore my proposal is: Keep everything as it is, just consider current wheel-values as engine-values and put gearbox behind it. Gearbox is pretty simple thing, despite how complicated it looks, it just multiply engine values. Or more precisely, it multiply RPM and divide torque.
Each gear has gearing ratio that (for a 1st gear for example) reduces RPM and by same value increases torque.
Higher gears do less and less and highest may go even opposite way (4th gear is usually +- 1:1 for a common car).
With this, you'll end up with low torque and therefore, because of resistance of enviroment, top speed will be limited. And by completely natural way without artificial coefficient.
Yes, with this change, XML values for torque might need some rebalancing, gearing ratio will look similarly, just with different numbers (1st gear highest). Due to this, those "speed reducing coeffs" might need reduce itself, maybe abandon entirely (I don't know if it has some other use), but I see these as a cosmetic changes, rebalancing values, not building entirely new thing from scratch.
Soo..., I've put in here a lot of text, just hope it makes sense even for somebody else, I am not that confident with my english.
As a very last thing, I want to say, that I really wish for this to happen, so if you consider this as a solution that you can follow, ask me anything. I will be happy to help with anything that I will be capable to...