Overview:
1. Introduction
2. Install/Uninstall
3. How To Play Against AI
4. Tips
5. Notes
6. Changes
#
# 1. Introduction
#
Shovas Competition AI is a mod of various AI-related configuration parameters to achieve more realistic race performance by AI drivers resulting in more realistic, tighter, more intense racing.
This mod is not intended to help you find the right AI level for you. It's only meant to make AI competitive who qualified similarly to you to give you a hard, intense race.
Specifically, the main goals include:
- Qualifying performance should more closely reflect race performance as compared to original AI. For example, if you qualify top 3 you might have a chance to win, but if you qualify top 6, you will not have a very good chance of winning (compare to original AI where you could win even qualifying 10th+).
- Closer performance differences across the grid. For example, a grid of GT cars should be separated by a few seconds, not 10+ seconds. Tighter grid performances will help closer, more intense racing.
Thank you to GTR233, Von Dutch, and others for help in the making of this mod, and SimBin for GTR2!
#
# 2. Install/Uninstall
#
Notes:
- This mod overwrites various files including AIW and RCD files
^ Backups in ORIGINALS folder
- Recommend extracting against original content GTR2 but should work with other mods bearing in mind original content AIW and RCD files are overwritten
- Recommend using OvGME (Open Generic Mod Enabler) for safe install and uninstall (but not required)
# Install
1. UserData\User.PLR(*)
- Make a backup of your PLR in case you want to uninstall
Player Car Equal="1"
AI Power Calibration="0"
AI Brake Grip Usage="0.98000"
AI Corner Grip Usage="0.94000"
AI to AI Collision Rate="40"
Vehicle Specific AI Setups="0"
*Rationale for each param change can be found under the Notes section.
2. GameData Files
Extract the GameData folder into your GTR2 installation folder, overwriting any existing files.
# Uninstall
1. Replace your UserData\User.PLR file with your backup
2. Copy ORIGINALS\GameData folder to your GTR2 folder, overwriting any existing files.
#
# 3. How To Play Against AI
#
General:
- Treat the AI like a real person that you would respect on track. They will race hard and clean and won't easily give you a pass if they're close to your performance. You can race them cleanly side by side through a corner if you respect them.
- AI come ready to race right from the beginning (besides the first few corners and first lap where they're all jammed up). AI will race at top performance in Practice, Qualifying and Race (although Practice and Race performance will differ due to AIW QualRatio vs RaceRatio). There's no delay like in stock GTR2 AI (ie. RCD ColdBrain params).
Practice:
- Advice: Run laps until you're at race-level comfort with the track (ie. multiple, qualifying-speed, incident-free laps). AI calculatons assume you won't be improving your laptimes much faster in the race than you have achieved in qualifying. If you end up going much faster in the race you won't get the competitive, close, hard racing AI experience these AI calculations are intended to achieve.
- Practice with a default setup and tweak as needed. Qualify with a fast setup (soft tires, minimal fuel). Race with realistic tires (ie. mediums for good weather) and enough fuel to finish the race.
- I tuned with this procedure:
- Practice: Medium Tires, 50L fueld
- Qualify: Soft Tires, 4Laps Fueld
- Race: Medium Tires, Enough fuel to finish race
- Do not jump on AI on race start when control turns over to the player: There is a small amount of time between player taking control and the actual Green Flag when AI start to accelerate. Wait until Green Flag for the best, more fair start.
Qualifying:
- Do not skip the session, use time acceleration, instead, to ensure all AI get a time in.
- Go ahead and qualify immediately but be aware the track will not be warmed up or as rubbered in as it will be later in qualifying. You can often achieve better laptimes later in qualifying. Use time acceleration to go to 10-20 minutes left in qualifying and you'll have a well warmed up track that is rubbbered in and now you'll be able to achieve better laptimes.
- Use your fastest setup. For me, I use Soft Slicks and put in enough fuel for 4 laps to give me time to put in my fastest lap. I return to the pits and try again if I run out of fuel. This makes sure you are at your fastest and the AI are at their fastest so that calculations work out.
Race:
- Use your race setup, not your qualifying setup. For me, I use Medium Slicks and put in enough fuel to last the race + a few laps/minutes more. This ensures you're aren't tricking the game and running an unrealistic setup in a race: If you did the calculations would be wrong and you wouldn't get competitive racing.
- Do not try to pass too many people on the first corner or first lap. The AI is still wonky and gets jammed up on the first lap when everybody is all together so do yourself a favour and work with it. You'll be in the correct position, AI competitiveness-wise, after the first few corners or maybe the first lap, and you'll have a much better race.
#
# 4. Tips
#
- Practice until your are race ready for best race results.
- Time accelerate 10-20 minutes in Practice and Qualifying to allow the track to heat up and the AI to rubber in the track so that it's at its fastest when you start driving.
#
# 5. Notes
#
UserData PLR Notes:
Player Car Equal="1" // Enabled results in AI laptimes in Qualifying that are ~1.5sec apart whereas disabled results in AI laptimes that are spread out by much more; Enabled to avoid inconsistent behaviour so we can reliably make adjustments to other parameters; Unsure what this is actually doing behind the scenes: Forcing AI to use Player car setups? Adjusting AI performance parameters? Unsure.
AI Power Calibration="0" // Disallow game adjusting AI using various available parameters (power, gearing, fuel) in order to get a baseline so AI calculations can be done reliably. This may also be the param that causes AI to use less than full throttle for AI < 95. Need to confirm.
AI Brake Grip Usage="0.98000" // Increase/Decrease when AI brake too early/too late before corners
AI Corner Grip Usage="0.94000" // Increase/Decrease when AI are slower/faster around corners than they should be
AI to AI Collision Rate="40" // Higher values result in AI crashing less; 40 is the max so why not.
Vehicle Specific AI Setups="0" // Reduce testing variables by avoiding custom AI setups
#
# 6. Changes
#
1.0.0-beta1 (2019-12-06)
- No changes since alpha6
1.0.0-alpha6 (2019-12-06)
- Note: Racing is pretty good. Field is tight-ish, and you are competitive within +/- a couple of AI who you qualified around and not much more. Feels decently realistic.
Problem: AI braking too early before corners
Theory: AI Brake Grip Usage too low
Experiment:
- AI Brake Grip Usage="0.97000", 0.98+
Result: Good, no noticeable early braking so far
1.0.0-alpha5 [reverted] (2019-12-06)
Problem: By the end of the race, GT field was spread at the top but spread out by 17sec+, NGT by 18sec+. Ideal would be to match qualifying where they all stick around each other by 1-2sec.
Theory: Some racing-related RCD param is spreading them out, try experimenting with them. For example, Passing, TrackAggression, Consistency
Experiment 1: TrackAgression...
- s/TrackAggression\s*=\s*(-?[\d\.]+)/TrackAggression=1.0 // DEFAULT=\1/
Result 1: SCRATCH: Mistaken problem. Grid should be spread out by the end of a race due to some cars being slower than others otherwise there would be no race. Having the same TrackAgression also made it seem like a train progression. Might want to tweak aggression later, though.
Experiment 2: Consistency...
Result 2: SCRATCH ~
Experiment 3: Passing...
Result 3: SCRATCH ~
1.0.0-alpha4 (2019-12-06)
- Reset RainAbility to avoid variable performance in rain situations
- s/RainAbility\s*=\s*(-?[\d\.]+)/RainAbility=0.00 // DEFAULT=\1/
1.0.0-alpha3 (2019-12-06)
Problem: Player gains too many spots on starts because AI are not fast/aggressive enough on starts
Theory: RCD StartsDry/StartsWet need tuning
Experiment: Tune StartsDry/StarsWet
- s/StartsDry\s*=\s*(-?[\d\.]+)/StartsDry=0.00 // DEFAULT=\1/
- s/StartsWet\s*=\s*(-?[\d\.]+)/StartsWet=0.00 // DEFAULT=\1/
Result: Good. Started from back. AI didn't appear to change spots too many much in lap 1.
1.0.0-alpha2 (2019-12-05)
Problem: Same-class cars performance difference too great in races. For example, ideal would be for top GT class to all be within 1 second or so.
Theory: Some params in RCD file are causing them to perform differently.
Experiment: Change some RCD performance params to bring AI closer in terms of performance.
- s/QualifyingAbility\s*=\s*[\d\.]+/QualifyingAbility=0.00/
- s/RaceAbility\s*=\s*[\d\.]+/RaceAbility=0.00/
Result (single class Specials GT's 2004): Good. Qualifying field within <2seconds. Race was tight. Qualified 7th, got to 4th by t1, made 3rd, then fell back to 5th on some mistakes. AI were still making mistakes, too.
Result (multi-class Official FIA GT 2004): Qualfying classes within <2sec of each, properly sorted by fast-to-slow classes. Qualified 4th. Reached 2nd by T1 and kept it for the race. By the end of the race, GT field was spread at the top but spread out by 17sec+, NGT by 18sec+
Testing: Specials GT's 2004 - Ferrari 575 at 2004 Monza GP (20 AI)
1.0.0-alpha1 (2019-12-05)
- Eliminate slow-starting AI when a race begins:
- Update all *.RCD *ColdBrainTime=0
- s/ColdBrainTime\s*=\s*\d+\s*$/ColdBrainTime=0/
- Eliminate too much variance given to per-track grid performance adjustments which cause widely variant laptimes leading to stretched out fields where you're not racing closely.
- Update all *.AIW (Worst|Mid|Best)Adjust
- s/WorstAdjust\s*=\s*\([\d\.]+\)/WorstAdjust=\(1.0\)/
- s/MidAdjust\s*=\s*\([\d\.]+\)/MidAdjust=\(1.0\)/
- s/BestAdjust\s*=\s*\([\d\.]+\)/BestAdjust=\(1.0\)/
- Alleviate situation where no matter how high the AI Difficulty, you can still qualify faster than them which means you're always likely guaranteed to win, which is a boring race.
- AI Corner Grip Usage="0.93000", 0.94000...
- Eliminate potential hard-to-test variable conditions where AI use car or track specific AI car setups
- Change PLR Vehicle Specific AI Setups="0" to avoid variable of AI using vehicle specific setups