Huh? Your video is making my point. In Simcity 4, you don't ever see cars go home. All you ever see is a bunch of arrows indicated by the route query tool. All the "cars" you see on the roads are just placeholder animated objects that aren't going anywhere.
But that didn't bother anyone. We all just assumed that they went home as usual. It's our mind filling in the blanks, and because of that, we assume that our mind fills in the blanks correctly and attribute that to the game accordingly.
FYI, the sims in SimCity 4 got jobs the same way as the sims in SimCity 5 do. SimCity4 sims never had permanent employment either. Everytime the work commute pathfinding tool would make a new calculation, each residential area was reanalyzed and new routes to work were generated for each building lot. The sims in SC4 got new jobs every cycle too.
They would get new homes each cycle too, if morning and evening commute weren't part of the same calculation.
But like I said, no one really gives a shit because it all plays out in a way that makes sense in our heads. There is nobody going nowhere in actuality. It's all values on a spreadsheet. With SimCity 5, the more complex engine has to generate sims going places. We can't just imagine it anymore, and inevitably, the software is going to make the sims do things that to our own mind seem stupid. The only reason we notice it more is because we are taking less things on assumption and seeing the game play them out in front of our eyes, rather than us doing it in our own heads.
I understand that storing every single Sim's job information would cause extreme lag, but would it be possible to have a system where every house is assigned a value that corresponds to a workplace as it's built?
Like, house;1=workplace;1, and so on. A complex with many sims would be like house;1-25=workplace;1. A massive building with thousands of sims would work like thousands of homes, as in it would be assigned a range of value and given several different jobs. Perhaps the large buildings could work on a different range of values, and the buildings themselves could be told to either host large groups of people, or split them off into smaller groups to support a wide range of workplaces.
If the house is destroyed, the values would automatically correct themselves, and if you built a new house, it'd start at the bottom and push the values up.
When a sim leaves his home, he is assigned the value of his home. In the case of complexes, they would be assigned a random range of values as they leave.
If a sim is somehow prevented from going to his assigned workplace, like the road that leads to his workplace is destroyed, he would return to his home and stay there til the next morning. If the road is still destroyed, he would return to his home, and so forth, until it's fixed.