Milano Grandstands
Sharknose on the banking

Milano A.I. Notes

- Greg Campbell

Milano was my first effort creating AI for GPL. Thanks to Ed Solheim of GPLEA, getting started was easy. The wonderful tools created by Nigel Patterson (RPY2LP) and Frank Dubuc (LP-Edit) really make it quite easy to get a working set of AI. Getting them running was the easy part. Getting them tuned and error free was where all the work was spent. The banking was the hardest part. The AI do not appear to be well equipped to handle the unusual conditions found in the banking.


Adjusting the A.I. (in the track.ini)

Here are a few adjustments you can make to the AI that alters their behavior.

The first setting, "global_hype_scaling", controls the spread of speeds from the front of the grid to the back (default value is 1.00). The long straights at Milano can get pretty lonely if the cars get too strung out. To counteract that effect, I've got the AI set to run very closely. If you prefer a wider spread, increase this number. The current setting results in ~5-7 seconds from the front to the back of the grid.

[ ai_track ]
track_global_hype_scaling = 0.25

The dlong_speed adjusts the speed of all AI. I use this value to affect the overall lap times of the AI. I like to run a low global hype setting, then use this value to match the speed of the AI to my own lap times. That tends to bunch up the field and give me more cars to race with. Increase this value to increase the speed of the AI and vice versa. Increasing or decreasing this in increments of .002 provides about one second difference in lap times.

[ GP ]
dlong_speed_adj_coeff = 1.07900

While the faster AI cars are running at human speeds (well, fast humans) the slower heavier cars end up running a bit faster than they should. If you like to run the slower cars, you can also lower the top speeds of the AI to more accurately run at Cooper-like speeds. Unfortunately this setting affects all cars including the faster ones. The default value is 2.5. With no other changes lowering it to 2.36000 will produce top speeds of ~190 mph, which is closer to the Cooper's top speed.

[ GP ]
dlong_speed_maximum = 2.50000

A.I. and the Banking

The banking presented the most challenges to the AI. Solving most of the problems with the AI, I have gotten to know the AI's simplistic physics model and was surprised what they can and cannot do. First they often would get loose and slide in the banking, losing 20-30 mph and making them easy to pass. Another problem was that after a pass, they would abruptly return to the racing line and spin. I found that when creating the replay for the RACE.LP file, I had to run the banking without any steering input. Even the smallest amount resulted in a slide with the AI scrubbing off speed. You will notice that even with no steering input the AI still leave a black mark in the banking.

Unfortunately, I could not fix the issue with the AI abruptly returning to the racing line after a pass. I ended up disabling passing on the first 2/3rds of the banking. They will generally not pass on the banking, but if they try, they will likely crash.

Just in case you are wondering, the lap used to create the Race.lp file was run with a Brabham. I found that the lighter Brabham seemed to create a smoother racing line through the banking, although the Cooper makes a much smoother Race.lp for the rest of the track.


Main | History | Setup/Track Guide | A.I. Notes | Download | Extras | FAQ