Implement Strategic Bot Turn-Taking for Realistic Racing
Problem: The current AI behavior limits competitive realism in longer races because bots consistently ride inefficiently hard in a group. These hard efforts prevent them from executing race-winning moves against high-level human competitors (e.g. sprinting at the end or punching on a selective hill). They seem to manage this better in races under 1 hour.
I consistently observe that the bots I ride with accumulate a significantly higher TSS than me despite being often lighter weight and having higher FTPs than me. This indicates they spend far too much energy while in the draft in their groups.
Solution: In groups larger than 1, bots should randomly take timed pulls and then draft effectively while other bots take turns.
Bots should choose to take a pull or skip whenever it is their turn. When they are finished pulling or if they skip it is the next bots turn.
Bots would be more likely to take a turn if they are rouleur or TT bots or if they have plenty of reserve energy. Bots would be less likely to take a turn if they are sprinter bots or they are low on reserve energy.
Bots would probably need to increase their speed when they are "next up" so that they can more easily begin their turn. It would also be helpful if a bot would get into the group chat and let any humans know when they are "next up" so they can participate in the turns. This would help simulate real life rolling through.
Ultimately, this should help bots preserve their energy and make them better prepared for key selection points in the race.