Why Everyone is Wrong About SimCity (except me.)
When it comes to SimCity, everyone loves poop — whether it’s flowing through the sewage data layer or being flung at EA.
And generally that’s fine, but there’s one place where people have it wrong: The shortest-path traffic routing does not represent some kind of incompetence on the part of the programmers who worked on the game, nor a failure of quality-assurance, not is it representative that the game has been rushed out. Here’s why:
- Shortest-path is a game rule that is absolutely clear to the user. You don’t have to guess about what’s going on. Once you understand the rule, you know exactly how the vehicles are going to behave and you can plan accordingly. This is how all games work: Figure out the system, then figure out how to best take advantage of it. The value of this CANNOT be ignored. (Also, people in real-life often don’t have real-time traffic updates and often find themselves driving into traffic jams. Omniscient Sims would actually be unrealistic.)
- Routing that takes traffic into consideration is not something that it trivial to implement — it has major programming and performance considerations. Non-programmers have no idea how much of a problem this is — they just say: “Just have the car look to see if the road has too much traffic, and if so choose another route”. If it were that simple…don’t you think they would have just done it? Furthermore, as per my previous point it can lead to unclear behavior that the user doesn’t understand. SimCity has always been a game of traffic management. There will *always* be bottlenecks. The key is to make sure that the user understands why the bottleneck is happening and can then work with the system to eliminate them.
- Finally: “Smarter” traffic routing will not solve the real problem with traffic.
What’s the real problem with traffic? The fact that when vehicles are spawned, they aren’t properly aware of if other vehicles are also going to the same target. This is particularly evident with things like fire trucks (all trucks go to ONE fire while the rest of the city burns down), but it also happens with people leaving work — a ton of cars all go to ONE house, then all the cars (minus whoever fit at the first stop) move to the second house, etc…
That’s what is causing the worst of the bottlenecks and if this were resolved the shortest-route driving would be far less of a problem. And the good news is that this should actually be much easier to solve than “traffic awareness”, while also creating far less of a performance hit because it won’t require constant recomputation — just a check when the vehicle is spawned. Even if it doesn’t resolve traffic jams completely (although it would help!), it would make emergency vehicles and buses far more effective, which by itself would make cities run a lot more smoothly.
Also, the poop-flinging about “fudged” population numbers is ludicrous.