Appearance
Tuning guide
Symptom first. Each entry names the parameter, where it lives, and why it helps. Parameters are per tire unless noted.
Car understeers on entry
- Soften the front
antiRollStiffnessor stiffen the rear. The axle with the larger share of roll stiffness takes more lateral load transfer and loses more grip to load sensitivity. - Lower the rear
corneringStiffnessor raise the front. Balance is the ratio of front to rear cornering stiffness per unit load. - Raise the front
stiffnessPeakLoad(less saturation on the heavy axle) or lower the rear. - Move
chassis.cgToFrontAxlerearward. Less static front load means less front saturation.
Car oversteers under power
- The driven axle loses lateral grip while it spins; lower the engine's
torqueCurveor a tall first gear intransmission.gears, or raise the rearpeakSlipRatioso the force peak sits at a larger slip. - Raise the rear
falloffLongso the tire keeps more grip past the peak. - A limited-slip differential (
rear.kind: "lsd") with a highbiasDrivedrives the inner and outer wheels together and turns wheelspin into a yaw moment; lower the bias or thepreloadfor a more forgiving exit. assists.tractionControlscales the throttle on drive slip; see assists.
Body rolls or pitches too much
- Raise
springRateon both axles together to keep the balance, or raiseantiRollStiffnessto add roll stiffness without stiffening the ride. - Raise
chassis.rollInertiaorpitchInertiato slow the motion rather than reduce it. - Lower
chassis.cgHeight: both transfers scale with it. - For pitch alone, add
antiBrakeon both axles (anti-dive at the front, anti-lift at the rear) andantiDriveon the driven axle. Values of 0.2 to 0.5 are typical. They change only the body's pitch, not the tire loads (anti-dive).
Car rolls too much in corners but rides well
- Raise
rollCenterHeighton one or both axles. The sharerollCenterHeight / cgHeightof that axle's lateral load transfer goes through the links instead of the springs, so the body rolls less for the same cornering force without a stiffer ride (roll centres). It also moves the balance: the axle with the higher roll centre takes a larger share of the transfer, like a stiffer bar, so raise the rear for less understeer and the front for more.
Car lifts or squats in corners, or darts over bumps
- A body that rises in long corners is jacking: the axle's roll centre is high, or rises in bump, so the loaded outer link pushes the body up (
JackingForce_F,JackingForce_R). LowerrollCenterHeight, or make itskinematics.rollCenterHeightcurve fall in bump. Static toe-in also lifts a car with a roll-centre curve; reduce it if the car rises on the straight. - A car that steers itself over bumps or in roll has bump steer: flatten the
kinematics.toeDegcurve. Toe-out in bump at the rear is roll oversteer, so the car turns in more as it rolls; toe-in in bump at the rear steadies it (geometry that changes with travel). - To make an axle's share of load transfer fall as the car rolls further, give its roll centre a curve that falls in bump.
Car bounces after a bump or a landing
- Raise
bumpDampingandreboundDamping. A damping ratio near 0.3 of critical (c = 2 · 0.3 · √(k · m_corner)) is a road-car starting point; rebound a third higher than bump. - Check
travelBump: if the car sits on its bump stops at rest,validateDefinition()warns about it.
Inner front wheel spins out of corners
- That is an open differential doing what it does under power with the inner wheel unloaded. Set
drivetrain.front.kindto"lsd":preload(N·m) is what it locks with at zero torque,biasDrivehow much more torque the slower wheel may carry than the spinning one under power (2 to 3 is a road-car range),biasCoastthe same on the overrun. A"locked"differential is a spool and pushes in tight corners.
Car launches lazily or bogs down
- The automatic clutch bites between idle and
clutchBiteRpmabove it; a smaller value engages sooner and stalls less speed off the engine, a larger one lets the engine rev first (a kart's centrifugal clutch). RaiseclutchMaxTorqueif the clutch slips at full throttle in first. shiftUpAtandshiftDownAtare fractions of redline on the gearbox input speed at full throttle; a longshiftTimeis a visible torque hole.
Automatic holds a low gear at part throttle, or short-shifts too early
shiftLightFactorscales both shift points on a closed throttle, and they move linearly with the throttle up toshiftUpAtandshiftDownAt. Lower it to cruise in a higher gear at lower revs. Raise it toward 1 for a car that holds gears like a race box (1 shifts at the full-throttle points whatever the throttle). Upshifts are kept far enough above the next gear's downshift point that the car does not hunt, and pressing the pedal raises the downshift point, which is the kickdown.- A
directpower unit has none of this and pulls from rest at its fullmaxWheelTorque; use it for traffic.
Engine drags the car on a closed throttle
engineBrakingIdleandengineBrakingRedlineset the closed-throttle drag; lower them for a car that coasts further. An electric motor's lift-off drag isregenTorque.- A measured motoring map rises faster than a line at high revs. Give it as
engineBrakingCurve,[rpm, N·m]points with the drag positive; it then replaces the two end values.
Steering feels numb
- Lower
relaxationLengthLatfor a faster lateral response. - Raise
pneumaticTrailfor more aligning torque at small slip, orsteering.mechanicalTrailfor torque that also stays when the pneumatic trail fades at the limit (more caster). - Lower
steering.powerAssist; it removes that fraction of the rack torque at the hand wheel. - Reduce
steering.ratiofor more road-wheel angle per hand-wheel degree.
Steering tugs under power or over bumps
- That is the scrub radius:
steering.scrubRadiusturns any left to right difference in longitudinal force into torque. Lower it, or soften the front differential'sbiasDriveif the pull comes with the throttle.
A keyboard driver cannot keep the car straight at speed
- Turn on
assists.steeringAssist;latAccelLimitis the lateral acceleration full lock aims for, so lower it for gentler steering at speed. assists.stabilityControlcatches the slide itself; raisegainfor a firmer hand, widendeadBandto let the car move around first.
Wheels spin up on the launch
assists.tractionControlscales the throttle on drive slip betweenslipTargetandslipRelease; set the target a little below the rear tire'speakSlipRatio.
Braking distance is longer than road-test figures
- Road tests have ABS; turn on
assists.abs. ItsslipTargetshould sit at the tire'speakSlipRatio; theflooris how much brake stays when a wheel runs away.
Steering does not go light before the limit
- The trail crosses zero at
trailZeroCrossingtimes the peak slip angle (default 1.0). Steering torque peaks at about 0.4 of that and is zero at the crossing, so with the default the wheel goes light while lateral grip is still rising and is weightless at the lateral peak. Raise the crossing (1.2 moves the torque peak to about 0.47 of the peak slip angle) for a wheel that stays loaded closer to the limit; lower it for an earlier warning. trailReversal(default 0.1) is how far the trail goes negative past the crossing, as a fraction ofpneumaticTrail. The torque reverses by roughly a fifth of its peak at 1.5 peak slip angles with the default; raise it for a stronger "pulling into the slide" past the limit, set it near zero for a wheel that just goes dead.- Braking or drive shortens the trail through the combined equivalent slip angle, so the wheel also lightens under trail braking.
fxMomentArm(default 0) adds the Magic FormulaSSZ2effect, where the longitudinal force acting off the wheel centre plane adds its own moment; a few centimetres is a road-tire value.
Wheels lock under braking
- Lower
maxBrakeTorqueon the axle that locks, or shift bias toward the front where braking load goes. Dive moves load forward through the springs; stiffer front springs do not change the steady-state transfer. Mean deceleration in the validation table tells you when you are at the tire's limit. assists.absholds each wheel at its slip target; the validation table reports the stop with and without it.
Car feels like it is on ice
- Check the
SurfaceGrip_*channels first: if they read below 1 the car is on a surface, not a tire problem. - Raise
peakFriction. Values above 1.2 are beyond road tires; fine for arcade. - Lower
loadSensitivityso load transfer costs less total grip.
Car is loose at high speed only
- That is aero. A road car's small positive
liftCoefficientRearunloads the rear with the square of speed; set it lower, or negative for downforce, and keepliftCoefficientFrontin proportion to the static weight distribution so the balance stays put as speed rises (aerodynamics). dragHeightAboveCgmoves load rearward at speed, which helps a little; it is a real effect only on tall cars and winged ones.
Car is undrivable on ice or gravel
- Probably correct: ice is 0.12 of dry grip in the reference table and the tire peaks at a correspondingly smaller slip. Raise the surface's
gripin your own table, or pick a kinder entry (snowis 0.3,gravel0.6), before touching the tire (surfaces). assists.absandassists.tractionControlare what make low grip drivable from a keyboard;assists.stabilityControlcatches the yaw.- A car with rear-only brakes swaps ends on ice; give the front axle some
maxBrakeTorque. - The ploughing
dragof gravel, sand and snow holds the car back through the chassis; lower it in your table if the car will not reach speed.
Outer wheel cambers off the road in corners
- On an independent axle the wheels lean with the body, so more roll is more positive camber on the outer tire and less grip. Add negative
staticCamberDeg, reduce the roll (above), or declare the axlesuspension.kind: "solid", which keeps both wheels upright to the road whatever the body does (solid axles). A solid axle tilts both wheels together over a one-wheel bump, which is the trade.
Turn-in is too sharp, or the car is nervous on the straight
- Add a little toe-in,
staticToeDegof 0.1 to 0.3 degrees per wheel. The car answers the wheel a little later and settles with less overshoot. On the rear axle toe-in also steadies the car under braking and on lift-off. - Toe-out on the front does the opposite and sharpens turn-in. Either way the scrub costs a little straight-line speed (toe).
Car understeers more at speed than the steering ratio suggests
- Real steering gives under load. Measured against NHTSA's Jeep Cherokee (
docs/validation/nhtsa-jeep-cherokee.md), a fixed ratio that matched at 40 km/h gave 16–29 % too much response at 80 km/h. Addsteering.alignTorqueComplianceDeg(1 to 2 for a firm rack, up to about 10 for a soft recirculating-ball box) rather than slowing the ratio: the compliance grows with cornering force, a ratio with steering angle. lateralComplianceSteerDegon the rear axle (a few hundredths to a tenth) steadies a car that feels loose in fast corners without dulling its turn-in at low speed (compliance steer).
The car jitters or creeps when parked
- It should not. Raise
lowSpeedDamping(the damping ratio of the contact-patch spring on the corner mass at standstill, default 0.7) orlowSpeedDampingFade(the rolling speed at which that damping is gone, default 2 m/s), and file an issue with a telemetry export; standstill stability is a feature we test, on 30 % grades and 20 % cross slopes. - A car placed on a slope moves a few millimetres while its tire springs wind up, then holds. If it keeps moving, the brakes cannot hold it: check
maxBrakeTorqueandbrakes.handbrakeTorqueagainstm · g · sin θ · radius. lowSpeedFlooronly shapes the slip channels in telemetry near standstill and the point at which a pushed car goes from stiction to sliding.
Tuning editor
The sandbox has a Tuning panel that lists every parameter of the current definition with the units from the schema. Edits apply live through World.setDefinition, which replaces the definition while keeping the car's state, so you can change a spring rate mid-corner and feel it. Reset returns the preset; copy, download and load move the definition as JSON, so a tune made in the sandbox goes straight into your own application. Curves (the engine's torque map, a suspension's kinematics) show read-only; edit them in the JSON and load it back. The surface selector in the sandbox controls sets the ground under the car from the reference table.