do the cars turn around themselves ?

  • Thread starter Nigo
  • 30 comments
  • 7,539 views
... magically when you turn the steering wheel past a certain point, or is it me beeing crazy ?
is it me or even the cleanest drivers can't avoid sliding cars when driving fast ?
is it me or you can take a corner faster sideways ?
is it me or there is no induced understeer at corner entry, no matter how you tune the car ?

Shift feels great somehow, but I can't help thinking that, in the end, there is something very wrong with the car behaviour
 
It seems like the handling model has a little bit of "wishfull thinking" in the oversteering direction.

Then again, are you using the default controller sensitivity? The defaults are overly sensitive, and make it easy to turn too much. Dial them back to about 5-10% and it's much easier to drive.
 
... magically when you turn the steering wheel past a certain point, or is it me beeing crazy ?
is it me or even the cleanest drivers can't avoid sliding cars when driving fast ?
is it me or you can take a corner faster sideways ?
is it me or there is no induced understeer at corner entry, no matter how you tune the car ?

Shift feels great somehow, but I can't help thinking that, in the end, there is something very wrong with the car behaviour

Far too much of the game's behavior is based on the tuning settings of the cars, particularly when the cars are upgraded.

I have some cars in my inventory that feel and drive wonderfully, just as good as any car in my other driving games. They feel that way because the tuning settings (in advanced tuning), are perfect.

That same car with the wrong tuning settings feels like a hovercraft.

Some cars in this game even when upgraded, still feel relatively good with the default tuning settings. Some have to be adjusted to get them just right. Others apparently, can't ever be adjusted so they feel right.

EA marketed this game as a semi-sim or simlike arcade game. I halfway think it's a puzzle game, like Rubik's Cube. Once you figure it out, and it may take a month or more, suddenly you realize it feels really, really good.

This is not a game for the impatient. You have to work on it until it feels right to you. I would venture to say that many of the people who walked away from this game two or three weeks after they got it, just didn't give it enough time and never figured out the tuning puzzle.
 
They don't turn around themselves. Most cars have a 30-something component suspension model where every individual piece is weighted and constrained as the real car is. The fuel tank is a separately located piece that affects COG. The tyres are 3d objects that move and distort according to what happens to them in the graphics engine rather than an abstracted version in the physics engine.

Generally speaking I have found that physics complaints about Shift seem to revolve around the person either not being familiar with the physical property being modelled, or that they expect the game to automatically assist them (especially on a pad) to the extent that several other driving games do. ed- which is to say, a lot of games apparently don't model wheel hopping, dog tracking, brake fade, about a half dozen other things which I see a lot of complaints about in Shift :)

The main thing that they put in to make the game easier is that you have "perfect" tyres that stay perfect throughout the race - no underheat, very little overheat, no ablation onto the track, no blowouts, etc. So you get these really nice predictable and forgiving road tyres that never wear out. A lot of the laps I see people pull are kind of like - yeah you could do that one lap, and then there is nothing left in the tyres or suspension for lap 2. In a way that just makes it a fun game - it's about as exciting as the last lap of qualifying in a sim, but there's none of that strategic layer getting in the way telling you to hold back on the car or that would allow someone who drives well in the limits to beat you by pitting better or something.

Anyhow. No the cars don't turn on themselves.
 
Last edited:
It's something that has been discussed in detail here before.

It's not just that.

There is no momentum induced understeer in Shift. Overshoot a corner and you magically have 50% more braking power to slow down to make it. Optimistic corner entries that would have you plowing straight into the weeds in GT or Forza can be countered simply by hitting the brakes and slowing right down. Something that would have you spinning out or understeering even harder in other games.

Come up to a corner and have the wrong line? Drift it. Drift every corner, in fact. Since you get "aggression points" for drifting, they've simplified the drifting mechanic in the regular races to make it much easier to perform a drift, as long as you let the game know that you're planning to do it. And if it knows you're planning to do it, it won't penalize you with momentum lost through the corner... or at least, not as much as it should.

In parts, it feels wonderful... and quite realistic... tire-skip and tire-hop... momentum induced oversteer... power oversteer... but once you pass the threshold of grip, SHIFT becomes ludicrously easy.

In fact... to keep the difficulty on a realistic level, you've got to go full Pro, and drive a classic racing line. If you drive the classic lines... slow-in, fast-out... it's actually trickier than hotdogging it from corner to corner.

But then again... it's more fun to hotdog it from corner to corner... which is where SHIFT feels its flimsiest... so it gets old... really fast.
 
Where are the sections that give you 50% more braking power or let the game know you're going planning to do a drift located? I haven't been able to find them anywhere.
 
No sections. It's just the way the car feels going into corners.

Even on pro-mode, with the ABS off, it's remarkably remarkably difficult to get a car to understeer off the track. In more sim-like games... it's remarkably difficult not to.

Of course, more sim-like games don't give you kudos points for bashing into other cars, either... :lol:
 
No sections. It's just the way the car feels going into corners.

Even on pro-mode, with the ABS off, it's remarkably remarkably difficult to get a car to understeer off the track. In more sim-like games... it's remarkably difficult not to.

Of course, more sim-like games don't give you kudos points for bashing into other cars, either... :lol:

You love the game... just admit it and move on. :lol:
 
No sections. It's just the way the car feels going into corners.

Even on pro-mode, with the ABS off, it's remarkably remarkably difficult to get a car to understeer off the track. In more sim-like games... it's remarkably difficult not to.

I find it pretty similar to drive a similar car from say GTL or GPL - most cars have quite low downforce, and tyres that don't mind high slip angles and will drag the car back a bit if they get too busy. Again the main difference in how you drive the (unmodded) game is that you don't have to drive 5 laps first to warm the tyres and worry about wearing or heating them evenly. Many tyres in GTL and the "trackday" tyres in GTR Evo and above are remarkably similar in how they behave in their ideal operating zone. I'd actually say it's easier to drive the road cars (viper, ccx, r8 single class) in Evo than it is to drive them in Shift, as long as you've got the car in shape.

Sorry, I didn't realise you weren't unpacking the game and actually looking at anything in there.

Of course, more sim-like games don't give you kudos points for bashing into other cars, either... :lol:

They could have explained this better - I think a lot of people went through the game and thought that points on the right side were the same as points on the left, when the aggression points are kind of like a big turd badge that make the AI bash you a lot more. And then the same people complained about being bashed by the AI...
 
Sorry, I didn't realise you weren't unpacking the game and actually looking at anything in there.

I started the game one week after it was released. Turned all the aids off and ran through the tiers.

I loved it the first two days. The immersion. The seeming realism. Then hated it another two... then loved it again when I got to more powerful/tricky cars... then hated it again when I realized I was doing it all wrong... that the game engine actually encourages powersliding rather than penalizing you with a loss of momentum... and that it got easier the harder you push.

Add to that the fact that simply installing a modified suspension or a cage on many cars made them uncontrollably bouncy... no matter how you set up the dampers and springs... and that said bounciness simply got worse the longer you went into a race... I just didn't feel like the challenge was doing anything for me.

Granted, it is challenging, but often for the wrong reasons. Many others here were similarly disappointed. The general consensus being that it felt like there were different physics engines in play based on what you were doing. In some respects, the engine feels incredibly, incredibly good and realistic. Light years beyond GT5P. In others, it feels just like NFS... which is just sad. The developer did a bang-up job of bringing a sim engine to the PS3 console... only to have it ruined by what seems to be conflicting objectives imposed by EA. I don't need another "Pro-Street" (granted, SHIFT is 200% better) that holds my hand and keeps me on the track while I play. I'd rather drive by myself... thanks.

We have a long... long and lengthy discussion about SHIFT's game engine elsewhere in this forum.

SHIFT sits gathering dust in my living room while I consider whether or not to pick up a copy of Supercar Challenge just to have something to do while waiting for GT5. Now that I have a halfway decent computer, I'm actually thinking of getting into something more serious on the PC.

They could have explained this better - I think a lot of people went through the game and thought that points on the right side were the same as points on the left, when the aggression points are kind of like a big turd badge that make the AI bash you a lot more. And then the same people complained about being bashed by the AI...

It's even better. They rate "drafting" as an "aggression" move, when it's simply basic racecraft. I suppose if there were a drag racing mode, it would also teach us that downshifting is cheating, and give us major aggression points for doing so. :lol:
 
Shadow Wulf 2k > notice a didn't say oversteer, I said "turn on themselves". That's the way I feel

boxox > I get your point. There are people saying Shift is the best of all. Technically, it might well be, but IMHO, as a sim, Shift fails. Badly. I've driven GPL and GTL quite a lot, and even though they're far from perfect, they don't seem to be on the same dimension to me. I did an experiment : I took the SL65 and drove like a "gentleman driver", so to speak. Felt alright. Then drove like a... Mario kart addict (no offencs), braking too late, drifting (involuntarily) through every corner. Not only it felt wrong and looked wrong, but it was faster

niky > agree. It feels wrong the moment the tires start to loose grip
do you have the link to the discussion you're talking about ?
 
Last edited:
Knock yourself out:

The Shift Physics Thread

