Yeah, if thats true then they should have probably just stuck with whatever actually works, instead of making a computational experiment for people paying $60 for a game which expect it to WORK, and not just be an admirable effort.
Besides, there are many smaller things they COULD have done, but didnt. (Like having workers go to random free houses, not just the nearest one) to alleviate these kind of traffic problems. Its all pretty apparent that they didnt release the game in a decent state.
I guess I'm just a bit tired of developers and publishers "sticking with whatever works". I'd much prefer a flawed attempt at something genuinely new than a remake of SC4 with nicer graphics.
I've been thinking about this too, and I think you're overstating the required complexity a bit though. The difference between academic models and a game model is that academic models aren't going to be able to approximate behaviors in ways that save computational power like you can in a game, since they require accuracy.
For example, pathing. If sims were given a home and a place of employment they would only need to calculate pathing once initially, and subsequently when any changes to the road/transport network occur. There's no need to calculate it every time if the Sim has a starting point and ending point that are constant. The difference being that in an academic model, when a sim ran into regular traffic they would alter their pathing to try to save time, which would require much more frequent path calculations. In Sim City there's no need for that.
So you effectively cut down the time pathing is calculated for sims from constantly running to only running when the portion of the network they utilize changes. That leaves you time to simulate all of the other issues, such as property demand, happiness, etc etc. There's no need to run an extremely complex simulation on a game, when approximating behavior would have been more efficient for the context.
The problem is that they didn't implement either approach appropriately.
Non-Euclidean graph? What's that?
Also, no, it's not hard to do. You have a table of entries that you update every time you place a new road, or when a new building appears. Then the game finds all the optimal ways traveling from that place to all other places. And build it so that when you know how to get to your neighbour with the fastest route, you can use his fastest routes entries to get everywhere (which will use his neighbours' neighbours' route). Use weighted numbers for road-capacity, solve loop problematics, do special cases for intersections, et voila.
If you want to simplify it further, have a "prefered" cluster of industry and shops that that sim will want to go to, as not to map all work and shops in existence.
The sim needs to know where he's going when he leaves the house, and he can look it up in his transit table. You don't need to calculate things when people are moving, you just need some memory to store it for everyone.
A
Euclidean graph is a graph of points on a plane which satisfies the
Euclidean axioms. Most pertinently for path-finding algorithms and heuristics, all Euclidean graphs satisfy the
triangle inequality, which roughly states that the direct path between two points is shorter than any indirect path. Assuming the triangle inequality is satisfied allows you to make quick, effective pathfinding routines, as you can easily disregard a huge number of nodes and edges.
The issue in this case is that when you take traffic into account, the triangle inequality doesn't hold, because direct paths may be clogged up, and hence become slower than indirect paths (which is precisely what
this video posted in the OP about "abysmal pathfinding" is all about). Not only does this make writing effective pathfinding routines a lot more difficult, but because traffic is necessarily dynamic it also means you can't just pre-compute a big table of paths, and you have to do them all in real-time.
When doing pathfinding over non-Euclidean graphs, you can either be quick or be accurate, and the accurate choice (the A* algorithm) isn't an option when you're calculating this many paths over this many nodes in real-time. As such, it's inevitable that there are going to be some inefficient paths chosen now and again. I'm sure Maxis will tweak the pathfinding routine to eliminate some of the most obviously illogical paths, but people are expecting the impossible if they want sims to take a perfect path every time.
That's great, but in the end, it is still a sequel to a franchise that has delivered quite admirably with statistics-based methods and the cure is worse than the disease. Esp since if I understand you correctly, the scale of a genuinely 'realistic' agent-based model of a city would overwhelm home PCs for decades to come.
I won't restate my reply to Toma, but I will say that an agent-based city simulation can actually achieve that phrase that's long been an unfulfilled buzz-word of the industry; emergent gameplay. The old style of top-down statistically based simulation only reacts to the strategies that Maxis have programmed it to react to, and it only reacts in the exact manner in which Maxis intended. As much as I love the old Sim City games, there's rarely a sense of surprise in what you can do and how the game reacts to it, and bottom up agent based simulation changes that completely, allowing the game to respond in an almost infinite number of ways.
Ironically, a lot of what people are calling "broken" are actually examples of emergent gameplay, being strategies and techniques that the developers didn't explicitly program the game to respond to. They're just emergent strategies that people don't particularly like, or they feel unnatural in the context of a city simulation. Post-launch updates should eliminate some of the more bizarre strategies (such as the long snaking road), but I'm happy that the game, even as it is, is capable of surprising and challenging players in a new way for the series.