Resource icon

Misc True to Life AI 1.6.2

Login or Register an account to download this content
well i got cracked version :O
hammer+time+1.jpg
If you can upload the file i will be very thankfull
01-how-about-no-bear.jpg
 
This means that everything will be there EXCEPT for the top teams after YDT right? I managed to corrupt my Career save file (deservedly so) but I do want to start from the bottom of the grid.
Weird... Didn't corrupt for me

When you get the corrupting message, just press ALT+F4 to exit the game
 
Is the MOD working in multiplayer? Of course I mean if everybody has installed the MOD. I tried but the players was kicked from the game when it loaded to the pit.
 
I'm trying to pick and choose updates for my game. Where can I change these values?

- Slowed down the safety car, allowing all AI cars to catch up to the queue
- Lowered the gap between cars when the Safety Car is on it’s in-lap
- Lowered AI speed by 1.0% – 1.5% in wet weather
 
I'm trying to pick and choose updates for my game. Where can I change these values?

- Slowed down the safety car, allowing all AI cars to catch up to the queue
- Lowered the gap between cars when the Safety Car is on it’s in-lap
- Lowered AI speed by 1.0% – 1.5% in wet weather
Code:
22 | <scTargetSeparationTime float=
27 | <scMaxThrottle float=
28 | <scMaxSpeedThroughIncidentZone float=
 
If someone wants to have some inside knowledge from last year's TTL AI mod by snthennumbers, here's the AI stuff from his original mod when it was only TTL AI and not Season
Code:
AI files
ai_choreographer.xml
removal_distance_track="350" --> 1000 (Meters of track behind/in front of player where retired AI cars will be removed.)
removal_distance_crow="125" --> 750 (Straight line distance in meters between retired AI car and player. Whichever of the two above values are met first = retired AI car disappearing from track.)
lapping_yield_distance="60" --> 75
friend_yield_distance="25" --> 15
Mistake values raised.