Note that they have updated the game since then to fix some of the problems (they've lessened the "SHIFT bounce") but most of this still holds true.

There have been a lot of other threads complaining about SHIFT's gameplay, but those simply re-tread old ground.
 
I started the game one week after it was released. Turned all the aids off and ran through the tiers.

I loved it the first two days. The immersion. The seeming realism. Then hated it another two... then loved it again when I got to more powerful/tricky cars... then hated it again when I realized I was doing it all wrong... that the game engine actually encourages powersliding rather than penalizing you with a loss of momentum... and that it got easier the harder you push.

Add to that the fact that simply installing a modified suspension or a cage on many cars made them uncontrollably bouncy... no matter how you set up the dampers and springs... and that said bounciness simply got worse the longer you went into a race... I just didn't feel like the challenge was doing anything for me.

Here's where it can help to look at the files rather than have a nice chat on a forum :)

FLSpringMult=(1.0,1.5,0,4) // doubles spring rate over 9 upgrades
FRSpringMult=(1.0,1.5,0,4)
RLSpringMult=(1.0,1.5,0,4)
RRSpringMult=(1.0,1.5,0,4)

FLDamperMulti=(1.0,1.25,0,4) // 50% damper rate increase over 9 upgrades
FRDamperMulti=(1.0,1.25,0,4)
RLDamperMulti=(1.0,1.25,0,4)
RRDamperMulti=(1.0,1.25,0,4)

FLRideHeightSetting=+(1,4,1,3)\\ lowers car a total of 30mm over level 1-3 (10mm per step x 3)
FRRideHeightSetting=+(1,4,1,3)
RLRideHeightSetting=+(1,4,1,3)
RRRideHeightSetting=+(1,4,1,3)

FLRideHeightSetting=+(6,6,4,4)\\ lowers car a total of 30mm over level 6-9 (5mm per step x 6)
FRRideHeightSetting=+(6,6,4,4)
RLRideHeightSetting=+(6,6,4,4)
RRRideHeightSetting=+(6,6,4,4)

That's what the generic suspension upgrade file actually does (it works differently for the gt3rs and some other higher level cars).

Granted, it is challenging, but often for the wrong reasons. Many others here were similarly disappointed. The general consensus being that it felt like there were different physics engines in play based on what you were doing. In some respects, the engine feels incredibly, incredibly good and realistic. Light years beyond GT5P. In others, it feels just like NFS... which is just sad. The developer did a bang-up job of bringing a sim engine to the PS3 console... only to have it ruined by what seems to be conflicting objectives imposed by EA. I don't need another "Pro-Street" (granted, SHIFT is 200% better) that holds my hand and keeps me on the track while I play. I'd rather drive by myself... thanks.

Well, I've spent the last few months playing with modding the game rather than having it gather dust, and I'm telling you, there's not a lot there that holds your hand, that you can't turn off .. and see that there's not that much hand holding in the first place. Mainly, as I said, it's the tyres, and strategic layer things to do with flags, pit lane and other rules. And not a lot else.

We have a long... long and lengthy discussion about SHIFT's game engine elsewhere in this forum.

Well that's good, but if none of you even had the unpacker, it's kind of a "blind men describing an elephant by feel" discussion. You can't see or really change anything.

SHIFT sits gathering dust in my living room while I consider whether or not to pick up a copy of Supercar Challenge just to have something to do while waiting for GT5. Now that I have a halfway decent computer, I'm actually thinking of getting into something more serious on the PC.

You should try it on PC actually, other than the renderer and basic frame of the game I don't know how much I even run at stock. Turning back on most of the sim features is about as hard as doing a find/replace.

It's even better. They rate "drafting" as an "aggression" move, when it's simply basic racecraft. I suppose if there were a drag racing mode, it would also teach us that downshifting is cheating, and give us major aggression points for doing so. :lol:

I bet there are all sorts of things we could make up that Shift would do badly, if it did them. I bet it would use instant to make me a coffee, if it made coffee. That goddamn Shift.
 
Well that's good, but if none of you even had the unpacker, it's kind of a "blind men describing an elephant by feel" discussion. You can't see or really change anything
hold on. We are blind because we don't know about the inner files in Shift ? that can only be part of the argument, because I don't see your point

talking about it, what do you think of the "real mod" ?
 
hold on. We are blind because we don't know about the inner files in Shift ? that can only be part of the argument, because I don't see your point

The UI only tells you so much, and some of that is sometimes wrong. You can set the wing and splitter, but not find out the drag index of the car. You can reduce the weight, but not find out the starting mass. Or say take the inverted oversteer/understeer indicator pre 1.02 - there are actually still some UI elements that will display the wrong info, reset to the wrong thing, unlock or lock the wrong settings, etc.

talking about it, what do you think of the "real mod" ?

Heart was in the right place, but was really just button mashing. Shift to GTR2 and GTR2 to Shift is not something that produces good results without very careful work. It was not careful work. GTL, GTR2, and GTR Evo are much closer to each other than any are to Shift, and even converting between them needs extensive testing - it's the difference between Historix or Power and Glory and "GTL Mod For Evo V1.0". Some settings they brought over scale to a different order of values or assume another baseline constant setting is set to something else.

It was good to the extent that it showed that if you write "GTR2" on something people will think it is realistic, and if you write "Need for Speed" on something they will think it isn't.
 
Well, if the problem was a lack of induced understeer and unrealistic response to braking, you'll love being able to drive around most of any track in 6th with the pedal on the floor in realmod.
 
Well that's good, but if none of you even had the unpacker, it's kind of a "blind men describing an elephant by feel" discussion. You can't see or really change anything.
So, if we don't have a way to get into the game's inner files and purely play the game as presented to us by the developers (like say on a console) we can't properly judge how the game plays?

If the physics are fine but the intended UI prevents us from having the knowledge necessary to use those physics properly then the game still has problems. No developer should rely on people being able to unpack the files to get the intended experience. That is just bad design.
 
I just find the physics to be like the car was steering from a central axis and that the cars were too forgiving.
 
So, if we don't have a way to get into the game's inner files and purely play the game as presented to us by the developers (like say on a console) we can't properly judge how the game plays?

If the physics are fine but the intended UI prevents us from having the knowledge necessary to use those physics properly then the game still has problems. No developer should rely on people being able to unpack the files to get the intended experience. That is just bad design.

As far as I know, the UI is the one part of the game that EA had anything much to do with - done by EA Black Box - while the rest of the game was all SMS/Blimey! with a little hand from DICE. The UI is absolutely wretched and manages to tell you about half as much as GTR2's tuning screen while being twice as fiddly to use and ten times as buggy. It's a real piece of ****. That's why it's a bad idea to use it to make sweeping pronouncements about the physics engine :)

As far as physics goes - there is a certain placebo effect to things when you can't see what it is you're actually doing or what modifiers or multipliers are actually at work. I assure you that no matter what driving game you think is best, it is going to use something very similar to what you see in Shift (or what you see me post from Shift), maybe as commas seperated values, maybe as a big server side sql database, but still just numbers. Which may or may not relate to the UI or anything else really. Just because you can't pull the contents of GT5P out and play with them doesn't mean it's not there :)
 
Here's where it can help to look at the files rather than have a nice chat on a forum :)

FLSpringMult=(1.0,1.5,0,4) // doubles spring rate over 9 upgrades
FRSpringMult=(1.0,1.5,0,4)
RLSpringMult=(1.0,1.5,0,4)
RRSpringMult=(1.0,1.5,0,4)

FLDamperMulti=(1.0,1.25,0,4) // 50% damper rate increase over 9 upgrades
FRDamperMulti=(1.0,1.25,0,4)
RLDamperMulti=(1.0,1.25,0,4)
RRDamperMulti=(1.0,1.25,0,4)

FLRideHeightSetting=+(1,4,1,3)\\ lowers car a total of 30mm over level 1-3 (10mm per step x 3)
FRRideHeightSetting=+(1,4,1,3)
RLRideHeightSetting=+(1,4,1,3)
RRRideHeightSetting=+(1,4,1,3)

FLRideHeightSetting=+(6,6,4,4)\\ lowers car a total of 30mm over level 6-9 (5mm per step x 6)
FRRideHeightSetting=+(6,6,4,4)
RLRideHeightSetting=+(6,6,4,4)
RRRideHeightSetting=+(6,6,4,4)

That's what the generic suspension upgrade file actually does (it works differently for the gt3rs and some other higher level cars).

Would be great if I were playing this on the PC, buy I am not.

*and all your files show is the modifiers for upgrades. They show nothing of the actual physics files. I do remember the tire grip file being posted before, though... and that one does have some bearing on this discussion.

Well, I've spent the last few months playing with modding the game rather than having it gather dust, and I'm telling you, there's not a lot there that holds your hand, that you can't turn off .. and see that there's not that much hand holding in the first place. Mainly, as I said, it's the tyres, and strategic layer things to do with flags, pit lane and other rules. And not a lot else.

Well that's good, but if none of you even had the unpacker, it's kind of a "blind men describing an elephant by feel" discussion. You can't see or really change anything.

What's the point of buying a game you have to "fix" to get right, when you could buy the game they based the engine off of and get it "right" the first time? (except for getting the new cars, of course).

And whether or not the game feels different after you've modified the parameters extensively doesn't change the fact that it feels wrong if you can't modify them at all. None of this information helps console owners at all.

Same as when I'm reviewing a car. When I say "this car has a terrible engine, it has flat spots", I don't have to go into it with an OBD reader and put it up on a dynamometer to say: "Hey... it's only bad because they've programmed it for economy here, and the closed-loop, open-loop changeover wasn't programmed properly... if we retune this parameter here, change the E-throttle calibration here... it's perfect!"

Said information won't help the people I'm selling the review to. At all. Now if we were being specific and saying this is SHIFT on the PC... then we could do that.

You should try it on PC actually, other than the renderer and basic frame of the game I don't know how much I even run at stock. Turning back on most of the sim features is about as hard as doing a find/replace.

I'll keep that in mind when I'm out buying titles for my PC. Or I could buy something that I don't have to debug at all.

I bet there are all sorts of things we could make up that Shift would do badly, if it did them. I bet it would use instant to make me a coffee, if it made coffee. That goddamn Shift.

SHIFT makes terrible coffee. Totally.

I didn't go into this game with the mindset: "Hey, this is NFS, it's going to be pure crap." I went in with the mindset: "This is SHIFT, it's going to totally rock!"

I bought this game for the promise of realism due to SMS's work on it... I drove it. I was blown away.

After half-a-day of playing, I wasn't. The nannying was starting to get on my nerves.

