How To Edit Vehicle Files

How To Edit Vehicle Files

From BeamNG
Language: English  • français • polski

The purpose of this guide is to explain to you what to do to your vehicle become faster, better sterowniejszy[Translation?], or add to it something you have not had (as interesting bumper or threshold).

Introduction

Before starting I suggest you set the game window mode, to be able to quickly and easily switch between Notepad (text based program) and the game. This way when you change something in a notebook, you can reset your vehicle (Ctrl + R) and immediately see the changes in the parameters. Back up the original files; modification of even the smallest code, or digits can completely change the behavior of the vehicle, for better or worse. A big part of editing your vehicle will be trial and error, so learn as you go forward and understand what and how it is done. Of course, if you have an example of the vehicle in your real life, you have a big advantage. The first thing we do when we create a vehicle, the vehicle is to open the file (not the model). And one of the first lines, we can see "dragCoef":8. I always I set it to 0. This means that we can reach a maximum speed of a lot easier.

Okay, so let's get started.

I think I should use a vehicle as an example, so may be it Ibishu Covet?

I'm running the game in a window and file the engine is right on the Notepad.

Improving engine

The Covet has a 1.5 4 cylinder with the added option of a turbocharger with a panel of parts, or the version of the racing / rally. It is the slowest, but can be improved even more.

This is your first goal if you get from your vehicle a more powerful engine. Make sure that you have the appropriate section (Engine 1.5, or 1.5 Turbo engine), then take a look at this code:

It will stand, engine 1.5:

