Creating realistic AI drivers in racing games such as Forza is one of the hardest and most complex parts of the development process. Creative Director for Forza, Dan Greenawalt, has explained to ARS Technica how they use neural networks to create super-realistic AI drivers.
With so many individual components and variables to take into account, creating AI drivers that behave realistically is an incredibly complex challenge for even the best game developers.
Tire pressures, spring rates, damping, and vehicle physics all need to be factored into how a car would behave, and that's before considering any environmental changes and impacts.
At the core of Forza Motorsport is the belief that it should be as close to a racing simulator as possible, while still remaining open to all players. As Dan, Creative Director for the Forza Franchise says "the game engine is sacred" and forms the heart of all Forza game development.
Use of Neural Networks for Forza AI
The Drivatar (AI driver system) in Forza on the original Xbox platform used a Bayesian neural network to learn lines. This recorded how someone 'drove' a car on the game platform. Since then, Drivatar has "developed considerably" as hardware and software development has progressed.
For the original Xbox and Xbox 360, the Drivatar AI system was localized to the hard drive. From Xbox One onwards, this technology is server-based which allows for far more complex 'learning' processes. This means a player's friends driving could be accurately replicated by the AI in their own games.
With this sudden influx of data after moving to server-based data learning, the AI in Forza games started showing "weird inaccuracies." This meant that the devs had to find a way to classify and refine the data that the Drivatar system learned from in order to fix the information overload.
Adapting for all player types
Current-day Drivatar technology bears "very little resemblance to the original" and is far more complex. The current system deals with a range of player styles from ultra-strict simulation racers to those who "just want to come in and smash everything up."
To create such realistic AI, the team uses a mix of traditional neural network 'learning' along with advanced AI programming (if variable A occurs, execute action B, and so on.) This produces an adaptable, realistically-behaving Drivatar system.
This even goes as far as controlling an individual Drivatar's behavior. Should you encounter players from outside your Xbox friend circle while racing online, the system has been designed so that these AI players cannot make deliberate contact with your car.
This means that even if the original driver was contact-heavy in their style, it won't carry across to their online 'persona' as they may race against players that despise contact-heavy racing.
Forza also makes use of 'rubber banding' whereby if the AI players get too far ahead, the system 'nerfs' the cars, adding weight, playing with aerodynamics, etc.
This means that players are able to catch up to within a certain distance much more easily, at which point the restrictions are removed. While 'rubber banding' is often criticized by hardcore players, it is one of the techniques that make games such as Forza far more accessible to all audiences.
Thanks to advances in technology, the AI also makes use of a new controller system. Instead of throttle and braking values being binary (on or off) they can now modulate their braking and throttle inputs to behave more like human drivers.
With technology ever-shifting and developing, new approaches are required constantly. "There are some things AI and DNN are incredibly powerful for [but] they're not good on everything" as the world moves forward, so does technology and AI.
The next installment of Forza Motorsport is coming soon; Here's everything we know so far.