Opponent Rosters

iRacing AI doesn’t just include next-level artificial intelligence (AI) competition — it also includes fully adjustable and customizable AI Racing Opponent Rosters! Now, the challenge is in your hands; you can create custom AI Racing Opponent Rosters that could include legendary real-world drivers, your own friends and family, or just about anybody else you want to see out on the track. The possibilities are endless!

Here’s a quick rundown on how to create and adjust AI Racing Opponent Rosters to help you create the best possible experience for yourself, and, after you share your AI Racing Opponent Roster, everyone else.


Locate Opponent Rosters

Click to enlarge

AI Races are only available through the iRacing UI. So, you first need to launch iRacing through the desktop shortcut, or by clicking the banner link from the classic Membersite. Next, Click on the “AI Racing” section, found in the navigation bar on the left side of the window. By default, this will display your AI Racing Seasons page – click on the “Opponent Rosters” sub-section in the navigation bar to move to the Opponent Rosters page.

This page displays all of your existing AI Racing Opponent Rosters. These are stored on your machine at the following location:  \Documents\iRacing\airosters 

You can click on any of the Opponent Rosters to open them for viewing or editing. You can click the “Create a Roster” button at the top-right to start making a new one.


Create an Opponent Roster

Click to enlarge

To create a new Opponent Roster, on the Opponent Rosters page, click the “Create a Roster” button. Or, while setting up an AI Race, in the “Select AI Opponent Roster” dropdown menu, you can click on the “New Opponent Roster” option.

First, in the new “Create an Opponent Roster” window that appears, enter a name for the Opponent Roster. Then, select if you would like this Opponent Roster to use “All Cars in Single Class” or “Use Car Classes” for multiclass racing.

Next, click the “Add a Car” button; the car picker menu will open below and display all cars available for AI Racing. You can sort and filter this list and assign favorites, just like the other car picker menus. When you’re ready, click the “Select” button to add one AI Driver using that car to the Opponent Roster – you will see them appear just above the car picker menu. You can also click the small down arrow to the right of the “Select” button if you would like to add more than one AI Driver using that car to the Opponent Roster; just input the desired number, and choose to add them as “blank” or “random” drivers. Blank drivers will have all customizable fields empty, while Random drivers will have all customizable fields filled with acceptable random values.

You may adjust any and all parameters and selections later as needed. Once the Opponent Roster has a name and at least one Driver, you can save it by clicking on the “Save” button. Now it’s ready to use!


Edit an Opponent Roster

Click to enlarge

There are two ways to access an AI Racing Opponent Roster for editing. On the Opponent Rosters page, click on the Opponent Roster to open it for editing. Or, while setting up an AI Race, after you have selected the Saved Opponent Roster in the “Select AI Opponent Roster” dropdown menu, you can click on the “Edit Roster” button.

In the Edit Opponent Roster window, you can fully customize every aspect of the AI Opponent Roster. This includes sweeping changes, such as changing the AI Opponent Roster’s name, adjusting the cars, car classes, AI Driver order, or the number of AI Drivers in the Opponent Roster.

You can customize the driver number and name for each AI Driver. Also, next to the Copy and Delete buttons for each AI Driver, there is a down arrow button that opens a menu full of even more ways to customize the AI Driver. Here, you can select Driver Attributes, Paint Car, Helmet & Suit, and Swap Car. You are likely familiar with the Paint Car and Helmet & Suit customizations, as you can adjust these for yourself – and the Swap Car button allows you to change the car used by the AI Driver, but Driver Attributes are totally new for AI Racing.


Opponent Roster Driver Attributes

Click to enlarge

Just like real-world drivers, every AI Driver has a set of attributes that govern their racing skills. For the AI Drivers, you can view and adjust these attributes by clicking on the “Driver Attributes” button for each AI Driver on the Edit Opponent Roster page.

You will see a list of the seven AI Driver Attributes: Relative Skill, Aggression, Optimism, Smoothness, Age, Pit Crew Skill, and Pitting Strategy. Each AI Driver Attribute has a slider that allows you to set it’s value. Based upon the value, each AI Driver Attribute influences a particular area of the AI Driver’s racing performance, habits, and behaviors. Each AI Driver also features an “Apply to All” button that will apply the selected AI Driver Attribute value to ALL other AI Drivers in the current Opponent Roster. Remember, based upon the AI Driver Attribute, higher values are not necessarily better!


