Once upon a time I worked in a big studio on a driving game; it was to be the first (and thankfully, last) time I’d work in that dog forsaken industry but I do have some insight here to share that might be of interest on this topic.
One of the key features that we struggled with early on was the traffic. I believe the desire was there to try and make the titular american city the game took place in feel authentically ‘busy’ whilst trying to capture the exhilaration of weaving deftly in and out of any available space.
The problem was, when you’ve got players driving at speeds twice (or more) than that of the traffic, space that would seem plentiful becomes way too tight to actually manoeuvre within. Deftly nipping across a couple of lanes in reality isn’t too bad since even if you’re ‘speeding’ you’re probably not going that much faster than the surrounding traffic, especially if it’s busy.
So, even if the player was in possession of lightning quick reflexes, the somewhat realistic handling of the various vehicles just weren’t quite responsive enough for people to be able to pull off the weaving consistently enough to for it to be that enjoyable. Traffic travelling at 30mph may as well be a static wall when players are rushing around at 80+. This is especially true in a game (mostly) selling the fantasy of the strong but heavy muscle car as opposed to that of the nimble racer.
Consequently, the traffic spacing got larger and larger to cater for this vision with the knock-on effect of the streets seeming emptier and emptier. I don’t think performance was massively impacted by having more vehicles, it just didn’t agree with the vision of what the ‘fun’ should be.
Other issues arose with this as well; ‘random’ traffic was removed early on as this was a massive source of frustration when it threw up too many non-weave scenarios in too short a time period. In came handcrafted fixed ‘patterns’ of traffic that were, say, 100 yard long blocks which would fill out a chunk of road. Randomly slap together a few of those and you’d have a guaranteed slalom for the player down a length of road that could maintain a feeling of ‘denseness’.
However, it ended up having too many limitations; everything in the pattern had to travel at the same speed to maintain the routes through which felt artificial and restricting. Plus this was city driving; stretches of road aren’t that long before you inevitably hit an intersection and all this traffic having to come to a stop in the same place obviously closed off any routes through.
I think things went back to being more randomized after this point but, again, manoeuvering suffered and so things went back to being more spaced out. Solving the issue of simulated traffic accumulating en masse in certain places remained an issue even by the time I decided to ragequit.
I wasn’t really part of this design process directly (being a low ranked noob on the mission scripting side of things) but I did have to put the new patterns in as the designers came up with them and tweaked them. I doubt this story is that unique and imagine many other studios have gone through similar iterations of these ideas and thus feel that the answer to the question of “why don’t more games have more realistic traffic?” is less to do with hardware limitations so much as it is the desire to maintain the fantasy of barreling down main street as fast as possible, and everything that must be sacrificed to achieve that.
Related gem: apparently the pattern idea wasn’t a new one and was used in a previous entry in the series. Since there were only a handful of possible traffic combinations, they never bothered to build any AI for the cars players were meant to chase/race. Instead, the testers/mission designers would basically record a ghost car version of themselves racing through each permutation of pattern which would get used as a stand in for the AI for each mission.
Fortunately this was all before my time, especially since every time the build changed the ghosts would need re-recording in their entirety. By the end of the project these recording sessions would apparently go into the early hours of the next day…