"enginetorque":[
["rpm", "torque"]
[0, 0],
[500, 65],
[1000, 93],
[2000, 132],
[3000, 143],
[4000, 148],
[5000, 153],
[6000, 144],
[7000, 122],
[7500, 91],
],
"engine":{
"idleRPM":1000,
"shiftDownRPM":3400,
"shiftUpRPM":6400,
"maxRPM":7500,
"inertia":0.08,
"friction":16
"brakingCoefRPS":0.15
"burnEfficiency":0.5
"throttleSensitivity":1.2

Now let's play with a torque of sections RPM:

[0, 0],
[500, 150],
[1000, 250],
[2000, 350],
[3000, 450],
[4000, 550],
[5000, 650],
[6000, 750],
[7000, 850],
[8000, 750],
[9000, 700],
[10000, 700],
],
"engine":{
"idleRPM":1000,
"shiftDownRPM":3400,
"shiftUpRPM":6400,
"maxRPM":10000,
"inertia":0.05,
"friction":12
"brakingCoefRPS":0.15
"burnEfficiency":1.0
"throttleSensitivity":1.2

Note that increased the red line to 10,000 and significantly increased the each section. I increased the incineration 1.0.

This increases significantly the power of horsepower, but notice now that the crossing red zone 5th gear does not go too fast forward. This is due to the fact that the transmission / gearbox can not to form.

This leads us to the next section.

Transmission / Gearbox

Look at the basic code fast car:

"name":"Ibishu Covet 4-Speed Automatic Transmission",
}
"engine":{
"transmissionType":"automatic",
"lowShiftDownRPM":1400,
"lowShiftUpRPM":3600,
"highShiftDownRPM":3300,
"highShiftUpRPM":6000,
// -1, 0 (neutral), 1, etc
"gears":[-2.9, 0, 2.72, 1.55, 1.05, 0.72]
"clutchDuration":0.25
"viscousCoupling":3.5
"lockingTorqueLimit":150
"enableLocking":true

With more red zone and the greater amount of power, there are many new sections that you may wish to look. Moments of shift, locking time and rate of transmission.

Here it is what now changed:

"transmissionType":"automatic",
"lowShiftDownRPM": 7300 ,
"lowShiftUpRPM": 9800 ,
"highShiftDownRPM": 7300 ,
"highShiftUpRPM": 9800 , 
// -1, 0 (neutral), 1, etc
"gears":[-2.9, 0, 1.0, 0.80, 0.65, 0.50, 0.40, 0.30 ]
"clutchDuration": 0.05
"viscousCoupling": 4.0 
"lockingTorqueLimit": 850 
"enableLocking":true

Okay, there's a lot to explain so:

First we have shift points, you want the engine to shift up near the redline (10k) but not at it, and shift down relatively close to the middle.

Next is coupling and torque limit. Coupling was 3.5, so I bumped it up a little, and torque limit acts like a clutch so it should be bumped up as well or the power will never get to the wheels.

Next is gears. I added 2 just for kicks, and made gears 1-4 quite lower, because of the power increase. More power means you can use lower gear ratios and achieve higher speed much quicker.

I have the game open as I make this, right now this covet has a top speed of 250MPH before it starts to veer side to side. Quite the improvement from a slow 120hp, 100mph top speed. The 0-60MPH is also much quicker, 4.90 seconds. (Still stock tires)

So, you can spend a lot of time on engine/transmission alone, but I'll say for now 200MPH+ is good enough for now so let's move on.

Suspension / Controllability / Traction

There's a lot you can change in this department, and I don't really want to cover it all because it will take me way too long..and I'm hungry lol.

The file in question is called "hatch_suspension_F"

Lets look at the covet suspension, front sport: (important parts will be in red)

"hatch_coilover_F_sport": {
"information":{
"authors":"gabester",
"name":"Ibishu Covet Sport Front Coilovers",
}
"slotType" : "hatch_coilover_F",
"flexbodies": [
["mesh", "[group]:", "nonFlexMaterials"],
["hatch_coilover_F", ["hatch_shockbottom_F","hatch_shocktop_F"]],
],
"beams": [
["id1:", "id2:"],
//front shocks 
{"beamPrecompression":1.04, "beamType":"|BOUNDED", "beamLongBound":0.0, "beamShortBound":0.18}, 
{"beamSpring":140000,"beamDeform":52000,"beamStrength":84000},
{"beamDamp":3400},
{"beamLimitSpring":601000,"beamLimitDamp":1600} ,
["fh1r","fs1r",{"beamDampRebound":4300}],
["fh1l","fs1l",{"beamDampRebound":4300}],
{"beamPrecompression":1, "beamType":"|NORMAL", "beamLongBound":1.0, "beamShortBound":1.0},

PreComp is ride height, Spring is stiffness, damp is dampening.

If you lower ride height, you might want to increase the spring rate, and if you do that it will actually ride higher because of the added stiffness. So again you will have to lower ride height, they go hand in hand really.

As you make it stiffer, you may need to increase the dampening to compensate for the bounce effect. Remember, trial and error. Experiment!

Lets look at the steering section:

{"beamPrecompression":1.0, "beamType":"|NORMAL", "beamLongBound":1, "beamShortBound":1},
{"beamSpring":22001000,"beamDamp":50,"beamDeform": 90000,"beamStrength":110000},
["fh3r","s1r",{"factor":-0.26,"steeringWheelLock":270}],
["fh3l","s1l",{"factor":0.26,"steeringWheelLock":270}],

The red beamstrength is tie-rod strength, normally I make it all 9's and cross my fingers. The section 'factor":0.26', deterimns how far the wheels turn, go slowly here, too much and your tie-rods will go bye-bye. Try maybe... instead of 0.26, try 0.3

Ok, so traction. Lets look at the wheels:

You want to look at: "hatch_wheels_F"

Track down the tire section for the wheel you want. Like the default wheel or 'rally'

{"frictionCoef":1.7},
 
//
{"pressurePSI":30},
{"maxPressurePSI":1400},
{"reinforcementPressurePSI":33},

Friction will be traction, up the number slowly, it doesn't take much. Try...2.0 maybe. Because of rollover problems with stiff suspension, or high traction, I set the PSI high, like 60. So the tire doesn't roll over on itself when cornering. (pretty much like real life on a large sidewall tire)

That's pretty much it for tires. Remember, trial and error. When you increase traction, you will find a lot of things change, you will have to visit suspension again.

Adding a differential

Ok, the Covet is FWD, this is boring. You probably want it to be AWD, so let's do that.

Sometimes the differential code is in the rear suspension file, or front suspension. Sometimes the engine file, in the case of the Covet, it is in the engine file.

Track down where the front differential is specified:

}
"hatch_differential_F_LSD": {
"information":{
"authors":"gabester",
"name":"Ibishu Covet Limited Slip Front Differential",
}
"slotType" : "hatch_differential_F",
"differentials": [
["wheelName1", "wheelName2", "type", "state", "closedTorque", "engineTorqueCoef"],
["FL","FR", "lsd", "closed", 120, 1]
],
"engine":{
"differential":4.37,
"axleFriction":10
},

This is the entire code for the front diff, lsd version. How do you add one for the rear? Copy it, place it under the front code and rename the important parts!

Like so:

}
"hatch_differential_ R _LSD": {
"information":{
"authors":"gabester",
"name":"Ibishu Covet Limited Slip Rear Differential",
}
"slotType" : "hatch_differential_ R ",
"differentials": [
["wheelName1", "wheelName2", "type", "state", "closedTorque", "engineTorqueCoef"],
[" RL","RR", "lsd", "clo sed", 120, 1]
],
"engine":{
"differential":4.37,
"axleFriction":10
},

One more thing, see the transmission code above the diff code? Find this:

"slotType" : "hatch_transmission",
"slots": [
["qtype", "default", "description"]
["hatch_differential_F","hatch_differential_F", "Ibishu Covet Front Differential"],

See the front diff code? Simply add a rear diff!

["hatch_differential_F","hatch_differential_F", "Ibishu Covet Front Differential"],
["hatch_differential_R","hatch_differential_R", "Ibishu Covet Rear Differential"],

There you go, now whatever transmission you add that extra rear diff to, it will show up in the part options menu.

Making your vehicle separate

So this Covet for example, lets say you want to make it separate from the rest so every time you update you don't lose your hard work.

Rename the folder, and the .DAE file to the same thing. Like "awesome hatch" The file inside the folder, "name": Instead of %vehicleName = "Ibishu Covet"; Try, %vehicleName = "Ibishu Covet Custom"; Test it, it should be a separate vehicle now. Ok, well I was very vague and left some stuff out, but if you absolutely don't know anything, this should hopefully teach you how to start messing with your own files.

If there's any huge errors, or something that doesn't make sense, let me know and I'll fix it. This took a few hours to make and I'm very hungry, so I'll be back to edit this later.

Here's what this Covet looks like now:

230.jpg

0-60MPH is much better than stock, and 240MPH is pretty fun.