How AI Driver Attributes Affect Racing

Each AI Driver Attribute influences the AI Driver during AI Events as follows:

  • Relative Skill – A measure of how skillful this AI Driver is compared to the other AI Drivers in this AI Opponent Roster. A lower value results in slower cornering speeds and a less optimum driving line. A higher value results in faster cornering speeds and a more optimum driving line.
  • Aggression – A measure of the AI Driver’s behavior when interacting with other cars. Low Aggression encourages more car spacing and less overtake attempts. High Aggression encourages tighter car spacing and more overtake attempts.
  • Optimism – A measure of the AI Driver’s confidence in their own skill. A lower value results in more conservative throttle and braking behavior, such as lift and coast into a braking zone. A higher value results in more confident throttle and brake behavior, such as aiming for optimal acceleration and braking marks more often.
  • Smoothness – A measure of the AI Driver’s steering behavior. A lower value results in more oversteer. A higher value results in more understeer.
  • Age – The simulated age in years of the AI Driver. A value closer to prime racing age results in faster reaction times. As age increases, it also provides racing experience that can slightly improve overall performance.
  • Pit Crew Skill – A measure of the training and consistency of the AI Driver’s pit crew. A lower value results in slower pit service times. A higher value results in optimal pit service times.
  • Pitting Strategy Riskiness – A measure of the AI Driver’s likelihood to gamble with pit service. A lower value results in conservative pitting strategy. A higher value results in pushing the car to avoid pitting.


AI Drivers and “Actual Skill”

All AI Drivers have an “Actual Skill” attribute that represents their overall driving capabilities with a focus on cornering and driving lines. “Actual Skill” is determined by the relationships between the Relative Skill values of each AI Driver within the Opponent Roster, and the Skill Spread of the AI Event in which they are participating. For all Opponent Rosters, an AI Driver’s “Actual Skill” value is restricted to a value within the Skill Spread for the AI Event, and it is scaled based upon the Relative Skill value compared to all other AI Drivers in the Opponent Roster.

Click to enlarge

For example, if you have an Opponent Roster with AI Drivers who have Relative Skill values ranging from 0 to 100 (and everything in between), but the AI Event’s Skill Spread values are set to minimum 30 and maximum 60, all AI Opponents’ “Actual Skill” values will be scaled to values between 30 and 60. This means any AI Driver with a Relative Skill value of 100, will instead be scaled down to an “Actual Skill” of 60 for the AI Event, and any AI Driver with a Relative Skill value of 0 will be scaled up to an “Actual Skill” of 30 for the AI Event. All other AI Drivers with Relative Skill values from 1 to 99 will also have their “Actual Skill” scaled appropriately between 30 and 60.

Relative Skill allows you to utilize the same Opponent Roster while maintaining the ability to vary difficulty quickly, via the Skill Spread of the AI Event. This means AI Opponents with high Relative Skill values will always be scaled to have “Actual Skill” values near the maximum Skill Spread for the AI Event. Conversely, AI Opponents with low Relative Skill values will always be scaled to have “Actual Skill” values near the minimum Skill Spread for the AI Event. The narrower your range of Skill Spread for an AI Event, the closer in “Actual Skill” all AI Drivers will be, regardless of their Relative Skill values.

Since these values are relative and scaled, be mindful of AI Events with very few AI Drivers, very large differences in Relative Skill, or a very wide Skill Spread. These situations can result in “Actual Skill” values during the AI Event that might appear very different from their Relative Skill values.


Share an Opponent Roster

When a new Opponent Roster is saved, it creates a new Opponent Roster file on your computer. You can find these files in the following folder location: \Documents\iRacing\airosters

Here, you will see a series of folders, each with the name of one of your Opponent Rosters. Inside each of these folders is a file named “roster.json” which contains all of the data for the Opponent Roster. You can easily share these “roster.json” files with anyone you wish; just have them save the file inside a named folder inside their own \Documents\iRacing\airosters folder. Then, next time they launch iRacing via the iRacing UI, and navigate to the AI Racing section, they will see the Opponent Roster in their iRacing Simulator! If your Opponent Roster utilizes any customized paint schemes, those .tga files will also be in this folder, so be sure to send them along, too.