Whatever your opinion of it... there is an active element of assists, even in the Professional mode. Yes, other console racers do have an element of assist... to smooth out rough inputs or throttle inputs (here's what GT5P got wrong... not enough assist or "slack" in controller inputs)... and Shift goes one better than them by giving you the ability to adjust controller sensitivity... but being a "simcade" racer, it is designed more to entertain than involve. In other words, oversteer > understeer. And this is what turned me, off, eventually.

If they'd only had one more level of realism above Professional, I would have been hooked. But they don't. And you can't hack a PS3 version. So mine is gathering dust. I'm happy for you PC guys for being able to crack it open and get it working like it should... but again: why should you have to?

I think SHIFT is a great title. Great for casual gamers... not quite there for hardcore gamers, but definitely a good effort. And if EA goes on to making a SHIFT 2.0, I hope they finally fix those flaws.
 
Would be great if I were playing this on the PC, buy I am not.

*and all your files show is the modifiers for upgrades. They show nothing of the actual physics files. I do remember the tire grip file being posted before, though... and that one does have some bearing on this discussion.

The same file gets used in all versions as far as I know. I'm just letting you know,

the fact that simply installing a modified suspension or a cage on many cars made them uncontrollably bouncy

is a perfectly reasonable thing to assume when you look at the UI. But when it's actually increasing the multiplier rate for springs/dampers and dropping the cars ride height, basically making it stiffer over shorter travel. So that's why some cars go over a bump and freak out when you upgrade their suspension all the way. If you had damage turned on, you would probably have thrashed it to death doing that. So really the bouncing is the least of your worries there.

What's the point of buying a game you have to "fix" to get right, when you could buy the game they based the engine off of and get it "right" the first time? (except for getting the new cars, of course).

It's pretty common in the sim community - people assume that whatever game they played a few years ago that said it was realistic is the absolute be-all-end-all of realism and cannot be improved upon. The most notable case of which in recent memory was GTR > GTR2, where a few contact patch bugs were resolved in 2, making the cars a bit less likely to suddenly spin out as if they'd just hit a patch of oil (simulated contact patch got reduced to like 1cm x 1cm at certain load levels as I remember). Eventually everyone who thought that way died of acute embarrassment or something and now GTR2 is the gold standard of realism and Shift is the bad guy.

Only. The big thing you notice when you dig into GTR2 vs Shift is that GTR2 uses a one-size-suits-all-circumstances tyre radius/radius at rpm scale/latlong grip level and width, selecting from some fixed curves to suit different circumstances of cornering, acceleration and braking. Whereas Shift calculates it all on the fly based on the stresses on each tyre.

I'm just saying. Realism isn't the same thing as complexity, or accuracy, or difficulty, they're all independent of each other. Shift simulates a less realistic tyre more accurately, and GTR2 simulates a more realistic tyre less accurately. The skill in driving GTR2 is much more about car management, calibrating how you take the course to save up and prolong the period where it drives more like a Shift car. I think there are a lot of dilettantes out there who took one lap in GTR2 and thought "wow this is really gripless and understeery, that must be what realism is!". Whereas the actual difficulty of driving in it is to make the car as little like that as possible as long as possible.

And whether or not the game feels different after you've modified the parameters extensively doesn't change the fact that it feels wrong if you can't modify them at all. None of this information helps console owners at all.

I think you're reading things into this that weren't actually said - very little of the game I run is stock, which is not to say that it's radically different. It's more things like increasing the heat delta for tyres, a -5% drop in grip level, -50% grip on grass and other offroad surfaces, removing the speed blur so I can play it in cockpit mode with no HUD, doubling the race lengths, taking out the more aggressive AIs, etc.

Same as when I'm reviewing a car. When I say "this car has a terrible engine, it has flat spots", I don't have to go into it with an OBD reader and put it up on a dynamometer to say: "Hey... it's only bad because they've programmed it for economy here, and the closed-loop, open-loop changeover wasn't programmed properly... if we retune this parameter here, change the E-throttle calibration here... it's perfect!"

Said information won't help the people I'm selling the review to. At all. Now if we were being specific and saying this is SHIFT on the PC... then we could do that.

It's not really my concern what it's like on console, any more than what it's like on a gamepad, or an SDTV, or whatever. I run it how I run it. My only interest in the thread is just pointing out how the physics engine actually works and what the source data files say, since that's common across all the platforms.

For instance, if you were developing a game on a budget and you wanted the cars to be pseudo-realistic but not really, and kind of turn on themselves, you could have:

Code:
car,car,Standard,1140.000000,2000.000000,2150.000000,450.000000,0.260000,0.520000,0.840203,1.680410,0.800000,0.500000,0.000000,0.220000,0.250000,890.117943,0.000000,7826.236816,23535.324219,45628.871094,72045.562500,101712.765625,131907.312500,167301.500000,205067.484375,246299.906250,284613.250000,323109.000000,355766.562500,381856.156250,399735.687500,409131.593750,410135.000000,374310.531250,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,bmw_v.3,1,1,1,1.000000,1.000000,1.000000,1.000000,FordV8,0.000000,,0,0.000000,261.799395,Inline,0.01,0.01,0.01,Rear,-0.06,0.073000,0.125000,0.167000,0.207000,0.240000,0.273000,0.000000,0.000000,33.000000,full,6500.000000,7000.000000,1,1,1850.000000,1150.000000,0.25,0.25,0.250000,0.250000,-0.250000,-0.250000,-0.001500,0.002000,4700.000000,4000.000000,47000.000000,40000.000000,2.000000,2.000000,-0.961500,0.04,-2.256000,0.961500,1.214000,2.256000,-2.056000,2.056000,1,0,0,-0.500000,14.000000,0,1.000000,0.700000,30.000000,0.800000,0,0.300000,0.490000,-0.008000,-0.008000,-0.017000,-0.017000,1.000000,18.000000,0.559193,1,0.550000,0.085,,25.000000,2.000000,5.000000,4.000000,0,0.08,,0.000000,0,,,0,2.200000,2.800000,0.315499,0.315499,0,0,0,3600,6,0.000000,0,0,0.5,1.000,1.000,0.000000,0.000000,0.000000,1.750000,-15.000000,25.000000,0,0.500000,0,0,0,1,3,0.0,0,0.8,0.0,1.000000,0.0,,0.000000,0.000000,0,1,0.985,0.866,0.0,1.0,1.0,0,20000.0,50000.0,0,1.0,1.5,0.050000,0.00,,,,,,,0.000000,0.000000,0.000000,4,15,10,35,100.000000,4.000000,3.100000,5.000000,400.000000,400.000000,0.400000,0.350000,-0.348976,0.348976,-0.348976,0.348976,-0.348976,0.348976,-0.348976,0.348976,-50.000000,50.000000,-50.000000,50.000000,0.010000,5000000.000000,0.010000,5000000.000000,0.010000,5000000.000000,0.010000,5000000.000000,0.010000,5000000.000000,0.010000,5000000.000000,0.010000,5000000.000000,0.001000,0.140000,0.001000,1.500000,0.001000,30000.000000,0.001000,15000.000000,0.000000,1.000000,0.000000,1.000000,1.560000,25.000000,2.000000,30.000000,1.560000,15.000000,2.000000,30.000000,1030300,1030300,0.000000,1.000000,0.000000,1.000000,0.05,0.000000,0.850000,4.000000,1,,0.000000,0.800000,0,12,0.000000,,,1,1,1,1,1,1,1,1,1,1,0.500000,0.300000,0.300000,0.000000,0.000000,0.000000,0.500000,0.300000,0.200000,0.000000,0.000000,0.000000,15.000000,35.000000,55.000000,0.000000,0.000000,0.130000,0.150000,25.000000,,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,,,60,0.4,,,0.15,,,,,,,,,,,0,-0.020000,-0.050000,11,7,7,-0.0005,-0.0005,0.55,0.55,30,10,0.002,0.0004,0.05,-0.45,0.1,,0.500000,,,,

3kb of comma separated values to define the car, most of which is not to do with actually driving. Like Grid.

If you're interested in a bit more than that, you could make, say,

Code:
<?xml version="1.0" ?>
<Reflection>
    <class name="BRTTIRefCount" base="root class" />
    <class name="BPersistent" base="BRTTIRefCount">
        <prop name="Name" type="String" />
    </class>
    <class name="CarPhysicsDetails" base="BPersistent">
        <prop name="Vehicle Chassis" type="String" />
        <prop name="Vehicle Engine" type="String" />
        <prop name="Vehicle Gearbox" type="String" />
        <prop name="Vehicle Suspension" type="String" />
        <prop name="Vehicle Collision" type="String" />
        <prop name="Vehicle Tyres" type="String" />
        <prop name="Vehicle Drift Tyres" type="String" />
        <prop name="Wheel FL Offset" type="Vec3f" />
        <prop name="Wheel FL Dimensions" type="Vec2f" />
        <prop name="Wheel FR Offset" type="Vec3f" />
        <prop name="Wheel FR Dimensions" type="Vec2f" />
        <prop name="Wheel RL Offset" type="Vec3f" />
        <prop name="Wheel RL Dimensions" type="Vec2f" />
        <prop name="Wheel RR Offset" type="Vec3f" />
        <prop name="Wheel RR Dimensions" type="Vec2f" />
        <prop name="Turbo Model" type="String" />
        <prop name="Boost Model" type="String" />
        <prop name="Upgrade Engine" type="String" />
        <prop name="Upgrade Drivetrain" type="String" />
        <prop name="Upgrade Turbo" type="String" />
        <prop name="Upgrade Suspension" type="String" />
        <prop name="Upgrade Brakes" type="String" />
        <prop name="Upgrade Tyres" type="String" />
        <prop name="Upgrade Nitro" type="String" />
        <prop name="Upgrade Body" type="String" />
        <prop name="Brake Disc Glow Min and Max" type="Vec2f" />
    </class>
    <data class="CarPhysicsDetails" id="0x1BDB6B0">
        <prop name="Name" data="BMW M3 GT2" />
        <prop name="Vehicle Chassis" data="BMW_M3_GT2" />
        <prop name="Vehicle Engine" data="BMW_M3_GT2" />
        <prop name="Vehicle Gearbox" data="Common" />
        <prop name="Vehicle Suspension" data="Aarm_MultiLink" />
        <prop name="Vehicle Collision" data="BMW_M3_GT2" />
        <prop name="Vehicle Tyres" data="Slick_GT2" />
        <prop name="Vehicle Drift Tyres" data="Street_2_Drift" />
        <prop name="Wheel FL Offset" data="0.79;0.32;-1.38" />
        <prop name="Wheel FL Dimensions" data="0.31;0.64" />
        <prop name="Wheel FR Offset" data="-0.79;0.32;-1.38" />
        <prop name="Wheel FR Dimensions" data="0.31;0.64" />
        <prop name="Wheel RL Offset" data="0.78;0.34;1.38" />
        <prop name="Wheel RL Dimensions" data="0.34;0.68" />
        <prop name="Wheel RR Offset" data="-0.78;0.34;1.38" />
        <prop name="Wheel RR Dimensions" data="0.34;0.68" />
        <prop name="Turbo Model" data="" />
        <prop name="Boost Model" data="" />
        <prop name="Upgrade Engine" data="" />
        <prop name="Upgrade Drivetrain" data="" />
        <prop name="Upgrade Turbo" data="" />
        <prop name="Upgrade Suspension" data="" />
        <prop name="Upgrade Brakes" data="" />
        <prop name="Upgrade Tyres" data="" />
        <prop name="Upgrade Nitro" data="" />
        <prop name="Upgrade Body" data="" />
        <prop name="Brake Disc Glow Min and Max" data="" />
    </data>
</Reflection>

// NFS BMW GT2 race car  chassis definition file.
//
[GENERAL]
AdjustableUpgradeLevel_0=4 //base upgrade level tuning allowed. (ie used so a full racecar has full adjustablity "stock")
Rules=0                         // what rules to apply to garage setups (0=none, 1=stock car)
GarageDisplayFlags=7            // how settings are displayed in garage (add): 1=rear wing, 2=radiator, 4=more gear info
FeelerFlags=0                   // how collision feelers are generated (add): 1=box influence 2=reduce wall-jumping 4=allow adjustment hack 8=top directions
Mass=1200.0                      // all mass except fuel  (1100kg car + 80kg driver weight)
Inertia=(1500.0,1600.0,370.0)    // all inertia except fuel
FuelTankPos=(0.0, 0.200, -0.600)  // location of tank affects center of gravity (very close and even slightly ahead of CG in F1)
FuelTankMotion=(560.0,0.7)      // simple model of fuel movement in tank (spring rate per kg, critical damping ratio)
Notes=""
Symmetric=1
CGHeight=0.250                  // height of body mass (excluding fuel) above reference plane
CGRightRange=(0.50, 0.000, 0)  // fraction of weight on left tires
CGRightSetting=0
CGRearRange=(0.50, 0.000, 0)
CGRearSetting=0
GraphicalOffset=(0.0, 0.0, 0.0) // does not affect physics!
CollisionOffset=(0.0, 0.02, 0.0) // Moves collision mesh independently of G'offset and undertray feelers
Undertray00=(0.85,  0.02, -1.400)  // offset from center of car, and between axles// LF (Left front corner of splitter) (forward is negative, right is negative)
Undertray01=(-0.85, 0.02, -1.400)  // offset from center of car, and between axles// RF (Right front corner of splitter)
Undertray02=(0.85,  0.02, 1.000)  // offset from center of car, and between axles // LR (Left rear corner of floor
Undertray03=(-0.85, 0.02, 1.000)  // offset from center of car, and between axles // RR (Right rear corner of floor)
UndertrayParams=(262500.0,11600.0, 0.0) // undertray spring rate, damper rate, and coefficient of friction
FrontTireCompoundSetting=0         // Front compound index within brand
RearTireCompoundSetting=0          // Rear compound index within brand
FuelRange=(1.0, 1.0, 100)
FuelSetting=49
NumPitstopsRange=(0, 1, 4)
NumPitstopsSetting=3
Pitstop1Range=(1.0, 1.0, 100)
Pitstop1Setting=99
Pitstop2Range=(1.0, 1.0, 100)
Pitstop2Setting=99
Pitstop3Range=(1.0, 1.0, 100)
Pitstop3Setting=99
AIMinPassesPerTick=2            // minimum passes per tick (can use more accurate spring/damper/torque values, but takes more CPU)
AIRotationThreshold=0.12        // rotation threshold (rads/sec) to temporarily increment passes per tick
AIEvenSuspension=0.0            // averages out spring and damper rates to improve stability (0.0 - 1.0)
AISpringRate=1.0               // spring rate adjustment for AI physics (improves stability)
AIDamperSlow=0.5                // contribution of average slow damper into simple AI damper
AIDamperFast=0.5                // contribution of average fast damper into simple AI damper
AIDownforceZArm=0.150           // hard-coded center-of-pressure offset from vehicle CG
AIDownforceBias=0.0             // bias between setup and hard-coded value (0.0-1.0)
AITorqueStab=(1.40, 1.40, 1.40)   // torque adjustment to keep AI stable

[FRONTWING]
FWRange=(0.0, 1.0, 10)          // front wing range
FWSetting=10                  // front wing setting
FWMaxHeight=(0.10)              // maximum height to take account of for downforce
FWDragParams=(0.04, 0.002, 0.0)        // base drag and 1st and 2nd order with setting
FWLiftParams=(-0.110, -0.0231, 0.0)  // base lift and 1st and 2nd order with setting
FWLiftHeight=(0.335)            // effect of current height on lift coefficient
FWLiftSideways=(0.0)            // dropoff in downforce with yaw (0.0 = none, 1.0 = max)
FWLeft=(-0.20, 0.0, 0.0)        // aero forces from moving left
FWRight=(0.20, 0.0, 0.0)        // aero forces from moving right
FWUp=(0.0, -0.30, -0.001)       // aero forces from moving up
FWDown=(0.0, 0.15, 0.001)       // aero forces from moving down
FWAft=(0.0, 0.02, -0.2)        // aero forces from moving rearwards
FWFore=(0.0, 0.0, 0.0)          // aero forces from moving forwards (recomputed from settings)
FWRot=(0.5, 0.25, 0.35)        // aero torque from rotating
FWCenter=(0.00, -0.100, -0.50)    // center of front wing forces (offset from center of front axle in ref plane)

[REARWING]
RWRange=(0.0, 1.0, 10)          // rear wing range
RWSetting=10                    // rear wing setting
RWDragParams=(0.04, 0.003, 0.00)        // base drag and 1st and 2nd order with setting
RWLiftParams=(-0.150, -0.030, 0.00)  // base lift and 1st and 2nd order with setting
RWLiftSideways=(0.0)            // dropoff in downforce with yaw (0.0 = none, 1.0 = max)
RWPeakYaw=(0.0, 0.00)          // angle of peak, multiplier at peak
RWLeft=(-0.7, 0.0, 0.0)        // aero forces from moving left
RWRight=(0.7, 0.0, 0.0)        // aero forces from moving right
RWUp=(0.0, -0.40, -0.002)       // aero forces from moving up
RWDown=(0.0, 0.20, 0.002)       // aero forces from moving down
RWAft=(0.0, 0.03, -0.4)        // aero forces from moving rearwards
RWFore=(0.0, 0.0, 0.0)          // aero forces from moving forwards (recomputed from settings)
RWRot=(0.7, 0.4, 0.5)        // aero torque from rotating
RWCenter=(0.00, 0.200, 0.60)     // center of rear wing forces (offset from center of rear axle at ref plane)

[BODYAERO]
BodyDragBase=(0.32)            // base drag
BodyDragHeightAvg=(0.22)       // drag increase with average ride height
BodyDragHeightDiff=(0.47)       // drag increase with front/rear ride height difference
BodyMaxHeight=(0.20)            // maximum ride height that affects drag/lift
BodyLeft=(-0.80, 0.0, 0.0)       // aero forces from moving left
BodyRight=(0.80, 0.0, 0.0)       // aero forces from moving right
BodyUp=(0.0, -1.00, 0.0)         // aero forces from moving up
BodyDown=(0.0, 0.5, 0.0)        // aero forces from moving down
BodyAft=(0.0, 0.5, -0.2)      // aero forces from moving rearwards
BodyFore=(0.0, -0.060, 0.435)  // aero forces from moving forwards (lift value important!)
BodyRot=(3.45, 3.0, 2.30)         // aero torque from rotating 
BodyCenter=(0.0, 0.50, -1.40)   // center of body aero forces (offset from center of rear axle at ref plane)
RadiatorRange=(0.0, 1.0, 4)      // radiator range
RadiatorSetting=3               // radiator setting
RadiatorDrag=(0.000)            // effect of radiator setting on drag
RadiatorLift=(0.00)            // effect of radiator setting on lift
BrakeDuctRange=(0.0, 1.0, 5)    // brake duct range
BrakeDuctSetting=1              // brake duct setting
BrakeDuctDrag=(0.000)           // effect of brake duct setting on drag
BrakeDuctLift=(0.00)           // effect of brake duct setting on lift

[DIFFUSER]
DiffuserBase=(-.200, -0.50, 5.0) // base lift and 1st/2nd order with rear ride height
DiffuserFrontHeight=(0.000)         // 1st order with front ride height
DiffuserRake=(0.000, -00.0, 00.0)        // Optimum rake (rear - front ride height), 1st order with current difference from opt, 2nd order
DiffuserLimits=(0.000, 0.100, 0.055)    // Min ride height before stalling begins (0.0 to disable), max rear ride height for computations, max rake difference for computations
DiffuserStall=(0.0, 0.5)  // function to compute stall ride height (0.0=minimum, 1.0=average), downforce lost when bottoming out (0.0=none,1.0=complete stall)
DiffuserSideways=(0.0)              // dropoff with yaw (0.0 = none, 1.0 = max)
DiffuserCenter=(0.0, 0.10, -1.30)  // center of diffuser forces (offset from center of rear axle at ref plane)


[SUSPENSION]
ApplySlowToFastDampers=0         // whether to apply slow damper settings to fast damper settings
CorrectedInnerSuspHeight=-1        // instead of moving inner susp height relative with ride height, use this offset (set to -1 for original behavior)
AdjustSuspRates=1                // adjust suspension rates due to motion ratio ( 0=enable, 1=disable)
AlignWheels=1                    // correct for minor graphical offsets
SpringBasedAntiSway=1            // 0=diameter-based, 1=spring-based
FrontAntiSwayBase=0.0
FrontAntiSwayRange=(10000.0, 10000.0, 10)
FrontAntiSwaySetting=6
FrontAntiSwayRate=(1.36e11, 4.0) // not applicable with spring-based antisway
AllowNoAntiSway=0                // Whether first setting gets overridden to mean no antisway bar
RearAntiSwayBase=0.0
RearAntiSwayRange=(5000.0, 5000.0, 8)
RearAntiSwaySetting=6
RearAntiSwayRate=(1.36e11, 4.0)  // not applicable with spring-based antisway
FrontToeInRange=(-2.0, 0.1, 41)
FrontToeInSetting=19
RearToeInRange=(-2.0, 0.1, 41)
RearToeInSetting=21
LeftCasterRange=(-0.0, 0.25, 29)          // front-left caster
LeftCasterSetting=8
RightCasterRange=(-0.0, 0.25, 29)         // front-right caster
RightCasterSetting=8

[CONTROLS]
ThrottleControl=(2,2,1,1)
AntilockBrakes=(2,2,1,1)
SteeringFFBMult=1.0
UpshiftAlgorithm=(0.97,0.0) //  percentage of the rev limit to upshift at.  If the 2nd value is non-zero, then we will use it as the exact RPM to upshift at.
DownshiftAlgorithm=(0.80,0.75,0.75) // percentage of "optimum" downshift point in high gears, percentage of "optimum" downshift point in low gears, oval adjustment.
SteerLockRange=(5.0, 1.0, 45)
SteerLockSetting=20
RearBrakeRange=(0.200, 0.005, 121)
RearBrakeSetting=35
BrakePressureRange=(0.50, 0.01, 51)
BrakePressureSetting=40
HandbrakePressRange=(0.00, 0.05, 21) // 
HandbrakePressSetting=20
AutoUpshiftGripThresh=0.13          // auto upshift waits until all driven wheels have this much grip (reasonable range: 0.4-0.9)
AutoDownshiftGripThresh=0.13        // auto downshift waits until all driven wheels have this much grip (reasonable range: 0.4-0.9)
TractionControlGrip=(1.00, 0.20)    // average driven wheel grip multiplied by 1st number, then added to 2nd
TractionControlLevel=(0.30, 0.60)   // effect of grip on throttle for low TC and high TC
ABS4Wheel=1                         // 0 = old-style single brake pulse, 1 = more effective 4-wheel ABS
ABSGrip=(1.00, 0.20)                // grip multiplied by 1st number and added to 2nd
ABSLevel=(0.20, 0.40)               // effect of grip on brakes for low ABS and high ABS


[ENGINE]
SpeedLimiter=1                      // Whether a pitlane speed limiter is available

[DRIVELINE]
DriftDiffSpool=1
AdjustableFinalGearsMinimumLevel=0
AdjustableGearsMinimumLevel=0
AdjustableGearsRange=2
AdjustableGearsFinalRange=4
ClutchEngageRate=0.8          //Auto clutch gradual engagement rate from neutral to 1st gear.
ClutchInertia=0.0111
ClutchTorque=700.0
ClutchWear=0.0
ClutchFriction=10.00
BaulkTorque=775.0
SemiAutomatic=0                     // whether throttle and clutch are operated automatically
UpshiftDelay=0.10                  // delay in selecting higher gear (low for semi-automatic, higher for manual)
UpshiftClutchTime=0.10             // time to ease auto-clutch in AFTER upshift (0.0 for F1 cars)
DownshiftDelay=0.20               // delay in selecting lower gear (low for semi-automatic, higher for manual)
DownshiftClutchTime=0.30           // time to ease auto-clutch in AFTER downshift (used to be SemiAutoClutchTime, note that the shift will complete significantly before the clutch is fully engaged)
DownshiftBlipThrottle=0.70          // amount of throttle used to blip if controlled by game (instead of player)
WheelDrive=REAR                     // which wheels are driven: REAR, FOUR (even torque split), or FRONT
FinalDriveSetting=20                 // indexed into GearFile list
ReverseSetting=0
ForwardGears=6
Gear1Setting=0
Gear2Setting=16
Gear3Setting=35
Gear4Setting=49
Gear5Setting=56
Gear6Setting=58
DiffPumpTorque=0.0                // at 100% pump diff setting, the torque redirected per wheelspeed difference in radians/sec (roughly 1.2kph)
DiffPumpRange=(0.00, 0.0, 0)
DiffPumpSetting=
DiffPowerRange=(0.0,0.05,20)        // fraction of power-side input torque transferred through diff
DiffPowerSetting=10                  // (not implemented for four-wheel drive)
DiffCoastRange=(0.0,0.05,20)        // fraction of coast-side input torque transferred through diff
DiffCoastSetting=10                 // (not implemented for four-wheel drive)
DiffPreloadRange=(60.0, 10.0, 5)     // preload torque that must be overcome to have wheelspeed difference
DiffPreloadSetting=0                // (not implemented for four-wheel drive)

[FRONTLEFT]
BumpTravel=-0.005                   // travel to bumpstop with zero packers and zero ride height
ReboundTravel=-0.180                // these two numbers assume front ride height is 30cm to 90cm with 10cm leeway
BumpStopSpring=125000.0             // initial spring rate of bumpstop
BumpStopRisingSpring=1.25e9         // rising spring rate of bumpstop (multiplied by deflection squared)
BumpStopDamper=1050.0               // initial damping rate of bumpstop
BumpStopRisingDamper=2.19e7         // rising damper rate of bumpstop (multiplied by deflection squared)
BumpStage2=0.090                    // speed where damper bump moves from slow to fast
ReboundStage2=-0.090                // speed where damper rebound moves from slow to fast
FrictionTorque=9.50                 // Newton-meters of friction between spindle and wheel
SpinInertia=1.350                   // inertia in pitch direction including any axle
CGOffsetX=0.000                     // x-offset from graphical center to physical center (NOT IMPLEMENTED)
PushrodSpindle=(-0.10, -0.150, 0.000) // relative to spindle
PushrodBody=(-0.10, 0.320, 0.000)   // spring/damper connection to body (relative to wheel center)
CamberRange=(-3.5, 0.1, 66)
CamberSetting=20
PressureRange=(130.0, 1.0, 106)
PressureSetting=50
PackerRange=(0.000, 0.001, 41)
PackerSetting=0
SpringMult=1.0                 // take into account suspension motion if spring is not attached to spindle (affects physics but not garage display)
SpringRange=(80000.0, 13333.0, 6)
SpringSetting=3
RideHeightRange=(0.080, -0.005, 6)
RideHeightSetting=2
DamperMult=1.2                     // take into account suspension motion if damper is not attached to spindle (affects physics but not garage display)
SlowBumpRange=(3000.0, 300.0, 6)
SlowBumpSetting=2
FastBumpRange=(1500.0, 200.0, 6)
FastBumpSetting=2
SlowReboundRange=(4000.0, 300.0, 6)
SlowReboundSetting=2
FastReboundRange=(2000.0, 300.0, 6)
FastReboundSetting=2
BrakeDiscRange=(0.035, 0.000, 0)    // disc thickness
BrakeDiscSetting=0
BrakePadRange=(0, 1, 5)             // pad type (not implemented)
BrakePadSetting=2
BrakeDiscInertia=0.001              // inertia per meter of thickness
BrakeOptimumTemp=300.0              // optimum brake temperature in Celsius
BrakeFadeRange=400.0               // temperature outside of optimum that brake grip drops to half (too hot or too cold)
BrakeWearRate=1.215e-011             // meters of wear per second at optimum temperature
BrakeFailure=(1.33e-002,7.20e-004)  // average and variation in disc thickness at failure
BrakeTorque=4500.0                  // maximum brake torque at zero wear and optimum temp
BrakeHeating=0.00050                 // heat added linearly with brake torque
BrakeCooling=(0.80e-002,0.600e-004)  // minimum brake cooling rate (static and per unit velocity)
BrakeDuctCooling=1.760e-004         // brake cooling rate per brake duct setting

[FRONTRIGHT]
BumpTravel=-0.005                   // travel to bumpstop with zero packers and zero ride height
ReboundTravel=-0.180                // these two numbers assume front ride height is 30cm to 90cm with 10cm leeway
BumpStopSpring=125000.0             // initial spring rate of bumpstop
BumpStopRisingSpring=1.25e9         // rising spring rate of bumpstop (multiplied by deflection squared)
BumpStopDamper=1050.0               // initial damping rate of bumpstop
BumpStopRisingDamper=2.19e7         // rising damper rate of bumpstop (multiplied by deflection squared)
BumpStage2=0.090                    // speed where damper bump moves from slow to fast
ReboundStage2=-0.090                // speed where damper rebound moves from slow to fast
FrictionTorque=9.50                 // Newton-meters of friction between spindle and wheel
SpinInertia=1.350                   // inertia in pitch direction including any axle
CGOffsetX=0.000                     // x-offset from graphical center to physical center (NOT IMPLEMENTED)
PushrodSpindle=(0.10, -0.150, 0.000) // relative to spindle
PushrodBody=(0.10, 0.320, 0.000)   // spring/damper connection to body (relative to wheel center)
CamberRange=(-3.5, 0.1, 66)
CamberSetting=20
PressureRange=(130.0, 1.0, 106)
PressureSetting=50
PackerRange=(0.000, 0.001, 41)
PackerSetting=0
SpringMult=1.0                 // take into account suspension motion if spring is not attached to spindle (affects physics but not garage display)
SpringRange=(80000.0, 13333.0, 6)
SpringSetting=3
RideHeightRange=(0.080, -0.005, 6)
RideHeightSetting=2
DamperMult=1.2                     // take into account suspension motion if damper is not attached to spindle (affects physics but not garage display)
SlowBumpRange=(3000.0, 300.0, 6)
SlowBumpSetting=2
FastBumpRange=(1500.0, 200.0, 6)
FastBumpSetting=2
SlowReboundRange=(4000.0, 300.0, 6)
SlowReboundSetting=2
FastReboundRange=(2000.0, 300.0, 6)
FastReboundSetting=2
BrakeDiscRange=(0.035, 0.000, 0)    // disc thickness
BrakeDiscSetting=0
BrakePadRange=(0, 1, 5)             // pad type (not implemented)
BrakePadSetting=2
BrakeDiscInertia=0.001              // inertia per meter of thickness
BrakeOptimumTemp=300.0              // optimum brake temperature in Celsius
BrakeFadeRange=400.0               // temperature outside of optimum that brake grip drops to half (too hot or too cold)
BrakeWearRate=1.215e-011             // meters of wear per second at optimum temperature
BrakeFailure=(1.33e-002,7.20e-004)  // average and variation in disc thickness at failure
BrakeTorque=4500.0                  // maximum brake torque at zero wear and optimum temp
BrakeHeating=0.00050                 // heat added linearly with brake torque
BrakeCooling=(0.80e-002,0.600e-004)  // minimum brake cooling rate (static and per unit velocity)
BrakeDuctCooling=1.760e-004         // brake cooling rate per brake duct setting

[REARLEFT]
BumpTravel=-0.005                   // travel to bumpstop with zero packers and zero ride height
ReboundTravel=-0.200                // these two numbers assume rear ride height is 40cm to 100cm with 10cm leeway
BumpStopSpring=125000.0             // initial spring rate of bumpstop
BumpStopRisingSpring=1.25e9         // rising spring rate of bumpstop (multiplied by deflection squared)
BumpStopDamper=1050.0               // initial damping rate of bumpstop
BumpStopRisingDamper=2.19e7         // rising damper rate of bumpstop (multiplied by deflection squared)
BumpStage2=0.090                    // speed where damper bump moves from slow to fast
ReboundStage2=-0.090                // speed where damper rebound moves from slow to fast
FrictionTorque=12.50                 // Newton-meters of friction between spindle and wheel
SpinInertia=1.427                   // inertia in pitch direction including any axle
CGOffsetX=-0.030                     // x-offset from graphical center to physical center (NOT IMPLEMENTED)
PushrodSpindle=(-0.10, -0.150, 0.000) // relative to spindle
PushrodBody=(-0.10, 0.320, 0.000)       // spring/damper connection to body (relative to wheel center)
CamberRange=(-3.5, 0.1, 66)
CamberSetting=25
PressureRange=(130.0, 1.0, 106)
PressureSetting=50
PackerRange=(0.000, 0.001, 61)
PackerSetting=0
SpringMult=1.0                  // take into account suspension motion if spring is not attached to spindle (affects physics but not garage display)
SpringRange=(70000.0, 11666.0, 6)
SpringSetting=0
RideHeightRange=(0.090, -0.005, 6)
RideHeightSetting=2
DamperMult=1.2                     // take into account suspension motion if damper is not attached to spindle (affects physics but not garage display)
SlowBumpRange=(3000.0, 300.0, 6)
SlowBumpSetting=2
FastBumpRange=(1500.0, 200.0, 6)
FastBumpSetting=2
SlowReboundRange=(5000.0, 300.0, 6)
SlowReboundSetting=2
FastReboundRange=(3000.0, 300.0, 6)
FastReboundSetting=2
BrakeDiscRange=(0.032, 0.000, 0)    // disc thickness
BrakeDiscSetting=0
BrakePadRange=(0, 1, 5)             // pad type (not implemented)
BrakePadSetting=2
BrakeDiscInertia=0.001              // inertia per meter of thickness
BrakeOptimumTemp=300.0              // optimum brake temperature in Celsius (peak brake grip)
BrakeFadeRange=400.0               // temperature outside of optimum that brake grip drops to half (too hot or too cold)
BrakeWearRate=1.215e-011             // meters of wear per second at optimum temperature
BrakeFailure=(1.33e-002,7.20e-004)  // average and variation in disc thickness at failure
BrakeTorque=4050.0                  // maximum brake torque at zero wear and optimum temp
BrakeHeating=0.00050                 // heat added linearly with brake torque
BrakeCooling=(0.70e-002,0.520e-004)  // minimum brake cooling rate (static and per unit velocity)
BrakeDuctCooling=1.600e-004         // brake cooling rate per brake duct setting


[REARRIGHT]
BumpTravel=-0.005                   // travel to bumpstop with zero packers and zero ride height
ReboundTravel=-0.200                // these two numbers assume rear ride height is 40cm to 100cm with 10cm leeway
BumpStopSpring=125000.0             // initial spring rate of bumpstop
BumpStopRisingSpring=1.25e9         // rising spring rate of bumpstop (multiplied by deflection squared)
BumpStopDamper=1050.0               // initial damping rate of bumpstop
BumpStopRisingDamper=2.19e7         // rising damper rate of bumpstop (multiplied by deflection squared)
BumpStage2=0.090                    // speed where damper bump moves from slow to fast
ReboundStage2=-0.090                // speed where damper rebound moves from slow to fast
FrictionTorque=12.50                 // Newton-meters of friction between spindle and wheel
SpinInertia=1.427                   // inertia in pitch direction including any axle
CGOffsetX=-0.030                     // x-offset from graphical center to physical center (NOT IMPLEMENTED)
PushrodSpindle=(0.10, -0.150, 0.000) // relative to spindle
PushrodBody=(0.10, 0.320, 0.000)       // spring/damper connection to body (relative to wheel center)
CamberRange=(-3.5, 0.1, 66)
CamberSetting=25
PressureRange=(130.0, 1.0, 106)
PressureSetting=50
PackerRange=(0.000, 0.001, 61)
PackerSetting=0
SpringMult=1.0                  // take into account suspension motion if spring is not attached to spindle (affects physics but not garage display)
SpringRange=(70000.0, 11666.0, 6)
SpringSetting=0
RideHeightRange=(0.090, -0.005, 6)
RideHeightSetting=2
DamperMult=1.2                     // take into account suspension motion if damper is not attached to spindle (affects physics but not garage display)
SlowBumpRange=(3000.0, 300.0, 6)
SlowBumpSetting=2
FastBumpRange=(1500.0, 200.0, 6)
FastBumpSetting=2
SlowReboundRange=(5000.0, 300.0, 6)
SlowReboundSetting=2
FastReboundRange=(3000.0, 300.0, 6)
FastReboundSetting=2
BrakeDiscRange=(0.032, 0.000, 0)    // disc thickness
BrakeDiscSetting=0
BrakePadRange=(0, 1, 5)             // pad type (not implemented)
BrakePadSetting=2
BrakeDiscInertia=0.001              // inertia per meter of thickness
BrakeOptimumTemp=300.0              // optimum brake temperature in Celsius (peak brake grip)
BrakeFadeRange=400.0               // temperature outside of optimum that brake grip drops to half (too hot or too cold)
BrakeWearRate=1.215e-011             // meters of wear per second at optimum temperature
BrakeFailure=(1.33e-002,7.20e-004)  // average and variation in disc thickness at failure
BrakeTorque=4050.0                  // maximum brake torque at zero wear and optimum temp
BrakeHeating=0.00050                 // heat added linearly with brake torque
BrakeCooling=(0.70e-002,0.520e-004)  // minimum brake cooling rate (static and per unit velocity)
BrakeDuctCooling=1.600e-004         // brake cooling rate per brake duct setting

// 500hp @7800 rpm. 500nm torque@6500
RPMTorque=(	0	,	-58.40	,	-58.00	)
RPMTorque=(	250	,	-33.00	,	-9.00	)
RPMTorque=(	500	,	-13.70	,	60.00	)
RPMTorque=(	750	,	-22.00	,	90.00	)
RPMTorque=(	1000	,	-30.40	,	200.00	)
RPMTorque=(	1250	,	-35.00	,	300.00	)
RPMTorque=(	1500	,	-40.00	,	300.00	)
RPMTorque=(	1750	,	-45.00	,	320.00	)
RPMTorque=(	2000	,	-49.60	,	350.00	)
RPMTorque=(	2250	,	-53.00	,	360.00	)
RPMTorque=(	2500	,	-55.20	,	370.00	)
RPMTorque=(	2750	,	-60.00	,	385.00	)
RPMTorque=(	3000	,	-65.20	,	400.00	)
RPMTorque=(	3250	,	-71.00	,	410.00	)
RPMTorque=(	3500	,	-78.70	,	420.00	)
RPMTorque=(	3750	,	-85.00	,	430.00	)
RPMTorque=(	4000	,	-92.00	,	440.00	)
RPMTorque=(	4250	,	-98.00	,	450.00	)
RPMTorque=(	4500	,	-105.90	,	460.00	)
RPMTorque=(	4750	,	-117.00	,	470.00	)
RPMTorque=(	5000	,	-120.10	,	475.00	)
RPMTorque=(	5250	,	-133.00	,	480.00	)
RPMTorque=(	5500	,	-145.60	,	485.00	)
RPMTorque=(	5750	,	-157.00	,	490.00	)
RPMTorque=(	6000	,	-169.50	,	495.00	)
RPMTorque=(	6250	,	-176.00	,	500.00	)
RPMTorque=(	6500	,	-184.70	,	500.00	)
RPMTorque=(	6750	,	-193.00	,	495.00	)
RPMTorque=(	7000	,	-200.20	,	485.00	)
RPMTorque=(	7250	,	-213.00	,	473.00	)
RPMTorque=(	7500	,	-226.00	,	467.00	)
RPMTorque=(	7750	,	-238.00	,	460.00	)
RPMTorque=(	8000	,	-252.20	,	430.00	)
RPMTorque=(	8250	,	-275.00	,	400.00	)
RPMTorque=(	8500	,	-298.80	,	350.00	)
RPMTorque=(	8750	,	-315.00	,	200.00	)
RPMTorque=(	9000	,	-330.00	,	75.00	)
RPMTorque=(	9250	,	-365.00	,	5.00	)
RPMTorque=(	9500	,	-400.00	,	0.00	)
RPMTorque=(	9750	,	-450.00	,	-15.00	)
RPMTorque=(	10000	,	-500.00	,	-20.00	)
FuelConsumption=4.25e-5
FuelEstimate=1.05
EngineInertia=0.350
IdleThrottle=1.0
IdleRPMLogic=(1050.0, 1100.0)
LaunchEfficiency=0.969
LaunchRPMLogic=(5000.0, 6000.0)
RevLimitRange=(8500.0, 100.0, 0 )
RevLimitSetting=0
RevLimitLogic=150.0
EngineMapRange=(0, 1, 5)
EngineMapSetting=2
EngineBrakingMapRange=(0.0, 0.000125, 6)
EngineBrakingMapSetting=3
OptimumOilTemp=95.0
CombustionHeat=40.0
EngineSpeedHeat=12.000e-004
OilMinimumCooling=7.50e-003        // heat dissipated without oil/water transfer
OilWaterHeatTransfer=(3.962e-001,7.925e-005)  // heat transfer from oil to water (base, w/ engine speed)
WaterMinimumCooling=3.962e-003
RadiatorCooling=(2.0e-004, 15.0e-005)
LifetimeEngineRPM=(8800.0, 95.0)
LifetimeOilTemp=(100.00, 3.00)
LifetimeAvg=10800
LifetimeVar=2250
EngineEmission=(0.0, 0.55, -2.550)
EngineSound=(0.400, 0.800, -1.25)
OnboardStarter=1
StarterTiming=(1.4, 0.4, 1.5)

// Common gearbox
[GEAR_RATIOS]
ratio=(10,35)   // 3.500 (0)
ratio=(12, 36)  // 3.000 
ratio=(22, 65)  // 2.955
ratio=(12, 35)  // 2.917
ratio=(16, 46)  // 2.875
ratio=(12, 34)  // 2.833
ratio=(14, 39)  // 2.786
ratio=(12, 33)  // 2.750
ratio=(17, 46)  // 2.706
ratio=(12, 32)  // 2.667
ratio=(16, 42)  // 2.625 (10)
ratio=(12, 31)  // 2.583 
ratio=(13, 33)  // 2.538
ratio=(12, 30)  // 2.500
ratio=(13, 32)  // 2.462
ratio=(12, 29)  // 2.417
ratio=(16, 38)  // 2.375
ratio=(12, 28)  // 2.333
ratio=(14, 32)  // 2.286
ratio=(12, 27)  // 2.250
ratio=(14, 31)  // 2.214 (20)
ratio=(12, 26)  // 2.167 
ratio=(16, 34)  // 2.125
ratio=(12, 25)  // 2.083
ratio=(22, 45)  // 2.045
ratio=(12, 24)  // 2.000
ratio=(23, 45)  // 1.957
ratio=(13, 25)  // 1.923
ratio=(19, 36)  // 1.895
ratio=(15, 28)  // 1.867
ratio=(24, 44)  // 1.833 (30)
ratio=(15, 27)  // 1.800 
ratio=(17, 30)  // 1.765
ratio=(23, 40)  // 1.739
ratio=(14, 24)  // 1.714
ratio=(25, 42)  // 1.680
ratio=(17, 28)  // 1.647
ratio=(16, 26)  // 1.625
ratio=(20, 32)  // 1.600
ratio=(19, 30)  // 1.579
ratio=(20, 31)  // 1.550 (40)
ratio=(25, 38)  // 1.520 
ratio=(25, 37)  // 1.480
ratio=(22, 32)  // 1.455
ratio=(19, 27)  // 1.421
ratio=(18, 25)  // 1.389
ratio=(22, 30)  // 1.364
ratio=(18, 24)  // 1.333
ratio=(17, 22)  // 1.294
ratio=(19, 24)  // 1.263
ratio=(20, 25)  // 1.250 (50)
ratio=(19, 23)  // 1.211 
ratio=(17, 20)  // 1.176
ratio=(22, 25)  // 1.136
ratio=(22, 24)  // 1.091
ratio=(22, 23)  // 1.045
ratio=(22, 22)  // 1.000
ratio=(24, 23)  // 0.958
ratio=(28, 23) // 0.83 
ratio=(29,22) //0.76 (59)
ratio=(31,21) // 0.71 (60)
ratio=(33,20) // 0.606
ratio=(32,16) // 0.50

[FINAL_DRIVE]
bevel=(1, 1)
ratio=(6, 39)  // 6.50 (0)
ratio=(6, 38)  // 6.33
ratio=(5, 31)  // 6.20
ratio=(6, 36)  // 6.00
ratio=(6, 35)  // 5.83
ratio=(6, 34)  // 5.67
ratio=(6, 33)  // 5.50
ratio=(7, 38)  // 5.43
ratio=(7, 37)  // 5.29
ratio=(7, 36)  // 5.14 
ratio=(7, 35)  // 5.00 (10)
ratio=(7, 34)  // 4.86
ratio=(7, 33)  // 4.71
ratio=(8, 37)  // 4.63
ratio=(9, 41)  // 4.56
ratio=(8, 36)  // 4.50
ratio=(9, 40)  // 4.44
ratio=(9, 39)  // 4.33
ratio=(9, 38)  // 4.22
ratio=(9, 37)  // 4.11 
ratio=(9, 36)  // 4.00 (20)
ratio=(9, 35)  // 3.89
ratio=(11, 42) // 3.82
ratio=(12, 45) // 3.75
ratio=(10, 37) // 3.70
ratio=(10, 36) // 3.60
ratio=(11, 39) // 3.55
ratio=(10, 35) // 3.50
ratio=(11, 38) // 3.45
ratio=(10, 34) // 3.40 
ratio=(12, 40) // 3.33 (30)
ratio=(12, 39) // 3.25
ratio=(14, 43) // 3.07
ratio=(13, 39) // 3.00
ratio=(16, 47) // 2.94
ratio=(11, 32) // 2.91
ratio=(14, 40) // 2.86
ratio=(15, 42) // 2.80 (37)
ratio=(15,40) // 2.66
ratio=(16,40) // 2.50

// NFS PS2 Generic A-arm / Mutlilink suspension geometry

// Body including all rigidly attached parts (wings, barge boards, etc.)
[BODY]
name=body mass=(0.0) inertia=(0.0,0.0,0.0)
pos=(0.0,0.00,0.0) ori=(0.0,0.0,0.0)

// Front spindles
[BODY]
name=fl_spindle mass=(18.0) inertia=(0.0275,0.0260,0.0245)
pos=(0.67,0.0,-1.65) ori=(0.0,0.0,0.0)

[BODY]
name=fr_spindle mass=(18.0) inertia=(0.0275,0.0260,0.0245)
pos=(-0.67,0.0,-1.65) ori=(0.0,0.0,0.0)

// Front wheels
[BODY]
name=fl_wheel mass=(25.0) inertia=(1.292,0.800,0.800)
pos=(0.67,0.0,-1.65) ori=(0.0,0.0,0.0)

[BODY]
name=fr_wheel mass=(25.0) inertia=(1.292,0.800,0.800)
pos=(-0.67,0.0,-1.65) ori=(0.0,0.0,0.0)

// Rear spindles
[BODY]
name=rl_spindle mass=(17.0) inertia=(0.0275,0.0260,0.0245)
pos=(0.749,0.0,1.35) ori=(0.0,0.0,0.0)

[BODY]
name=rr_spindle mass=(17.0) inertia=(0.0275,0.0260,0.0245)
pos=(-0.749,0.0,1.35) ori=(0.0,0.0,0.0)

// Rear wheels (includes half of rear-axle)
[BODY]
name=rl_wheel mass=(26.0) inertia=(1.446,0.875,0.875)
pos=(0.749,0.0,1.35) ori=(0.0,0.0,0.0)

[BODY]
name=rr_wheel mass=(26.0) inertia=(1.446,0.875,0.875)
pos=(-0.749,0.0,1.35) ori=(0.0,0.0,0.0)

// Fuel in tank is not rigidly attached - it is attached with springs and
// dampers to simulate movement.  Properties are defined in the HDV file.

[BODY]
name=fuel_tank mass=(1.0) inertia=(1.0,1.0,1.0)
pos=(0.0,0.0,0.0) ori=(0.0,0.0,0.0)

// Driver's head is not rigidly attached, and it does NOT affect the vehicle
// physics.  Position is from the eyepoint defined in the VEH file, while
// other properties are defined in the head physics file.

[BODY]
name=driver_head mass=(5.0) inertia=(0.02,0.02,0.02)
pos=(0.0,0.0,0.0) ori=(0.0,0.0,0.0)



//////////////////////////////////////////////////////////////////////////
//
// Constraints
//
//////////////////////////////////////////////////////////////////////////

// Front wheel and spindle connections
[JOINT&HINGE]
posbody=fl_wheel negbody=fl_spindle pos=fl_wheel axis=(-1.0,0.0,0.0)

[JOINT&HINGE]
posbody=fr_wheel negbody=fr_spindle pos=fr_wheel axis=(1.0,0.0,0.0)

// Front left suspension (2 A-arms + 1 steering arm = 5 links)
[BAR] // forward upper arm
name=fl_fore_upper posbody=body negbody=fl_spindle pos=(0.258,0.130,-1.802) neg=(0.613,0.128,-1.650)

[BAR] // rearward upper arm
posbody=body negbody=fl_spindle pos=(0.258,0.130,-1.574) neg=(0.613,0.128,-1.650)

[BAR] // forward lower arm
posbody=body negbody=fl_spindle pos=(0.258,-0.130,-1.735) neg=(0.613,-0.132,-1.650)

[BAR] // rearward lower arm
name=fl_fore_lower posbody=body negbody=fl_spindle pos=(0.258,-0.130,-1.621) neg=(0.613,-0.132,-1.650)

[BAR] // steering arm (must be named for identification)
name=fl_steering posbody=body negbody=fl_spindle pos=(0.200,0.02,-1.700) neg=(0.606,0.02,-1.742)

// Front right suspension (2 A-arms + 1 steering arm = 5 links)
[BAR] // forward upper arm (used in steering lock calculation)
name=fr_fore_upper posbody=body negbody=fr_spindle pos=(-0.258,0.130,-1.802) neg=(-0.613,0.128,-1.650)

[BAR] // rearward upper arm
posbody=body negbody=fr_spindle pos=(-0.258,0.130,-1.574) neg=(-0.613,0.128,-1.650)

[BAR] // forward lower arm
name=fr_fore_lower posbody=body negbody=fr_spindle pos=(-0.258,-0.130,-1.735) neg=(-0.613,-0.132,-1.650)

[BAR] // rearward lower arm
posbody=body negbody=fr_spindle pos=(-0.258,-0.130,-1.621) neg=(-0.613,-0.132,-1.650)

[BAR] // steering arm (must be named for identification)
name=fr_steering posbody=body negbody=fr_spindle pos=(-0.200,0.02,-1.700) neg=(-0.606,0.02,-1.742)

// Rear left suspension (2 A-arms + 1 Tie Rod = 5 links)
[BAR] // forward upper arm
posbody=body negbody=rl_spindle pos=(0.05,0.140,1.106) neg=(0.600,0.135,1.35)

[BAR] // rearward upper arm
posbody=body negbody=rl_spindle pos=(0.05,0.140,1.350) neg=(0.600,0.135,1.35)

[BAR] // forward lower arm
posbody=body negbody=rl_spindle pos=(0.05,-0.140,1.227) neg=(0.600,-0.145,1.35)

[BAR] // rearward lower arm
posbody=body negbody=rl_spindle pos=(0.05,-0.140,1.450) neg=(0.600,-0.145,1.35)

[BAR] // Tie Rod
posbody=body negbody=rl_spindle pos=(0.050,0.010,1.48) neg=(0.600,-0.000,1.48)

// Rear right suspension (2 A-arms + 1 Tie Rod = 5 links)
[BAR] // forward upper arm
posbody=body negbody=rr_spindle pos=(-0.05,0.140,1.106) neg=(-0.600,0.135,1.35)

[BAR] // rearward upper arm
posbody=body negbody=rr_spindle pos=(-0.05,0.140,1.350) neg=(-0.600,0.135,1.35)

[BAR] // forward lower arm
posbody=body negbody=rr_spindle pos=(-0.05,-0.140,1.227) neg=(-0.600,-0.145,1.35)

[BAR] // rearward lower arm
posbody=body negbody=rr_spindle pos=(-0.05,-0.140,1.45) neg=(-0.600,-0.145,1.35)

[BAR] // Tie Rod
posbody=body negbody=rr_spindle pos=(-0.050,0.010,1.48) neg=(-0.600,-0.000,1.48)

// Rear spindle and wheel connections
[JOINT&HINGE]
posbody=rl_wheel negbody=rl_spindle pos=rl_wheel axis=(-1.0,0.0,0.0)

[JOINT&HINGE]
posbody=rr_wheel negbody=rr_spindle pos=rr_wheel axis=(1.0,0.0,0.0)

//Tire file NFS PS2 Slick GT2  type
//Cars: BMW GT2 (48/52 1120KG)
// 245/40-19 front (aprox)
// 375/35-19 rear  (aprox)
[SLIPCURVE]
Name="Lat"
Step=0.009000            // Slip step
DropoffFunction=0.50      // see above            
Data:
0.000 0.0042 0.0084 0.0126 0.0168 0.021 0.0252 0.0294 0.0336 0.0378
0.042 0.0462 0.0504 0.0546 0.0588 0.063 0.0672 0.0714 0.0756 0.0798
0.084 0.0882 0.0924 0.0966 0.1008 0.105 0.1092 0.1134 0.1176 0.1218
0.126 0.1302 0.1344 0.1386 0.1428 0.147 0.1512 0.1554 0.1596 0.1638
0.168 0.1722 0.1764 0.1806 0.1848 0.189 0.1932 0.1974 0.2016 0.2058
0.210 0.2142 0.2184 0.2226 0.2268 0.231 0.2352 0.2394 0.2436 0.2478
0.252 0.2562 0.2604 0.2646 0.2688 0.273 0.2772 0.2814 0.2856 0.2898
0.294 0.2982 0.3024 0.3066 0.3108 0.315 0.3192 0.3234 0.3276 0.3318
0.336 0.3402 0.3444 0.3486 0.3528 0.357 0.3612 0.3654 0.3696 0.3738
0.378 0.3822 0.3864 0.3906 0.3948 0.399 0.4032 0.4074 0.4116 0.4158
0.420 0.4242 0.4284 0.4326 0.4368 0.441 0.4452 0.4494 0.4536 0.4578
0.462 0.4662 0.4704 0.4746 0.4788 0.483 0.4872 0.4914 0.4956 0.4998
0.504 0.5082 0.5124 0.5166 0.5208 0.525 0.5292 0.5334 0.5376 0.5418
0.546 0.5502 0.5544 0.5586 0.5628 0.567 0.5712 0.5754 0.5796 0.5838
0.588 0.5922 0.5964 0.6006 0.6048 0.609 0.6132 0.6174 0.6216 0.6258
0.630 0.6342 0.6384 0.6426 0.6468 0.651 0.6552 0.6594 0.6636 0.6678
0.672 0.6762 0.6804 0.6846 0.6888 0.693 0.6972 0.7014 0.7056 0.7098
0.714 0.7182 0.7224 0.7266 0.7308 0.735 0.7392 0.7434 0.7476 0.7518
0.756 0.7602 0.7644 0.7686 0.7728 0.777 0.7812 0.7854 0.7896 0.7938
0.798 0.8022 0.8064 0.8106 0.8148 0.819 0.8232 0.8274 0.8316 0.8358
0.840 0.8442 0.8484 0.8526 0.8568 0.861 0.8652 0.8694 0.8736 0.8778
0.882 0.8862 0.8904 0.8946 0.8988 0.903 0.9072 0.9114 0.9156 0.9198
0.924 0.9282 0.9324 0.9366 0.9408 0.945 0.9492 0.9534 0.9576 0.9618
0.966 0.9682 0.9714 0.9756 0.9790 0.982 0.9825

[SLIPCURVE]
Name="Long"
Step=0.009000            // Slip step
DropoffFunction=0.50      // see above            
Data:
0.000 0.0042 0.0084 0.0126 0.0168 0.021 0.0252 0.0294 0.0336 0.0378
0.042 0.0462 0.0504 0.0546 0.0588 0.063 0.0672 0.0714 0.0756 0.0798
0.084 0.0882 0.0924 0.0966 0.1008 0.105 0.1092 0.1134 0.1176 0.1218
0.126 0.1302 0.1344 0.1386 0.1428 0.147 0.1512 0.1554 0.1596 0.1638
0.168 0.1722 0.1764 0.1806 0.1848 0.189 0.1932 0.1974 0.2016 0.2058
0.210 0.2142 0.2184 0.2226 0.2268 0.231 0.2352 0.2394 0.2436 0.2478
0.252 0.2562 0.2604 0.2646 0.2688 0.273 0.2772 0.2814 0.2856 0.2898
0.294 0.2982 0.3024 0.3066 0.3108 0.315 0.3192 0.3234 0.3276 0.3318
0.336 0.3402 0.3444 0.3486 0.3528 0.357 0.3612 0.3654 0.3696 0.3738
0.378 0.3822 0.3864 0.3906 0.3948 0.399 0.4032 0.4074 0.4116 0.4158
0.420 0.4242 0.4284 0.4326 0.4368 0.441 0.4452 0.4494 0.4536 0.4578
0.462 0.4662 0.4704 0.4746 0.4788 0.483 0.4872 0.4914 0.4956 0.4998
0.504 0.5082 0.5124 0.5166 0.5208 0.525 0.5292 0.5334 0.5376 0.5418
0.546 0.5502 0.5544 0.5586 0.5628 0.567 0.5712 0.5754 0.5796 0.5838
0.588 0.5922 0.5964 0.6006 0.6048 0.609 0.6132 0.6174 0.6216 0.6258
0.630 0.6342 0.6384 0.6426 0.6468 0.651 0.6552 0.6594 0.6636 0.6678
0.672 0.6762 0.6804 0.6846 0.6888 0.693 0.6972 0.7014 0.7056 0.7098
0.714 0.7182 0.7224 0.7266 0.7308 0.735 0.7392 0.7434 0.7476 0.7518
0.756 0.7602 0.7644 0.7686 0.7728 0.777 0.7812 0.7854 0.7896 0.7938
0.798 0.8022 0.8064 0.8106 0.8148 0.819 0.8232 0.8274 0.8316 0.8358
0.840 0.8442 0.8484 0.8526 0.8568 0.861 0.8652 0.8694 0.8736 0.8778
0.882 0.8862 0.8904 0.8946 0.8988 0.903 0.9072 0.9114 0.9156 0.9198
0.924 0.9282 0.9324 0.9366 0.9408 0.945 0.9492 0.9534 0.9576 0.9618
0.966 0.9682 0.9714 0.9756 0.9790 0.982 0.9825

[COMPOUND]
//LaunchControlFactor=0.75 // Lessens launch grip reduction effect.  Range 0.0-1.0 (1.0 is no change, 0.0 disable the effect).
Name="Slick"
Style=1 //0 = treaded, 1 = slick, 2 = wet
FRONT:                                // Arguments:ALL,FRONT,REAR,LEFT,RIGHT,FRONTLEFT, FRONTRIGHT,REARLEFT,REARRIGHT
DryLatLong=(1.89, 1.89)             // Lateral/longitudinal coefficients in dry weather
WetLatLong=(1.430, 1.430)             // Lateral/longitudinal coefficients in wet weather
DrySlide=1.80			    // sliding coefficient in dry weather
WetSlide=1.40			    //sliding coefficient in wet weather
CorneringStiffness=36000.0	    //Base Cornering stiffness (N/rad)
BrakingStiffness=36000.0	    //Base Braking stiffness (N)
SelfAligningStiffness=3600	    //Self aligning stiffness (Nm/rad)
CamberStiffnessRelative=0.1    // Example: 0.1 setting gives for 1 deg camber nets 0.1 deg toe in
RadiusRPM=0.00                     // Increased radius per unit RPM
SpringBase=60500.0                   // Base spring rate with no pressure ( 1050lb/in @ 170kpsi)
SpringkPa=625.00                      // Spring rate per unit pressure
Damper=625.0                         // Damping rate of tire
SpeedEffects=(1000.5,10.0)            // Speed at which grip drops to half (m/s, 0.0 to disable), speed load equivalency (see above)
LoadSens=(-3.10e-6, 0.40, 18000.0)    // Load sensitivity of tire (initial slope, final grip multiplier, final load)
LatPeak=(0.20, 0.20, 9500.0)       // Slip range where lateral peak force occurs depending on load
LongPeak=(0.20, 0.20, 9500.0)      // Slip range where longitudinal peak force occurs depending on load
HeatBasePeak=(0.17,0.5)    // static peak slip to compute friction heat, fraction of static peak slip to use (the remainder will be the dynamic peakslip)
LatCurve="Lat"                    // Slip angle curve (data uses normalized angle)
BrakingCurve="Long"                // Slip ratio curve under braking
TractiveCurve="Long"               // Slip ratio curve under acceleration
CamberLatLong=(1.00, 0.10, 0.0)      // Peak camber angle, lateral gain at peak, longitudinal loss at 90 degrees
RollingResistance=2700.0              // Resistance torque (Nm) per unit deflection (m) on ground
Heating=(7.00e-1, 7.00e-3)            // Heat caused by (rolling, friction)
Transfer=(12.00e-3, 2.00e-3, 2.00e-4) // Heat transfer to (road, static air, moving air)
HeatDistrib=(12.00,200.0)              // (Max camber angle, max off-pressure) that affects heat distribution (higher number -> less temperature difference)
AirTreadRate=0.020                    // Heat transfer between tread and inside air
WearRate=0.352e-6                     // Wear rate constant
Softness=0.55                          // Softness is now just for AI strategic use
AISens=(0.80,25650.0)                 // Simplified AI load sensitivity (final grip mult, final load)
AIGripMult=1.15                      // Grip multiplier for AI vehicles (due to tire model simplification)
AIPeakSlip=0.135                      // Simple peak slip angle for AI vehicles
AIWear=0.413e-7                       // AI wear rate constant
Temperatures=(90.0,20.0)                     // Optimum operating temperature for peak forces, cold starting temp (Celsius)
OptimumPressureBase=100.0              // Base pressure to remain flat on ground at zero deflection
OptimumPressureMult=0.0200          // Multiplier by load to stay flat on ground
GripTempPress=(0.55, 0.55, 0.40)        // Grip effects of being below temp,above temp, and off-pressure (higher number -> faster grip dropoff)
//
REAR:
DryLatLong=(1.950, 1.950)             // Lateral/longitudinal coefficients in dry weather
WetLatLong=(1.500, 1.500)             // Lateral/longitudinal coefficients in wet weather
DrySlide=1.85			    // sliding coefficient in dry weather
WetSlide=1.44			    //sliding coefficient in wet weather
CorneringStiffness=44000.0	    //Base Cornering stiffness (N/rad)
BrakingStiffness=44000.0	    //Base Braking stiffness (N)
SelfAligningStiffness=4400.0	    //Self aligning stiffness (Nm/rad)
CamberStiffnessRelative=0.1    // Example: 0.1 setting gives for 1 deg camber nets 0.1 deg toe in
RadiusRPM=0.0
SpringBase=60500.0                   
SpringkPa=625.00 
Damper=625.0
SpeedEffects=(1000.5,10.0)            // Speed at which grip drops to half (m/s, 0.0 to disable), speed load equivalency (see above)
LoadSens=(-3.10e-6, 0.40, 18000.0)    // Load sensitivity of tire (initial slope, final grip multiplier, final load)
//LongTorqueSens=(0.0, 0.85, 2500.0)
LatPeak=(0.20, 0.20, 9500.0)
LongPeak=(0.20, 0.20, 9500.0)
HeatBasePeak=(0.17,0.5)
LatCurve="Lat"
BrakingCurve="Long"
TractiveCurve="Long"
CamberLatLong=(1.00, 0.10, 0.0)
RollingResistance=2900.0
Heating=(6.00e-1, 6.00e-3)            // Heat caused by (rolling, friction)
Transfer=(12.00e-3, 2.00e-3, 2.00e-4) // Heat transfer to (road, static air, moving air)
HeatDistrib=(14.00,200.0)
AirTreadRate=0.020 
WearRate=0.360e-6
Softness=0.55
AISens=(0.80,25650.0) 
AIGripMult=1.25
AIPeakSlip=0.135
AIWear=0.405e-7
Temperatures=(90.0,20.0)
OptimumPressureBase=100.0 
OptimumPressureMult=0.0180
GripTempPress=(0.55, 0.55, 0.40)

erm... quite a lot more than 3kb, not including stuff that isn't to do with driving.

I'll keep that in mind when I'm out buying titles for my PC. Or I could buy something that I don't have to debug at all.

Cool, all you need to do is find a driving game with no patches and no mod support. This one looks like just the ticket :)

