As early as the days of Mario Kart 64 and the first few Need For Speed games, I’ve had an instinctual dislike for rubber-banding in racing games, but it wasn’t until recently (while playing Need For Speed: Shift 2 and Forza Motorsport 4 back-to-back) that I could put my finger on what was so loathsome about it. There’s something terribly unfair about an opponent whose speed changes based on how badly you’re crushing them, that much has always been clear. There’s a bit more to it than that, though.
Before we get into it, a quick introduction: For those unfamiliar with the concept of rubber-banding, it’s a mechanic generally found in racing games. Essentially, it’s a method of building AI opponents to always be relatively close to the player. If they’re beating the player they slow down, if they’re losing they speed up. The idea is to make the experience more exciting for the player, by making it feel like a close race all the time.
Unfortunately, there’s some pretty serious flaws in the way rubber-banding is implemented in the vast majority of modern racing games. Rather than having AI that actually improves its driving to catch up to you, they tend to simply “cheat.” Their cars are made artificially faster or slower, instead of having a defined set of power and handling characteristics like the player car does. This, to me, is the crux of why rubber-banding is so obnoxious.
Most players will have a certain admiration for AI that’s designed to be good enough to beat the player fair and square. This applies across all genres; I remember the first time I played F.E.A.R. and witnessed the enemy soldiers finding a way to flank me and kill me, without even giving me a chance to return fire. There was no anger or frustration in being defeated this way. The enemies outsmarted me, and I suffered the consequences.
Rubber-banding AI, on the other hand, makes no effort to outsmart the player; it simply augments its own abilities so that it can overpower them. This would be like the soldiers in F.E.A.R. getting sick of being killed so much and saying “Fuck it, I’m just going to make my bullets do twice as much damage all of a sudden.”
It would be unthinkable to have AI designed this way in a shooter, or in most other genres for that matter. So why is it largely considered acceptable in racing games? The simple answer is that it’s much easier to hide in a racing game. In an FPS, if enemies started killing you with half the bullets it usually takes, you’d notice almost immediately. In a racing game, it’s often much harder to tell just how much power the other cars are getting at any given moment. If you get passed on a straight, was it because the opponent’s car was temporarily faster than yours, or did they simply get a better exit speed than you out of the previous corner? It’s often hard to tell.
Despite this, it will still eventually become obvious to the player that the AI is cheating. Once the player has learned a course well enough, and has optimized their racing line, the answer to the question of whether the AI got a better corner exit speed than the player becomes a definitive no.
So, what can we do about it, then? Fortunately, not all racing games rely on this system to generate competitiveness. A shining example of how to do racing AI correctly can be seen in Forza Motorsport 4. All of Forza‘s cars have a Performance Index – that is, a numerical rating of how good the car is, based on its weight, horsepower, and grip (among other things.) Not only do the player cars have this rating…the AI cars do, too!
The Forza AI then has to actually compete if it wishes to keep up to the player. This is ingeniously handled by way of a scalable AI. When the player starts Forza‘s singeplayer career mode, there is no difficulty setting to be chosen. Instead, the AI automatically adjusts itself based on how the player is doing. If they’re winning every race, the AI improves itself to try to keep up.
Of course, preventing the AI from cheating means that inevitably, the player will be able to best the AI on its hardest difficulty setting eventually. This is rendered a virtual non-issue by a game like Forza, though, in a couple different ways. First, the AI on its hardest setting is actually quite good. It took me several hours of play before I was able to defeat the best AI in a properly tuned and upgraded car. Secondly, the game has a massive and seemingly evergreen online community. You might be able to beat the best AI, but you definitely can’t beat the best human player in the world.
Unfortunately, this system of scalable AI is still not available in the vast majority of racing games, particularly more arcade-oriented ones. Why not? Because it’s much harder to build AI that can actually race well than it is to build AI that cheats. Historically, arcade racing franchises like Need For Speed have focused much more on aesthetics and accessibility than they have on accuracy and attention to detail, so it might be awhile yet before we see the end of rubber-banding in racing games.
Here’s to hoping, though, right?