ai_handling_config.xml
<drsSpeedBoost float=”1.1” /> --> 1.5 (increases the DRS boost for the AI to make it similar to that of the Player's DRS boost)

ai_driver_parameter_mappings.xml
<mapping ai_variable="wet_weather_ability" --> Lowered characteristic values by 1.0 - 1.5% so the AI is slightly slower in the rain. This does not correct the issue of rain starting and the AI being too quick while still on slicks. However, once the AI changes to inter's or wet's, they will drop in performance.
Big thanks to BBFred for pointing this one out to me, and big thanks to Keith Windsor for finding this fix.

ai_driver_config.xml
This file is where the majority of the AI behavior comes from. This was an exhaustive effort to determine the major parameters that cause the AI to act as they do, and translate it into plain English. One thing to keep in mind, which I see a lot of people doing, is setting values to zero. This can cause issues...you have to remember that many of these values, even if they don’t say “threshold”, are still threshold values. If a threshold is zero, it is either always met, or never met. This can lead to erratic AI behavior – best to try a very small value like 0.01.
<hvOvTimeThresholdAtMinSpeedDelta float="0.4" />
<hvOvMaxInterestingOvertakeTime float="4.0" /> --> 7.0 (Believe these help with overtaking, but I'm honestly not 100% sure. Haven't noticed anything detrimental from changing either)
<hvOvMinInterestingOvertakeTime float="1.0" /> --> 0.5
<hvOvMinInterestingHeat float="0.5" />
<hvOvPeakHeatReductionProportion float="0.95" />
<hvOvSkirtHeatReductionProportion float="0.9" />
<rmCurvatureMultiplier float="1.6" />
<rmLowSpeedMinGrip float="0.0" />
<rmHighSpeedMinGrip float="0.0" />
<rmHighSpeedPeakSlipAngle float="1.0" />
<rmLowSpeedPeakSlipAngle float="1.0" /> --> (Changed to LowSpeed since HighSpeed was listed twice; no noticeable difference)
<rmMaxSteeringDelta float="500.0" />
<rmMinLookAheadDistance float="4.0" />
<rmMaxLookAheadDistance float="20.0" /> (I tried changing this to 100 so the AI would be able to look 100 meters/feet? ahead, haven’t noticed any difference though, so reverted to default as I don't like changing things when I don't know what they do for sure.)
<rmLookaheadMinSpeed float="10.0" />
<rmLookaheadMaxSpeed float="50.0" />
<rmLookaheadMinAngle float="0.0" />
<rmLookaheadMaxAngle float="0.02" /> (I tried changing this to 0.08 so the AI would be able to look further around corners, haven’t noticed any difference though, so reverted to default as I don't like changing things when I don't know what they do for sure.)
<scTargetSeparationTime float="0.5" /> --> .25 (How close you can follow behind the safety car)
<scInLapLeadSeparationTime float="0.5" /> --> .25 (How close you can follow behind the safety car on it’s in-lap)
<scInLapLeaderSpeed float="25.0" />
<scBrakingPerformance float="0.8" />
<scCorneringPerformance float="0.85" />
<scMaxThrottle float="0.48" /> (Safety Car max speed (in %). Too high and cars won’t be able to catch up and join the queue behind the safety car – not realistic.)
<scMaxSpeedThroughIncidentZone float="50.0" />
<scLengthOfOIncidentZone float="100.0" />
<stSlideFactor float="0.0" />
<stProportionRabbitWhenInAir float="0.0" />
<rearWingMaxCurvature float="0.005" />
<rearWingMinSpeed float="25.0" />
<rearWingMinDistanceToNextCorner float="200.0" /> (Minimum distance of straight track, in meters? or feet?, that AI will open DRS on. I believe this applies in Practice and Qualifying.)
<kersRandomVarianceRange float="0.03" />
<thBrakeLineSpeedDrop float="0.25" />
<brFollowSpeedBrake float="0.5" />--> 0.435 (Raising this causes the AI to slow down unnecessarily when blocking...odd given the parameter name. Lowering it causes a slight increase in AI speed when blocking. Don't set this too low however, or the AI will exhibit odd behavior...like reckless overtaking or tapping the car ahead.)
<tgOffsetMergeFactor float="2.5" /> --> 2.0 (Ah yes, the Merge Factor parameters. These were difficult to figure out. They determine the “twitchiness” of the driver during the specified event. Don’t set these too low or the AI won’t be able to react as they should in a given circumstance. Lower = smoother)
<tgOffsetSpeedFactor float="0.9" />
<tgOffsetMaxForSpeed float="4.0" />
<tgNonOptimalSpeedFactor float="0.6" /> --> 0.785 (Allows the AI to realize earlier that they are closing up on the car in front too fast, and will move to avoid it sooner. This results in far less rear ending. Don't set this too high or the AI will move from the racing line acting like they want to overtake too soon, and it will cost them time.)
<tgClampOffsetLeft bool="true" /> (Can the AI overtake on the left?)
<tgClampOffsetRight bool="true" /> (Can the AI overtake on the right?)
<tgUndersteerMaxOffset float="2.0" />
<asRejectDistance float="15.0" /> --> 8.85 (This is the "clear clear" distance. In other words, if the rear of the car in front is this distance ahead of the car behind or lower, the car ahead won't try to come over. Don't set this too low or the AI will make contact.)
<asOffsetMergeFactorGentle float="2.5" />--> 2.0
<asOffsetMergeFactorExtreme float="5.0" /> --> 3.67
<asTargetBuffer float="-2.0" /> (Rumored that this is the "stress level" of the driver ahead, but after testing this I can't confirm that.)
<asWideLimitsSpeed float="999.0" />
<asImminentCollisionTime float="0.4" /> (Time between cars alongside which constitutes the AI thinking a collision is imminent. Set this too low and they'll start taking avoidance maneuvers unnecessarily.)
<asImminentCollisionDistance float="0.25" /> --> 0.3 (Distance between cars alongside which constitutes the AI thinking a collision is imminent. Set this too low and they'll start taking avoidance maneuvers unnecessarily.)
<asCarInFrontYeildDistance float="9.0" /> (Set this too low and the AI car behind will close up behind the car in front (Player or AI) to the point where they make contact (usually gentle). This causes them to slow down consequently.)
<rtRetirementSpeed float="60.0" /> --> 85.0 (Increased speed that retiring vehicles drive at so they're not dangerously slow.)
<rtRetirementResetTimer float="12.0" /> --> 130.0
<rtStuckTime float="10.0" /> --> 95.0 (time AI is allowed to continue trying to recover onto the track)
<rtStuckDistanceSq float="4.0" />
<rtPlayerDistanceSq float="10000.0" />
<rtStoppedSpeed float="0.5" />
<rtModerateDamageThreshold float="0.5" />--> 2.5 (This determines how much damage the AI will take before retiring. Too low and the AI will retire from punctures and broken wings. This value coincides with the values in loose_parts_settings.xml, however I’m unaware of the actual ratio.)
<damagedMaxThrottle float="0.6" />
<damagedCurvatureModifier float="0.6" /> --> 0.7 (Increases speed AI can carry through corner when damaged)
<dfMinDraftSeperation float="1.25" /> --> 1.5 (Separation in seconds from car behind to car in front which makes the car behind start drafting. Raising this means the AI will pickup on the draft from the car ahead sooner, and will start catching up sooner. I'm still having an issue trying to get the AI to pull off the racing line on a straightaway so they follow the Player's car ahead in order to maintain the draft.)
<dfBrakeZoneLimit float="300.0" /> (Distance in feet from the brake zone that the AI will stop trying to draft. Setting this to zero means the AI will draft behind you up until the braking line, meaning they’ll crash into the back of the car ahead as they don't have enough space to slow down.)
<dfTrackCurvatureLimit float="0.005" /> (Setting this higher means the AI will begin to pick up the draft from the car in front on tighter corners - I don't recommend adjusting this by much, if at all). I have not been able to figure out what unit of measure CM is using to determine a curvature. I thought these might be radians, so I converted radian to decimal and changed the curvature parameters to allow for 90 or 180 degree turns (in radians, which is 3.145927 for a 180 degree turn), but I didn't notice any difference. So I'm not sure what a curvature value of "0.005" actually means)
<dfBrakeSpeedUpperLimit float="84.9376" /> (no idea what this one does. Changing it to 15.0 and 150.0 hasn't resulted in anything I've been able to notice)
<dfMaxDraftSpeedDifference float="10.0" /> (Maximum speed difference from car behind to car in front which constitutes the AI car behind thinking they should be trying to draft.)
<drMinDraftSpeed float="35.0" /> (unsure on this one, don't know what the "<dr" tag translates to...maybe the minimum speed that drafting starts taking effect?)
<rcResetAllowed bool="false" />
<rcRecoveryTimeOut float="10.0" /> --> 60.0 (Allows AI more time to recover onto the track after going off, rather than retiring.)
<rcMergeFactor float="1.0" />
<rcCollisionTimeOut float="0.5" />
<rcTrackViewRecheckEnabled bool="false" />
<rcResetTrackViewTimeOut float="1.0" />
<rcWaitForAIWhenRecovering bool="true" /> (This one is strange. Setting to either false or true still results in the AI trying to recover to the track/racing line after a spin almost right away. Sometimes they will wait if this is set to true, but I can't figure out what determines if they wait or not. I've left it as true to help reduce carnage.)
<rcRecoverToTargetNearDistance float="10.0" />
<rcRecoverToTargetFarDistance float="45.0" />
<rcRecoverySpeedLimit float="10.0" />
<rcMinTimeBetweenRecTypeChanges float="0.0" />
<rcRayCastingEnabled bool="true" />
<rcVehicleAvoidEnabled bool="true" />
<rcSceneryAvoidanceCoefficient float="6.0" />-->10.0 (Makes AI try harder to avoid scenery such as bollards)
<rcSceneryForceReductionCoefficient float="1.0" />
<rcSceneryForceMinimumThreshold float="0.1" />
<rcForceToTargetCoefficient float="3.0" />
<rcForceForVelocityCoefficient float="0.5" />
<rcCollisionDetectionRange float="1.0" />
<rcSceneryCollisionDetectionRange float="15.0" />
<rcVehicleCollisionDetectionRange float="15.0" />-->11.5 (Lowered this slightly so the AI wouldn't be so "scared" when recovering to track with other cars nearby)
<rcVehicleAfterTimeMax float="1.0" />
<rcVehicleAfterTimeFactor float="1.0" />
<rcAvoidVehicleFactorCoefficient float="8.0" />--> 6.0 (Lowered this slightly so the AI wouldn't be so "scared" when recovering to track with other cars nearby, same as above.)
<rcAvoidVehicleExponentialCoefficient float="3.0" />
<rcThresholdSteeringForceToMove float="0.05" />
<rcThresholdDotDirectionBlocked float="0.5" />
<rcThresholdForceLength float="5.0" />
<rcReactToPlayerOnly bool="false" />
<raGenerateRandomOffsets bool="true" />
<raOffsetMergeFactor float="1.0" />
<raOffsetMergeFactorCornering float="0.5" />
<raOffsetMergeFactorAlone float="0.2" /> --> 0.5 (Makes AI which is racing "alone" [see the two below values] slightly twitchier, which slows them down slightly and leads to more realistic racing for the AI out of sight.)
<raAloneDistanceOn float="70.0" /> --> 100.0 (Distance in meters? away from car behind, that the car in front will stop considering the car behind’s presence)
<raAloneDistanceOff float="60.0" /> (Distance in meters? away from the car in front, that the car in front will start considering the car behind’s presence)
<raOffsetGenerateTime float="5.0" />
<ovOffsetMergeFactor float="4.0" /> --> 2.5
<ovTime float="5.0" /> --> 3.185 (How “rushed” the AI is when making an overtake. Too low and the AI will dive in recklessly and typically crash/spin.)
<ovBrakeOvertakeTime float="0.0" />
<ovRejectDistance float="500.0" /> (If the car in front is this distance, in feet, away from car behind, the car behind will stop considering overtaking the car in front.)
<ovSpeedDifference float="0.1" /> --> 0.05(This one seems obvious but I’m having a hard time testing it since the AI overtakes so rarely.)
<ovFollowDistance float="3.0" /> --> 2.25 (Not exactly sure on this one, but it appears to help with overtaking...I think this is how close the AI car behind will follow the car in front, when they're in range to make an overtake.)
<ovDecisionTimeOut float="0.0" />
<ovMinFireTime float="0.25f" /> --> 0.05 (Rumored to help with overtaking...amount of time the AI has to decide to overtake or not? No idea why there is an “f” in here, no other values have letters. Took it out and haven't noticed anything bad.)
<ovMinCornerCurvature float="0.001" /> --> 0.000842
<ovMaxCornerCurvature float="0.04" /> --> 0.15
<ovOffsetMergeFactorCorner float="0.5" />
<ovSlowSpeed float="10.0f" />-->10.0 (No idea why there is an “f” in here, no other values have letters. Took it out and haven't noticed anything bad.)
<ovWideLimitsSpeed float="7.5" />
<ovMinMetresSeparationAwayFromCorner float="10.0" /> --> 7.3 (I’m not exactly sure on this one. I lowered it in the hopes that it will help with the AI overtaking.)
<ovSeparationDistanceAtBrakeLine float="11.0" /> --> 23.8 (I believe this is the separation distance at the braking line, in feet? from the car ahead that the car behind will attempt an overtake. Too high and the AI will dive in recklessly.)
<ovSecondsBeforeBrakeZoneToReact float="2.5" /> --> 2.33 (Setting this too low will cause the AI to make reckless overtakes and/or crash into the back of the car ahead.)
<vlDropoffStartTime float="0.5" /> (Time away from car ahead where vision loss starts occurring...in the rain? Or just because they're behind a car...not sure)
<vlDropoffEndTime float="1.0" /> (Time away from car ahead where vision loss stops occurring...in the rain? Or just because they're behind a car...not sure)
<vlViewAngle float="1.57" />
<blOffsetMergeFactor float="2.0" />
<blMaxBlockeeDeceleration float="5.0" />
<blMaxTrackCurvature float="0.005" /> --> 0.015
<blMinIntersectionTime float="1.0" />
<blMaxIntersectionTime float="4.0" /> --> 3.75 (Lowering this causes the AI to take a blocking line later.)
<blMaxSpeedDifference float="20.0" />
<blBrakeLineDistMin float="150.0" /> --> 100.0 (Minimum distance in feet from the brake line that AI will block. Setting this too low causes the AI to try and "jump" back onto the racing line when they enter the braking zone, rather than move more gradually over, say, to pressure you over if they're on the inside blocking.)
<blMinValidBlockingMovement float="3.0" /> --> 2.0 (I'm not 100% sure on this setting and how it affects blocking unfortunately. Tried setting it to 0.2 and 15.0 and didn't notice any difference...I decided to lower it slightly since it's a minimum threshold)
<blCornerCurvatureToBlockToTrackInside float="0.015" />
<blMinSpeed float="25.0" />
<avOffsetMergeFactor float="5.0" /> --> 2.0 (Makes avoidance maneuvers not so dramatic)
<avMinSpeedNormal float="0.0" />
<avMinSpeedSlow float="9.0" />
<avNormalTargetSpeed float="200.0" />
<avStoppedTargetSpeed float="30.0" />--> 65.0
<avWrongWayTargetSpeed float="5.0" />
<avBufferZone float="2.0" />
<avBufferZoneBaseSpeed float="5.0" />
<avETAReactionTime float="3.0" /> --> 4.0
<avMinRacingSpeed float="4.0" />
<avPercentagePedalPushDistance float="1.2" /> (Believe this is how hard the AI can push the pedals so as to avoid an obstacle. Looks like 100% wasn’t hard enough, so they used 120%?)
<avSimilarDirectionMaxAngle float="0.5" />
<avPassAngle float="0.15" /> --> 0.38
<avPassSlowSpeed float="20.0" />
<avOncomingTraffic bool="false" />
<avFigureOfEightTrack bool="false" />
<avAvoidAlongside bool="true" /> --> false
<avSlowSpeed float="40.0" /> --> 61.0
<avSeparationSpeedDiff float="10.0" />
<avSideBuffer float="2.0" /> --> 1.83 (Set this too low and the AI will make "Nascar-style" bumping contact.)
<avSideBufferMinSpeed float="5.0" />
<avSideBufferMaxSpeed float="20.0" />
<lcRecoverSpeed float="10.0" />
<lcRecoverTime float="3.0" />
<rsLandRushStart bool="false" />
<rsMinimumWaitAtLights float="0.0" />
<rsMaxThrottleAtLights float="1.0" />
<rsStallPercentage float="0.0" /> --> 2.0
<rsEndSpeed1 float="30.0" /> (Speed driven during end of race sequence)
<rsEndSpeed2 float="50.0" /> (Speed driven during end of race sequence…for other tracks? not sure)
<rsTimeout float="10.0" />
<rsStaggeredIgnoreDriverAtStartGrid bool="false" />
<rsMaxRevDelay float="1.0" />
<rsOffsetMergeFactor1 float="0.5" />
<rsOffsetMergeFactor2 float="2.0" /> --> 1.5
<crMaxTrackCurvature float="0.01" />
<coYieldMinSpeed float="16.0" /> --> 20.0 (minimum speed your teammate will slow down by if they yield to you…I don’t think I’ve seen a teammate yield to me yet though...)
<coYieldDistToLimit float="1.0"
<coLetPassThrottleRatio float="0.4" /> --> 0.67 (If your teammate lets you by, they will slow down by this percent. 0.8 means they will give 80% throttle when letting you by, rather than 40%.)
<coSpinSpeed float="1.6" />
<coMinSpaceForForkDecision float="5.0" />
<coFriendshipThreshold float="0.5" /> --> 0.2 (How friendly your teammate is when racing with you, lower = less friendly.)
<sqMinSafeSeperation float="0.4" />-->0.35 (These are “squeeze” parameters, which handle situations for cars that are 3 wide on the track, or trying to fit through a gap between 2 cars ahead.)
<sqTargetSeperation float="0.55" /> --> 0.45
<sqMaxSafeClosingSpeed float="0.75" />
<sqMaxSafeSqueezedCarClosingSpeed float="0.2" />
<sqMaxSafeSpeedDifference float="10.0" />
<sqMaxCornerRadius float="80.0" /> --> 195.0 (Maximum corner radius that AI will squeeze through)
<sqMaxDistanceToCorner float="300.0" />(Lowering this causes the AI to back out of a squeeze scenario sooner)
<trTrackCurveTargetDistance float="200.0" />
<trTrackCurveOffsetRecalc float="0.25" />
<trTrackCurveMinSpeedInRatio float="0.0" />
<trTrackCurveOfflineRatio float="0.6" /> (Thanks to Demy and Luke Weston for helping with this one. This controls how much of the track the AI uses outside of the predefined racing line. The problem, however, is that this parameter controls both outside and inside the racing line. So, setting this higher will allow the AI to cut corners more if the need arises (if they're avoiding someone for example), but it also causes them to run wide on corners much more frequently, resulting in loss of speed. It's best not to change this by much, if at all.)
<desiredSpeed float="0.0" />
<minSpeedLinePercentage float="0.0" />
<contactZone float="0.1" />
<contactOffsetMergeFactor float="5.0" /> --> 2.0 (Calms down the AI when they make contact.)
<resetTrackViewTimeout float="3.0" />
<maxNumObservedClosestForwardVehicles int="5" />
<maxNumObservedSoonestForwardVehicles int="2" />
<maxNumObservedClosestRearVehicles int="1" /> --> 3 (raising these values helps with needless rear ending, this is especially apparent at the hairpin at Monaco on lap 1)
<maxNumObservedSoonestRearVehicles int="1" /> --> 2
<maxObservedViewDistance float="1000.0" /> --> 2000.0
<maxObservedViewTime float="10.0" /> --> 25.0
<atgBrakingZoneTriggerTime float="2.5" /> --> 2.0 (Time in seconds away from the braking zone that the AI will take anti-tailgating measures?...aka if they move out from behind the car ahead or not)
<atgDefaultDistanceSensitivity float="10.0" />(Still working with these anti-tailgate values to see if they're useful or not)
<atgTimeSeperationFudge float="0.3" />
<alongsideSpaceStraightCurvature float="0.005" />
<alongsideSpaceTightCurvature float="0.03" />--> 0.0172 (Lowered this so the AI can get closer to the car alongside through tight curves, this helps with corners such as turn 6 at Monaco...the super tight hairpin)
<alongsidespaceCurvatureFactor float="1.0" />
<pqSessionRhythmActive bool="true" />
<pqSessionRhythmQualifyingScalar float="1.0" />
<pqSessionRhythmFastScalar float="0.98" />
<pqSessionRhythmNormalScalar float="0.95" />
<pqSessionRhythmSlowScalar float="0.87" />
<raceSessionAdjustmentScalar float="0.97" />
<behaviour>
<BehaviourRecovery bool="true" />
<BehaviourRetire bool="true" />
<BehaviourHeatVision bool="true" />
</behaviour>
 
Thank you as well ParkYongLee!

Edit: I don't see a difference between the default ai_driver_parameter_mappings and the edited one when it comes to wet weather ability. And his database actually has higher wet weather ability than the default. I'm confused.
 
Last edited:

Latest News

What would make you race in our Club events

  • Special events

    Votes: 13 22.0%
  • More leagues

    Votes: 12 20.3%
  • Prizes

    Votes: 10 16.9%
  • Trophies

    Votes: 6 10.2%
  • Forum trophies

    Votes: 4 6.8%
  • Livestreams

    Votes: 10 16.9%
  • Easier access

    Votes: 36 61.0%
  • Other? post your reason

    Votes: 7 11.9%
Back
Top