Whatever your opinion of it... there is an active element of assists, even in the Professional mode. Yes, other console racers do have an element of assist... to smooth out rough inputs or throttle inputs (here's what GT5P got wrong... not enough assist or "slack" in controller inputs)... and Shift goes one better than them by giving you the ability to adjust controller sensitivity... but being a "simcade" racer, it is designed more to entertain than involve. In other words, oversteer > understeer. And this is what turned me, off, eventually.

If they'd only had one more level of realism above Professional, I would have been hooked. But they don't. And you can't hack a PS3 version. So mine is gathering dust. I'm happy for you PC guys for being able to crack it open and get it working like it should... but again: why should you have to?

I think SHIFT is a great title. Great for casual gamers... not quite there for hardcore gamers, but definitely a good effort. And if EA goes on to making a SHIFT 2.0, I hope they finally fix those flaws.

All I can say is that you're comparing it to a "sim" that doesn't actually exist. LFS and I hear iRacing work pretty similarly in terms of inducing understeer and drift/countersteering it out. GPL, GTL work very similarly in terms of making you deliberately slide the back out to go fast. That's not even so much unrealistic, that's just what they model, and they model cars that do that.

I'm sure the "PC sims" are very much better in your head, but look - they are just games. They will always be games. They are all designed for entertainment value and commercial market purposes. They all have certain things they do to smooth out input or make controlling the car easier or whatever - some in the physics, some in input handling, some in terms of plain modelling things that are quite easy to drive in reality to start with.
 
my english is not very good and I can only assume what you mean, but I think you contradict yourself badly

My only interest in the thread is just pointing out how the physics engine actually works and what the source data files say
= you assume it's technically at the top because of the files (which I don't deny)

