War Stories: How Forza learned to love neural nets to train AI drivers
Once an upstart, the Forza franchise is now firmly established within the pantheon of great racing games. The first installment was created as the Xbox’s answer to Gran Turismo, but with a healthy helping of online multiplayer racing, too. Since then, it has grown with Microsoft’s Xbox consoles, with more realistic graphics and ever-more accurate physics in the track-focused Forza Motorsport series as well as evolving into open-world adventuring (and even a trip to the Lego dimension) for the Forza Horizon games.
If you’re one of the millions of people who’ve played a Forza racing game, you’re probably aware of the games’ AI opponents, called “Drivatars.” When the first Drivatars debuted in Forza Motorsport in 2005, they were a substantial improvement over the NPCs we raced in other driving games, which often just followed the same preprogrammed route around the track. “It was a machine-learning system on a hard drive using a Bayesian Neural Network to record [racing] lines and characteristics of how somebody drove a car,” explains Dan Greenawalt, creative director of the Forza franchise at Turn 10 Studios, in our latest War Stories video.
In fact, the technology originated at Microsoft Research’s outpost in Cambridge, England, where computer scientists started using neural nets to see if it was possible to get a computer to identify a Formula 1 driver by the way they drove through corners.
In the years since, Drivatars have evolved considerably—and not always in ways that players appreciate. For the first few games, which were written for the Xbox and Xbox 360 consoles, Drivatars lived entirely on the console’s local hard drive. As you lapped the various tracks in the game, the Drivatar system was quietly using that data in the background to train the AI you were racing against. But with the move to the Xbox One, Greenawalt’s team decided to make use of the cloud.
“All of a sudden going to Thunderhead, we had millions of laps within what, a week?” Greenawalt says. “It was crazy.”
More data, more problems
Very quickly, the team at Turn 10 began learning a lot about the way different players drove their cars. Tracks aren’t uniform—they vary in elevation, width, corner profile, and more—and that complicates the way the neural net tries to generalize a racing line. Things get even more complicated when you’re racing against other cars; human players are much more aggressive with AI drivers than other humans, and by Forza Motorsport 6, the games started to include a way to toggle off some of the AI’s aggression as a way to combat single-player games that became demolition derbies when the AI tried to wreck the humans at every opportunity.
In this video—recorded remotely due to COVID-19—Greenawalt goes into some degree of detail in recalling how his team has handled these challenges across the years and even discusses the dreaded problem of “rubber banding,” where the AI cars slow down a little to allow a human player to catch up after a spin. Even if you’re not a fan of racing games, we think you’ll find this one pretty engrossing.
Listing image by Ars Technica
https://arstechnica.com/?p=1705877