Realistic Drivers v2.0
Loading configuration...
Global Modifiers
{{config.globalSpeedMult | number:2}}x
Master speed for ALL traffic. Affects top speed, overtake speed, road rage speed (1.0 = normal)
{{config.globalAggressionMult | number:2}}x
Controls ALL driving behavior: following distance, cornering speed, braking. Higher = closer following, faster corners, later braking (1.0 = normal)
{{config.maxAggression | number:2}}
Safety limit for all driving behavior. Lower = safer cornering and more distance for everyone, even aggressive types (0.75 recommended)
{{config.followingDistanceStrength | number:2}}
How much each personality's follow distance preference differs (0 = all same, 1.0 = max difference between cautious and aggressive)
New Features
Headlight Flash Reaction AI ahead yields when you flash headlights
AI Auto Headlights AI turns on headlights at night
Hazard Lights on Damage Damaged AI activates hazard lights
Random Breakdowns Vehicles randomly break down on roadside
Smooth Speed Transitions AI slows down gradually instead of slamming brakes
Quick Actions
Community Presets
Pre-configured settings for different play styles
Settings Management
Export/Import: file path shown after export
{{notification.message}}
Environment Effects
Weather Effects AI slows down in rain, fog, snow
Time of Day Effects AI drives slower at night
Time-Based Personalities More aggressive drivers during rush hour
AI Behaviors
Rubbernecking AI slows near accidents
Emergency Yielding AI yields to emergency vehicles
Traffic Density Awareness AI adjusts to crowded roads
Damage Awareness Damaged AI drives cautiously
Incident Response AI reacts to nearby accidents
Player Interactions
Proximity Reactions AI reacts when you're close
Horn Reactions AI responds to your horn
Player Reputation AI remembers your behavior
Personality Evolution AI can change behavior over time
Directional Horn AI only reacts if horn is from behind
Honk Cascade One honk can trigger chain reactions
Traffic Jam Detection Detect slow/stopped traffic clusters
Turn Signal Awareness AI reacts to nearby turn signals
Following Distance Personality-based follow distances
v1.8 Interactions
AI Honking at Player AI honks when you cut them off or drive aggressively
Engine Revving at Stops Showoff and aggressive drivers rev engines when stopped
AI-to-AI Road Rage Fast AI gets frustrated and honks at slower AI ahead
AI-to-AI Honk Reaction AI reacts to other AI honks (speed up, brake check, honk back)
Near-Miss Detection Detect close calls and trigger personality-specific reactions
Road Story Events Scripted micro-events between AI (races, duels, scares)
Dashcam Mode Debug overlay showing AI reasoning for nearest vehicle
{{config.dashcamVehicleId == -1 ? 'Auto' : config.dashcamVehicleId}}
-1 = auto-select nearest AI vehicle, or set a specific vehicle ID
Stuck Vehicle Recovery
Stuck Vehicle Watchdog AI pulls over and stops with hazards when stuck too long
{{config.stuckWatchdogThreshold}}s
How long a vehicle must be stuck before pull-over starts (default: 10s)
{{config.stuckPullOverDuration | number:1}}s
How long the AI-driven pull-over maneuver lasts
{{(config.stuckPullOverThrottle * 100) | number:0}}%
Crawl speed as fraction of base speed during pull-over
{{config.stuckPullOverDistance}}m
Lane change displacement distance (meters ahead)
Stuck Vehicle Pass
Enable Stuck Vehicle Pass Force-pass stopped/crashed vehicles blocking the road (one at a time, cascade)
{{config.stuckVehiclePassSpeedThreshold}} km/h
Vehicle ahead must be below this speed to be considered a stopped obstacle
{{config.stuckVehiclePassPatience}}s
Seconds behind a stopped obstacle before committing to pass (scaled by Overtake Patience multiplier)
Overtaking System
Enable Overtaking AI passes slower traffic when safe
Enable Lane Changes AI changes lanes on multi-lane roads
Lane Change Tuning
Clear Native Lane Change Table Advanced: clears BeamNG route lane-change plans every second
Enable Live Fallback Checks Use live lookups when frame cache data is missing (safer, more CPU)
Conservative Unknown-Speed Blocking If target-lane speed is unknown, treat lane as blocked
Defensive Direction Reads Wrap direction-vector calls in protected checks (safer, tiny overhead)
{{config.lcBlindSpotDist}}m
Unconditional block zone: any vehicle within ±Xm is too close to merge
{{config.lcCheckAhead}}m
How far ahead to scan for vehicles in the target lane
{{config.lcCheckBehind}}m
How far behind to scan for faster vehicles in the target lane
{{config.lcCompletionCooldown | number:1}}s
Forced wait after completing a lane change before the next one
{{config.lcReversalBlockTime}}s
Block opposite-direction lane change for this long (anti-zigzag)
Global Multipliers
These multiply the per-personality overtaking values. 1.0 = default behavior.
{{config.overtakeLikelihoodMult | number:1}}x
How often AI attempts overtakes (0 = never, 3 = very aggressive)
{{config.overtakeMinGapMult | number:1}}x
Gap needed before overtaking (higher = safer, wider gaps)
{{config.overtakeRiskMult | number:1}}x
How risky AI overtakes are (higher = more dangerous attempts)
{{config.overtakePatienceMult | number:1}}x
How long AI waits before overtaking (higher = more patient)
{{config.overtakeCooldownBase}}s
Seconds between overtake attempts per vehicle
{{config.overtakeCompetitiveSpeedBoost | number:2}}x
Speed boost for competitive personalities when being overtaken (scaled by competitiveChance)
Overtake Acceleration
Aggression Boost During Overtake AI accelerates harder when overtaking for decisive passes
{{config.overtakeAggressionMult | number:2}}x
How much harder AI accelerates during overtake (1.0 = no boost, 2.0 = double)
Curve Safety
Curve Safety Prevent overtaking on curves where oncoming traffic is hidden
{{config.curveBlockDeg}}°
Base heading change (degrees) to block overtake start (lower = stricter)
{{config.curveAbortDeg}}°
Base heading change (degrees) to abort active overtake (lower = stricter)
{{config.curveBlockRiskMult | number:0}}x
Risk tolerance multiplier for curve block threshold (higher = riskier AI ignores curves more)
{{config.curveAbortRiskMult | number:0}}x
Risk tolerance multiplier for curve abort threshold
Overtake Decision
{{config.overtakeScanRange}}m
How far ahead to look for slower vehicles
{{config.overtakeMinProximity}}m
Must be this close before considering overtake
{{config.overtakeMinSpeedDiff | number:1}} m/s
Minimum speed difference to continue overtake
{{config.overtakeFrustrationThreshold | number:2}}
Speed frustration level to trigger attempt (lower = more attempts)
{{config.overtakePerUpdateChanceMult | number:2}}
Roll chance per tick (higher = more frequent overtakes)
{{config.overtakeWeatherThreshold | number:2}}
Weather modifier below which overtakes are disabled
{{config.overtakeOncomingRange}}m
Distance to scan for oncoming traffic during lane check
{{config.overtakeVerySlowThreshold}} km/h
Below this speed, vehicle is considered very slow
{{(config.overtakeVerySlowLikelihood * 100) | number:0}}%
Minimum overtake likelihood for very slow vehicles
{{config.overtakeSlowThreshold}} km/h
Below this speed, vehicle is considered slow
{{(config.overtakeSlowLikelihood * 100) | number:0}}%
Minimum overtake likelihood for slow vehicles
{{config.overtakeImpairedLikelihoodMult | number:1}}x
Overtake likelihood multiplier for impaired drivers
{{config.overtakeImpairedCooldownMult | number:1}}x
Cooldown multiplier for impaired drivers (lower = faster retry)
Overtake Speed Boosts
{{config.overtakeLaneChangeSpeedMult | number:2}}x
Speed boost during lane change phase (1.0 = none)
{{config.overtakePassSpeedMult | number:2}}x
Speed boost during pass phase (1.0 = none)
{{config.overtakePassAggressionReduction | number:2}}
Pass phase uses this fraction of the aggression boost (0.93 = 93%)
{{config.overtakeEmergencyReturnSpeedMult | number:2}}x
Speed when fleeing from oncoming traffic
Overtake Timing
{{config.overtakeUpdateInterval | number:2}}s
How often overtake state updates run (lower = more reactive, more CPU)
{{config.overtakePrepareDuration | number:1}}s
Signal activation time before starting lane change
{{config.overtakeMaxTimeout}}s
Hard timeout for the entire overtake
{{config.overtakePassTimeout}}s
Max time in pass phase before forcing return
{{config.overtakeAbortCooldown}}s
Wait after aborted overtake before retrying
{{config.overtakeReturnCheckMinSpeed | number:2}}x
Minimum slowdown while waiting for clear lane to return
{{config.overtakeLaneChangeMaxDuration | number:1}}s
Max duration for the lane change phase
{{config.overtakeReturnCheckTimeout}}s
Seconds waiting for clear lane before forcing return
{{config.overtakeReturnTimeout | number:1}}s
Duration of the return lane change
{{config.overtakeForcedReturnInitialSpeed | number:2}}x
Speed factor when forced to return (no clear lane)
{{config.overtakeNormalReturnInitialSpeed | number:2}}x
Speed factor for normal return to lane
Lane Change Extras
{{config.laneChangePatienceMult | number:1}}x
Global multiplier for lane-change decision wait timers (personality timing remains differentiated)
{{config.laneChangeDisplacement | number:1}}m
Lateral shift per lane change (≈ lane width)
{{(config.laneChangeCourtesyChance * 100) | number:0}}%
Chance to return to travel lane when clear ahead
{{(config.laneChangeRandomChance * 100) | number:0}}%
Small random lane changes for natural variety
{{config.laneChangeStuckSpeedRatio | number:2}}
Below this fraction of desired speed = "stuck behind slower"
{{config.laneChangeMinDistance}}m
Minimum distance for smooth lane change transition
{{config.laneChangeStuckCheckDistance}}m
Distance to check for vehicle ahead when stuck
{{config.laneChangeClearAheadDistance}}m
Distance to check for nobody ahead (courtesy return)
Live Statistics
{{stats.overtakeAttempts || 0}} Attempts
{{stats.overtakeSuccesses || 0}} Successes
{{stats.overtakeAborts || 0}} Aborts
{{stats.activeOvertakes || 0}} Active Now
{{stats.laneChangeAttempts || 0}} Lane Changes
{{stats.laneChangeSuccesses || 0}} LC Successes
Click a personality below to edit Editing: {{personalityInfo[selectedPersonality].name}}
Personality Weights (32 types)
Click "def" to set custom weight. 0 = disabled. Click name to edit personality.
{{personalityInfo[key].name}} {{assignedCount[key]}}
def {{config.personalityWeights[key]}} ×
Core — {{personalityData.name}}
Name
Dynamic
Reactive
Emergency
Aggression
Min {{personalityData.params.aggression[0] | number:2}}
Max {{personalityData.params.aggression[1] | number:2}}
Speed Mult
Min {{personalityData.params.speedMult[0] | number:2}}
Max {{personalityData.params.speedMult[1] | number:2}}
Dynamic Behaviors
Speed Oscillation
Enabled
Period
Min {{personalityData.dynamicConfig.speedOscillationPeriod[0] | number:1}}
Max {{personalityData.dynamicConfig.speedOscillationPeriod[1] | number:1}}
Range
Min {{personalityData.dynamicConfig.speedOscillationRange[0] | number:2}}
Max {{personalityData.dynamicConfig.speedOscillationRange[1] | number:2}}
Micro Distraction
Enabled
Chance
{{personalityData.dynamicConfig.microDistractionChance | number:2}}
Period
Min {{personalityData.dynamicConfig.microDistractionPeriod[0] | number:1}}
Max {{personalityData.dynamicConfig.microDistractionPeriod[1] | number:1}}
Duration
Min {{personalityData.dynamicConfig.microDistractionDuration[0] | number:1}}
Max {{personalityData.dynamicConfig.microDistractionDuration[1] | number:1}}
Random Stop
Enabled
Chance
{{personalityData.dynamicConfig.randomStopChance | number:2}}
Period
Min {{personalityData.dynamicConfig.randomStopPeriod[0] | number:0}}
Max {{personalityData.dynamicConfig.randomStopPeriod[1] | number:0}}
Duration
Min {{personalityData.dynamicConfig.randomStopDuration[0] | number:1}}
Max {{personalityData.dynamicConfig.randomStopDuration[1] | number:1}}
Brake Check
Enabled
Chance
{{personalityData.dynamicConfig.brakeCheckChance | number:2}}
Period
Min {{personalityData.dynamicConfig.brakeCheckPeriod[0] | number:1}}
Max {{personalityData.dynamicConfig.brakeCheckPeriod[1] | number:1}}
Duration
Min {{personalityData.dynamicConfig.brakeCheckDuration[0] | number:1}}
Max {{personalityData.dynamicConfig.brakeCheckDuration[1] | number:1}}
Lane Drift
Enabled
Period
Min {{personalityData.dynamicConfig.laneDriftPeriod[0] | number:1}}
Max {{personalityData.dynamicConfig.laneDriftPeriod[1] | number:1}}
Duration
Min {{personalityData.dynamicConfig.laneDriftDuration[0] | number:1}}
Max {{personalityData.dynamicConfig.laneDriftDuration[1] | number:1}}
Lane Wander (Hesitation)
Enabled
Chance
{{personalityData.dynamicConfig.laneWanderChance | number:2}}
Period
Min {{personalityData.dynamicConfig.laneWanderPeriod[0] | number:1}}
Max {{personalityData.dynamicConfig.laneWanderPeriod[1] | number:1}}
Drunk Wobble
Enabled
Chance
{{personalityData.dynamicConfig.drunkWobbleChance | number:2}}
Period
Min {{personalityData.dynamicConfig.drunkWobblePeriod[0] | number:1}}
Max {{personalityData.dynamicConfig.drunkWobblePeriod[1] | number:1}}
Duration
Min {{personalityData.dynamicConfig.drunkWobbleDuration[0] | number:1}}
Max {{personalityData.dynamicConfig.drunkWobbleDuration[1] | number:1}}
Escalation
Enabled
Interval
Min {{personalityData.dynamicConfig.escalationInterval[0] | number:0}}
Max {{personalityData.dynamicConfig.escalationInterval[1] | number:0}}
Rate
Min {{personalityData.dynamicConfig.escalationRate[0] | number:3}}
Max {{personalityData.dynamicConfig.escalationRate[1] | number:3}}
Max Aggression
{{personalityData.dynamicConfig.escalationMax | number:2}}
Speed Boost
Min {{personalityData.dynamicConfig.escalationSpeedBoost[0] | number:2}}
Max {{personalityData.dynamicConfig.escalationSpeedBoost[1] | number:2}}
Speed Max
{{personalityData.dynamicConfig.escalationSpeedMax | number:2}}
Lane Threshold
{{personalityData.dynamicConfig.escalationLaneThreshold | number:2}}
Drafting
Enabled
Speed Boost
Min {{personalityData.dynamicConfig.draftSpeedBoost[0] | number:2}}
Max {{personalityData.dynamicConfig.draftSpeedBoost[1] | number:2}}
Falloff Time
Min {{personalityData.dynamicConfig.draftFalloffTime[0] | number:1}}
Max {{personalityData.dynamicConfig.draftFalloffTime[1] | number:1}}
Aggression Pulse
Enabled
Period
Min {{personalityData.aggressionPulse.pulsePeriod[0] | number:1}}
Max {{personalityData.aggressionPulse.pulsePeriod[1] | number:1}}
Chance
{{personalityData.aggressionPulse.pulseChance | number:2}}
Duration
Min {{personalityData.aggressionPulse.pulseDuration[0] | number:1}}
Max {{personalityData.aggressionPulse.pulseDuration[1] | number:1}}
Aggression
Min {{personalityData.aggressionPulse.pulseAggression[0] | number:2}}
Max {{personalityData.aggressionPulse.pulseAggression[1] | number:2}}
Reactions
Bump Response
{{personalityData.reactiveConfig.bumpResponse || 'none'}}
{{opt}}
Overtake Resp.
{{personalityData.reactiveConfig.overtakeResponse || 'none'}}
{{opt}}
Competitive %
{{personalityData.reactiveConfig.competitiveChance | number:2}}
Horn Responses (4 weighted)
#{{$index + 1}}
{{hr.response}}
{{opt}}
{{hr.weight}}
Modifiers
Weather Sens.
{{personalityData.weatherSensitivity | number:1}}
Reaction Time
Min {{personalityData.reactionTimes[0] | number:1}}
Max {{personalityData.reactionTimes[1] | number:1}}
n/a
Follow Dist.
{{personalityData.followingDistanceModifiers | number:2}}
Risk Factor
{{personalityData.riskFactor | number:2}}
Honk Cascade
{{personalityData.honkCascadeLikelihood | number:1}}
Rubberneck
{{personalityData.rubberneckingResponse | number:1}}
Emergency Yield
{{personalityData.emergencyYieldResponse | number:1}}
Convoy Offset
{{personalityData.convoySpeedOffset | number:2}}
Density Sens.
{{personalityData.trafficDensitySensitivity | number:1}}
Radio Genre
{{personalityData.radioGenre || 'None'}}
None
{{opt}}
Radio Chance
{{personalityData.radioChance | number:2}}
Honk at Player
{{personalityData.honkAtPlayerChance | number:2}}
Engine Rev
{{personalityData.engineRevChance | number:2}}
AI Frust. Rate
{{personalityData.aiToAiFrustrationRate | number:2}}
AI Frust. Thresh
{{personalityData.aiToAiFrustrationThreshold}}
Near Miss
{{personalityData.nearMissReaction || 'none'}}
{{opt}}
Road Story
Weather Speed Modifiers
Global speed multipliers applied in each weather condition.
Clear
{{globalTables.weatherSpeedModifiers.clear | number:2}}
Cloudy
{{globalTables.weatherSpeedModifiers.cloudy | number:2}}
Rain
{{globalTables.weatherSpeedModifiers.rain | number:2}}
Heavy Rain
{{globalTables.weatherSpeedModifiers.heavyRain | number:2}}
Fog
{{globalTables.weatherSpeedModifiers.fog | number:2}}
Snow
{{globalTables.weatherSpeedModifiers.snow | number:2}}
Time of Day Speed Modifiers
Global speed multipliers applied at each time of day.
Day
{{globalTables.timeOfDaySpeedModifiers.day | number:2}}
Dawn
{{globalTables.timeOfDaySpeedModifiers.dawn | number:2}}
Dusk
{{globalTables.timeOfDaySpeedModifiers.dusk | number:2}}
Night
{{globalTables.timeOfDaySpeedModifiers.night | number:2}}
Emergency Vehicle Keywords
Comma-separated keywords used to detect emergency vehicles by model name.
Vehicle Model Bias
Per-category keyword matching and personality weight biases. First match wins.
{{cat.name}} forces: {{cat.forcePersonality}}
Name
Keywords
Force Pers.
Biases
{{biasKey}}
{{cat.biases[biasKey] | number:1}}
Time-Based Weight Modifiers
Personality weight multipliers applied during specific time periods.
{{timePeriodLabels[periodKey]}}
Hours
Weight Modifiers
{{modKey}}
{{period.modifiers[modKey] | number:1}}
Session Statistics
{{getTotalAssigned()}} Active Vehicles
{{stats.totalVehiclesAssigned || 0}} Total Assigned
{{stats.hornEventsTriggered || 0}} Horn Events
{{stats.rubberneckingEvents || 0}} Rubbernecking
{{stats.emergencyYieldEvents || 0}} Emergency Yields
{{stats.incidentsDetected || 0}} Incidents
{{stats.personalityEvolutions || 0}} Evolutions
{{stats.playerProximityReactions || 0}} Proximity Reactions
{{stats.trafficJamsDetected || 0}} Traffic Jams
{{stats.honkCascadesTriggered || 0}} Honk Cascades
{{stats.aiHornReactions || 0}} AI Horn Reacts
{{stats.turnSignalReactions || 0}} Signal Reactions
{{stats.delayedReactionsProcessed || 0}} Delayed Reactions
{{stats.overtakeAttempts || 0}} Overtake Attempts
{{stats.overtakeSuccesses || 0}} Overtake Successes
{{stats.overtakeAborts || 0}} Overtake Aborts
{{stats.activeOvertakes || 0}} Active Overtakes
{{stats.laneChangeAttempts || 0}} Lane Changes
{{stats.laneChangeSuccesses || 0}} LC Successes
{{stats.aiHonkAtPlayerEvents || 0}} AI Honks at Player
{{stats.engineRevEvents || 0}} Engine Revs
{{stats.aiToAiRageEvents || 0}} AI-to-AI Rage
{{stats.nearMissEvents || 0}} Near Misses
{{stats.roadStoryEvents || 0}} Road Stories
Your Reputation
{{getReputationLevel()}}
Horn spam: {{reputation.hornSpamCount | number:1}} Bumps: {{reputation.bumpCount | number:0}} Speeding: {{reputation.speedingNearAI | number:1}}
Active Personalities
{{(personalityInfo[key] && personalityInfo[key].name) || key}} {{count}}
No AI vehicles currently active
Core Intervals
{{config.pollInterval}}s
How often new vehicles are checked
{{config.applyDelay | number:1}}s
Delay before applying personality to new vehicles
{{config.environmentCheckInterval}}s
Weather/time of day check interval
{{config.proximityCheckInterval}}s
How often player proximity is checked
{{config.incidentCheckInterval}}s
How often incidents and damage are checked
{{config.turnSignalCheckInterval}}s
How often turn signals are scanned
{{config.honkCascadeWindow}}s
Time window for honk cascade reactions
Evolution & Reputation
{{(config.evolutionChance * 100) | number:0}}%
{{config.reputationDecayRate | number:3}}
{{config.hornAngerIncrease | number:2}}
Anger increase per horn event
{{config.bumpAngerIncrease | number:1}}
Anger increase per collision
{{config.speedingAngerIncrease | number:2}}
Anger increase from speeding near AI
Detection Radius (m)
{{config.rubberneckRadius}}m
{{config.emergencyRadius}}m
{{config.playerProximityRadius}}m
{{config.trafficDensityRadius}}m
{{config.incidentRadius}}m
{{config.hornDetectionRadius}}m
{{config.turnSignalDetectionRadius}}m
Damage Threshold
{{config.damageThreshold}}
Minimum damage for incident detection
Traffic Jam Settings
{{config.trafficJamSpeedThreshold | number:1}} m/s
Speed below which vehicles are considered jammed (~15 km/h default)
{{config.trafficJamMinVehicles}}
Minimum slow vehicles to trigger jam detection
{{config.trafficJamFrustrationRate | number:3}}
How fast frustration builds during jams
AI Car Radio
Nearby AI vehicles play muffled radio audio based on their personality. Place mono .ogg files in art/sounds/radio/<genre>/ folders (e.g. rock/, edm/, classical/). Multiple tracks per folder = random selection with auto-rotation.
AI cars play muffled radio near you. Add .ogg tracks to art/sounds/radio/ genre folders.
{{config.radioVolume | number:1}}
Volume for AI radios (>1.0 boosts pre-muffled audio, max 8.0)
{{config.radioMaxSimultaneous}}
Max radios playing at once (recommended: 2-3)
{{config.radioMaxEnabled}}
Max vehicles with radio enabled in traffic (pool-aware cap, like personality balancing)
{{config.radioChanceMultiplier | number:1}}x
Scales all per-personality radio chances (0 = no radios, 1 = default, 3 = 3x more likely)
{{config.radioMaxDistance}}m
Distance in meters to hear AI radios
{{config.radioTrackDuration}}s
Seconds before switching to the next random track
Radio Stats
{{stats.radioEnabledCount || 0}} Vehicles with Radio On
{{stats.activeRadios || 0}} Currently Playing
Feature Tuning
Fine-tune enabled features. Sections appear when their feature is active.
Breakdown Tuning
{{(config.breakdownChance * 100) | number:1}}%
Chance per check per vehicle
{{config.breakdownCheckInterval}}s
{{config.breakdownMaxSimultaneous}}
{{config.breakdownStopDurationMin}}s
+{{config.breakdownStopDurationRange}}s
Random extra seconds (total: min to min+range)
{{config.breakdownRecoveryDuration}}s
Near-Miss Tuning
{{config.nearMissMaxDistance | number:1}}m
{{config.nearMissMinSpeed | number:0}} m/s
{{config.nearMissSpeedDifference | number:0}} m/s
Relative speed difference to qualify as near-miss
{{config.nearMissReactionCooldown}}s
{{config.nearMissReactionDuration}}s
Road Story Tuning
{{config.roadStoryCooldown}}s
{{(config.roadStoryTriggerChance * 100) | number:0}}%
{{config.roadStoryMaxActive}}
{{config.roadStoryMaxDistance}}m
{{config.roadStoryDurationMin}}s
AI Honk at Player
{{config.aiHonkAtPlayerCooldown}}s
{{config.aiHonkAtPlayerMaxDistance}}m
AI-to-AI Road Rage
{{config.aiRoadRageMaxDistance}}m
{{config.aiRoadRageSpeedRatio | number:2}}
Target must be this ratio slower (0.8 = 20% slower)
{{config.aiRoadRageHonkCooldown}}s
{{config.aiRoadRageDecayRate | number:1}}/s
How fast frustration decays when vehicle clears
{{config.aiRoadRageMaxPlayerDist === 0 ? 'Unlimited' : (config.aiRoadRageMaxPlayerDist + 'm')}}
Only simulate road rage for AI vehicles within this range of the player (0 = unlimited, higher CPU)
Road Rage Lane Weaving
{{config.rageLaneWeaveInterval | number:1}}s
Base seconds between lane weave attempts (lower with higher global aggression)
{{(config.rageLaneWeaveChance * 100) | number:0}}%
Probability per interval to attempt an aggressive lane change while raging
Engine Revving
{{config.engineRevMaxSpeed | number:1}} m/s
Vehicle must be under this speed to rev
{{config.engineRevCheckInterval}}s
Honk Cascade
{{config.hornAudioMaxDistance}}m
Max distance from player at which horn audio plays. Beyond this, AI honks are silent (prevents distant blip artifacts)
{{config.honkCascadeRadius}}m
{{(config.honkCascadeBaseChance * 100) | number:0}}%
{{config.honkCascadeMaxDepth}}
{{config.honkCascadeVehicleCooldown}}s
Traffic Jam Behavior
{{config.trafficJamHonkThreshold | number:2}}
{{(config.trafficJamHonkChance * 100) | number:0}}%
{{config.trafficJamPanicThreshold | number:2}}
{{(config.trafficJamPanicChance * 100) | number:0}}%
{{config.trafficJamPanicSpeedMult | number:2}}x
{{config.trafficJamClusterRadius}}m
{{config.trafficJamMaxAggression | number:2}}
Headlight Flash
{{config.headlightFlashCooldown | number:1}}s
{{config.headlightFlashYieldDuration}}s
{{config.headlightFlashDefaultYieldFactor | number:2}}x
Default slowdown factor (0.7 = slow to 70%)
{{config.headlightFlashMinDistance}}m
Minimum distance for flash detection (ignore very close)
Damage Awareness
{{config.damageAwarenessThreshold}}
Damage level to trigger cautious driving
{{(config.damageMaxSpeedReduction * 100) | number:0}}%
Maximum speed reduction at heavy damage
Rubberneck & Emergency
{{config.rubberneckSpeedMult | number:2}}x
Speed multiplier when passing wrecks
{{config.rubberneckMemoryDuration}}s
Seconds to remember damaged vehicles
{{config.emergencyYieldSpeedMult | number:2}}x
Near-stop speed when yielding to emergency vehicles
Traffic Density
{{config.trafficDensityMediumThreshold}} vehicles
{{config.trafficDensityMediumModifier | number:2}}x
{{config.trafficDensityHighModifier | number:2}}x
Courtesy Behavior
{{config.courtesyRadius}}m
{{config.courtesySpeedMult | number:2}}x
Incident Response
{{config.incidentAgeOutTime}}s
Seconds before incidents expire
{{config.incidentCenterSlowFactor | number:2}}x
Speed at incident center (1.0 at edge)
Vehicle Reaction Tuning
Horn, bump, and competitive reaction multipliers (vehicle-side)
{{(config.hornReactionBaseChance * 100) | number:0}}%
{{config.hornSpeedUpMult | number:2}}x
{{config.hornSlightSpeedUpMult | number:2}}x
{{config.hornSlowMult | number:2}}x
{{config.hornSlightSlowMult | number:2}}x
{{config.hornPanicSpeedMult | number:2}}x
{{config.hornSlightPanicSpeedMult | number:2}}x
{{config.hornRageSpeedMult | number:2}}x
+{{config.hornRageAggressionBoost | number:2}}
{{config.hornSwerveSpeedMult | number:2}}x
{{config.hornConfusedSlowMult | number:2}}x
{{config.bumpSlowSpeedMult | number:2}}x
{{config.bumpPanicSpeedMult | number:2}}x
{{config.bumpRageSpeedMult | number:2}}x
{{config.bumpSpeedUpMult | number:2}}x
+{{config.bumpRageAggressionBoost | number:2}}
{{config.competitiveSpeedMult | number:2}}x
+{{config.competitiveAggressionBoost | number:2}}
{{config.reactionRestoreTime}}s
How long before reactions wear off
{{config.reactionRageRestoreTime}}s
How long rage reactions last
{{config.hornReactionCooldown}}s
{{config.bumpCooldown}}s
{{config.competitiveCooldown}}s
Internal Constants
Core speed thresholds and timing intervals (formerly hardcoded)
{{config.baseSpeedKmh}} km/h
Reference speed used for AI speed calculations
{{config.minSpeedKmh}} km/h
AI will never go below this speed
{{config.playerSpeedFastThreshold}} m/s
Absolute player speed (m/s) to consider player "fast" (15 m/s ≈ 54 km/h)
{{config.playerSpeedVeryFastThreshold}} m/s
Absolute player speed (m/s) to consider player "very fast" (20 m/s ≈ 72 km/h)
{{config.playerSpeedingThreshold}} m/s
Absolute player speed (m/s) to trigger speeding reputation (25 m/s ≈ 90 km/h)
{{config.playerSpeedingCloseDist}}m
Distance at which speeding anger is applied
{{config.teleportDistanceThreshold}}m
Distance jump that triggers re-detection (teleport guard)
{{config.damageAwarenessMaxFactor}}
Damage value at which maximum speed reduction applies
{{(config.packSpeedTolerance * 100) | number:0}}%
How close AI speeds must be to count as a pack
{{config.laneChangeCheckInterval}}s
How often AI evaluates lane changes
{{config.roadStoryCheckInterval}}s
How often road story events are evaluated
Debug Options
Debug Labels Show personality above vehicles
{{config.debugLabelDistance == 0 ? 'All' : config.debugLabelDistance + 'm'}}
Max distance for debug labels (0 = show all)
Debug Logging Extra console output
Log Assignments Log personality assignments
Overtake Debug Log Log why overtake timer fails to start
Max Limits
{{config.maxEvolutionsPerSession}}
Maximum personality changes per session