They all have certain things they do to smooth out input or make controlling the car easier or whatever - some in the physics, some in input handling, some in terms of plain modelling things that are quite easy to drive in reality to start with
= there always are compromise made to make them appeal to the market they're intended

there you are, you just admitted it's very possible they could have made Shift a lot easier to appeal the the masses, no matter how good the core of the physic engine is (btw, applying faked forces is the easiest thing to do in a physic engine...). So in the end the judgement can only be about the car behaviour, and most of us are far from convinced
 
Last edited:
Well... actually... now that you bring up this:

Realism isn't the same thing as complexity, or accuracy, or difficulty, they're all independent of each other. Shift simulates a less realistic tyre more accurately, and GTR2 simulates a more realistic tyre less accurately. The skill in driving GTR2 is much more about car management, calibrating how you take the course to save up and prolong the period where it drives more like a Shift car. I think there are a lot of dilettantes out there who took one lap in GTR2 and thought "wow this is really gripless and understeery, that must be what realism is!". Whereas the actual difficulty of driving in it is to make the car as little like that as possible as long as possible.

I agree: Shift is complex and difficult. Accurate, I cannot say, as I cannot claim to have driven the same cars over the same tracks. But realistic? Realistic in the way it models a car, yes, but not in the way it models the driving experience.

