Certain fans of the game have accused Codemasters of scripting the AI in to the game. However Codemasters have denied any such thing has been developed in to the game. Over at the Codemasters official forums the following was published:
Hi everyone.
As you are aware work is on-going towards a patch for the game, and we will release details on this as we move through the patch creation process. Your constructive feedback has been invaluable in helping us both identify and work to resolve issues with the game, and we appreciate your detailed posts.
Some of the identified issues have led (understandably) to people making assumptions about the game that are not accurate, so we felt that in order to reassure you and explain better the process which we are going through at the moment, we’d address a few common queries, in particular relating to AI. In putting this post together, we spoke to various people from across the development team, including the leads and specialists who are working directly on addressing the issues that have been raised.
The AI system implemented in F1 2010 is very complex, and is certainly not scripted in any way. Every AI driver is trained with a series of race behaviours such as overtaking, defending a position and slipstreaming etc. On top of these behaviours we have a unique set of characteristics. These characteristics are defined per driver so you’ll notice some subtle differences. Some drivers are better at race starts or are better at overtaking (they look for narrower gaps), or are better in the rain, or are more aggressive, or are better around certain race tracks. We also have a system which can make certain drivers have a particularly good or bad race depending on a number of factors. All of this driver variance is of course combined with the cars themselves also having varying levels of performance.
It’s also important to note that in order to make the tracks as richly detailed as they are, we use far more textures than the consoles can physically hold. As with many games, we actively stream in and out textures based on the position of the player. This, plus the fact we don’t simulate many visual effects on the far side of the track from the player – a “level of detail” system employed to save valuable processor time – would mean there would be a significant pop or delay if we were to allow you to switch cameras between drivers on track.
Practice & Qualifying AI
In practice & qualifying (P&Q) there are two fundamental issues which have meant that we had to make some implementation decisions for the AI in F1 2010. These two issues are our jump-to-sector feature and the fast-forward feature that is available on the car monitor in the garage.The jump-to-sector feature necessarily simulates teleporting a car instantly to a position while the fast-forward feature allows the player to speed up time. The latter prevents us from simulating the actual AI travelling around the track 100% of the time as we cannot accurately simulate 24 cars where we have accelerated the passage of time by as much as a factor of 30. An F1 car can move at over 200mph. With 30 times speedup, we cannot simulate car physics at 6000+mph without losing some fidelity. F1 cars obviously cannot move this fast. We therefore implemented a system whereby the AI times in such circumstances are calculated based on a ‘football management” style simulation model. Using this model all of the race factors, such as the car, driver, weather, tyres, engine, track conditions, traffic are all taken into account and a lap time is produced. These generated times are well considered and guided by a huge amount of data; they are not randomly generated. Nevertheless they remain simulated approximations using this model.
For P&Q sessions we spent a long time experimenting with flipping back and forth between this simulated system and actual AI physical timing, as the fast-forward is engaged and disengaged, but it lead to the potential for subtle exploits which we were not comfortable with. Therefore all AI times in these P&Q sessions use this simulation method.
Race AI
As none of the above feature restrictions are relevant in the race itself, we DO NOT use any other systems in the race other than the AI cars all physically driving the race just as the player does. Other factors also contribute to the AI lap times and the variation in their race pace. These include race start behaviours, their ultimate race pace which takes into account elements such as fuel and tyre degradation, weather, conserving / cooling engines etc, their in and out laps in the pit stop phase and their finishing pace.We have seen several email and forum threads which suggest that an AI car’s performance is determined by where they are positioned currently in the race, or where they are in relation to the player which absolutely isn’t the case.
Based on some of the feedback we’ve received we are looking into the variation of AI race pace, as well as working hard to address as many of the following issues as possible in the upcoming patch, which aren’t AI specific but are adding to the assumptions that we are using fake or scripted AI:
Pit Stop
Several pit stop issues have been reported;* The AI not making a mandatory pit stop during a dry race of 20% or more
* The player being forced to wait in the pits before being released
* The player or AI cars becoming stuck in the pit lane
* The use of flashback breaking the AI pit strategiesWe’re currently investigating each of these issues and recognise that these would have a significant impact on the way that the race pans out. As ever with fixing these issues it’s a case of finding out how to repeat the problem so that we can track the issues down and fix them.
Split times
A few of you have correctly spotted that the race leader isn’t always the quickest on the first lap of the race. This is an issue whereby the start line is resetting the AI lap timings rather than everyone’s time being taken from when the start lights go out, which of course should be the case on the first lap.It’s important to also note that the lap times displayed on screen in F1 2010 are compared to the gap to the leader, rather than being split times to the car in front or behind. They are calculated on the time difference within sectors, on a lap by lap basis. For example, the players lap and individual split times on any given lap is compared to the race leader only.
Track reset
There are a few videos and threads where the AI have been seen to spin off and then teleport around the track. Again this isn’t an intentional component of the AI systems. We have a retrieval system that will reset cars to the track if they manage to get out of the world which is intended for use in a number of scenarios such as violent collisions. In these cases it appears that this retrieval system has fired off by mistake.Race engineer speech
There are a few issues whereby the information which the race engineer is feeding you in relation to gaps to the car in front seems to be at odds with what is happening in the race. Again this isn’t tied into the AI at all. It’s purely speech logic and triggers.Fuel simulation and tyre degradation
This has been implemented for both players and AI cars. We’ll investigate the drop offs and see if the numbers need tweaking as part of the patch.