Maybe I am a dilettante. And no, I am not reading into your post as to claiming I am... but I probably am... :lol: ...my closest point of comparisons to SHIFT are the Tier One cars, which at least claim to come on something similar to stock tires, and of which I have driven two or three. And while it feels similar, there are points where it doesn't. And that's all there is, to it. I don't believe that cars are naturally gripless and understeery in street trim... that's just how they are when you push them on the race-track. Maybe this is lacking in the game simply because we have a tire model that never gets greasy or hot or whatever, but it just doesn't feel right.

Other games do. GT4, granted, had many physics issues, but the general "feel" was there, and for many of the cars that I have driven there that i have driven on track in real life, the way they handle is the same except for the snap-oversteer physics. GT5P is better. Flawed, but better. And a perfect example of having more realism with less complexity as compared to SHIFT.

In GT4, it doesn't take long to suss out the differences between otherwise identical cars by driving them around a track. It's not just in the level of understeer or oversteer, but in the set of the suspension, how centered the balance feels, etcetera. In GT5P, you don't have as many cars to examine, but it's still there. I particularly like the way they modelled the Mazda6 (which is the latest car I've driven on the track which is modelled in the game), as it acts very similar to its real life counterpart. Incredibly sharp and nimble handling (for its size) at 8/10ths... giving way to ploughing understeer at 10/10ths. And choppy over small bumps due to those big wheels (nice touch).

In SHIFT, the MX-5 is the newest car in the game that I've thrashed. It feels very similar, yes, but the behaviour at the limits is also similar (sans under/oversteer under power, obviously) to other cars of the same Tier. Which is disappointing.

Granted, there are differences when you pass the limits unintentionally, (and I'll admit... SHIFT models snap-over on FWD very, very well... and the tire model is, again, fantastic (I've never said it was anything but)) but when you drive at 11/10ths on purpose, the only adjustments you have to make to your driving style are how soon you get on the power. You can brake ridiculously late, turn in relatively easily, and powerslide in cars that aren't really that easy to powerslide in real life without more aggressive provocation.

I'll take your word for what PC Sims are like. But many other people share my opinion of what the basic SHIFT package is like on the consoles. For us, there is no modification or adjustment, unless it comes from the developer/distributor themselves. So there's no joy, there.

Mind you... I have no way of seeing inside the black box, of knowing what's being done there to simulate driving. But the thing is: If I enter 5 and 5 and 9.7 comes out, I'm not going to be satisfied. Especially if I've been promised a 10.
 
my english is not very good and I can only assume what you mean, but I think you contradict yourself badly

= you assume it's technically at the top because of the files (which I don't deny)


I don't know what "technically at the top" means but yes, if the producer and physics leads say "it's the GTR2 engine with a new damage and tyre model", and you extract the game data and everything is using the same values in the same format as GTR2 other than the damage and tyre model, and even the file comments are the same between them, yep, I'm pretty sure at this point it's the GTR2 engine with a new damage and tyre model.

With a better tyre and damage model at that.


= there always are compromise made to make them appeal to the market they're intended

there you are, you just admitted it's very possible they could have made Shift a lot easier to appeal the the masses, no matter how good the core of the physic engine is. So in the end the judgement can only be about the car behaviour, and most of us are far from convinced

If you read carefully, you will see that what is actually being said is that there is simply not a "simulator" sold to customers at a video games store for use on their ps3 and toy driving wheel. That's a creation of a marketing department. Sorry! Not even iRacing or LFS- it ultimately involves a lot of guesswork and guys plugging in guesstimates into pretty much the same engines they were using in the early 2000s.

I think the car behaviour in Shift is fine for what it is simulating and how. I don't think they did a great job of telling anyone what that was.
 
I don't think they did a great job of telling anyone what that was.
really ? you should look at the trailers again (especially the one about drifting... makes me laugh thinking of it), you should look at all the discussions about SMS beeing made of Simbin guys (...), you should read Doug Arnao's interview - oh, you read it already

in the end, people were expecting a GTR-killer you're saying it is, and they got lost in sideway lunacy that doesn't look or feel real at all, so much than even the "masses" is saying Shift is pure arcade - which it's not
 
I'll take your word for what PC Sims are like. But many other people share my opinion of what the basic SHIFT package is like on the consoles. For us, there is no modification or adjustment, unless it comes from the developer/distributor themselves. So there's no joy, there.

Mind you... I have no way of seeing inside the black box, of knowing what's being done there to simulate driving. But the thing is: If I enter 5 and 5 and 9.7 comes out, I'm not going to be satisfied. Especially if I've been promised a 10.

Seriously, don't take the PC sim snobs at their word :) GT isn't quite as far off as they would like to think in some ways. In fact there are some features you see in Test Drive Unlimited and GTA4 that you don't see in some PC sims. It's more a question of focus areas of the sim - they are all small scale enterprises with limited manpower and budget and time. So they do some things better than others. And then nerds argue about it. As far as I am concerned I like to play with things so having games with nice plain text and well commented files is a really killer feature for me, which is why I play a lot of GTR2 and Evo and rFactor and Shift. rFactor does the best multiplayer, GTR2 has the best endurance races, Evo is a nice all-rounder and Shift is by far the best for a quick race that doesn't take 10 minutes to settle the car in.
 
really ? you should look at the trailers again (especially the one about drifting... makes me laugh thinking of it), you should look at all the discussions about SMS beeing made of Simbin guys (...), you should read Doug Arnao's interview - oh, you read it already

in the end, people were expecting a GTR-killer you're saying it is, and they got lost in sideway lunacy that doesn't look or feel real at all, so much than even the "masses" is saying Shift is pure arcade - which it's not

If you came away from any of the PR expecting "GTR" anything you didn't read it very well. Everything I saw talked up "accessibility" and "drivers experience", they were perfectly clear there would be no pits and nothing to do with needing to pit in, no fuel or wear or critical damage. I think there was exactly one instance of them even using the word "simulator" to describe it, and only then for certain aspects of the game. Which is pretty much right.

Drift mode is, again, something they did a great job making and a terrible job explaining.
 
True. I remember them pushing SHIFT as "simcade" rather than a true sim.

Seriously, don't take the PC sim snobs at their word :) GT isn't quite as far off as they would like to think in some ways. In fact there are some features you see in Test Drive Unlimited and GTA4 that you don't see in some PC sims. It's more a question of focus areas of the sim - they are all small scale enterprises with limited manpower and budget and time. So they do some things better than others. And then nerds argue about it. As far as I am concerned I like to play with things so having games with nice plain text and well commented files is a really killer feature for me, which is why I play a lot of GTR2 and Evo and rFactor and Shift. rFactor does the best multiplayer, GTR2 has the best endurance races, Evo is a nice all-rounder and Shift is by far the best for a quick race that doesn't take 10 minutes to settle the car in.

RE: GTA4... :lol: :lol: :lol: ...you hit the nail on the head. 👍 I don't think I've ever driven a more accurate model of a turbocharged CRX (no LSD = lots of peglegging) or a Crown Vic on shot dampers anywhere.

Despite its incredibly arcadish gameplay, the modelling and car behavior of GTA4 are so organic that you wonder why some of the more "serious" games can't take some cues from Rockstar on how to convey the effects of car behavior to the player.
 
I bought Shift yesterday. There are some impressive things about it. However, as it's being pushed by many as a simulation, everybody has the right to comment on the shortcomings, or lack of realism, of the physics.

It is very telling when you drive a corner with the external-view, and look at the rotation of the car. When a car is cornering, and loses mechanical grip, it slides. If the rear grip-loss is greater than the front, oversteer occurs. As in real life, this happens in Shift; the rear begins to step out. It takes a force/action to neutralise that rotation; i.e. opposite lock & throttle). But the problem is, the car's rotation is counter-acted even without opposite-lock. Typically, (in the case of most cars in Shift) if you enter a corner with a bit too much speed, the car always very quickly rotates by the same amount, and then stops rotating! So clearly the physics are tweaked to help the cars into power sliding.

It's not the same as GPL (I presume everyone is talking about the legendary, 'Grand Prix Legends'). In GPL, if you get into a slide and don't correct it, you're into the wall (or bush, commonly).

The second thing is the grip. It's like the physics have a sky-high friction co-efficient; the reason you can outbrake yourself and still make the corner so easily is because as you turn in with a lot of lock to try and make the corner, the car slides and speed is scrubbed off rapidly, much more so that real life.

There's nothing wrong with the cars; I'm sure the suspension modeling and things are very impressive. The problem is how the car interacts with its world, i.e. the physics.

Oh and just to add a comment about the actual topic title - "Do the cars turn around themselves?" - No, they don't turn themselves. I'd feel it's accurate to say that the cars are encouraged very easily into a rotation, and the rotation is neutralised typically at the same angle.
 
Last edited:
Back