SimCity’s Sims Don’t Seem That Smart After All
rockpapershotgun.com
rockpapershotgun.com
The game is, IMO, mostly unplayable at this point. I have no idea how they let this one out the door with the pathfinding problem, which in my book is an absolute showstopper.
Clever, dedicated, and somewhat masochistic players have found ways to "hack" the poor pathfinding behavior. The most popular format right now is to build a city with no intersections, since the AI deals so spectacularly poorly with them. Which is to say, the entire city is a single, long, winding road. This forces your dumb sims to have no choice but the right one.
Some apologists have claimed this is simply the rules of the game, but I still maintain that SimCity fails unless it maintains some semblance to real-life cities. If the only way to play the game effectively is to build something that bears zero semblance to any real city, then it has failed.
The funny part is that this loosely resembles the recent Heroku fiasco. In the game your civic services (police, fire, ambulances, garbage) are supposed to intelligently service the city - in reality their pathfinding results in basically random behavior, vastly increasing the amount of capacity you need to build to statistically serve an area. You have to grossly over-build your fire and police departments because their pathfinding is awful and random.
I'm not usually this hard on others' hard work - but this game is a travesty that should never have shipped in this state, even disregarding the server issues. There are core gameplay mechanics that are still fundamentally broken.
It's actually the opposite, sims always go to the nearest source for whatever it is they need despite traffic or congestion. Some randomness in picking a destination might actually solve the problem without requiring any particular intelligence.
At various points in this one or two vehicles will peel off from the pack in a random manner - often towards stops with nothing to pick up.
So the aggregate effect seems to be a clump of city vehicles moving randomly around the city, neither towards nor away from places where they're needed, and you're relying mostly on the random "split from pack" behavior to get any real work done.
http://www.youtube.com/watch?v=l_ufAd79bOA
Edit: actually, they seem blocked by cars from the left lane. They'd go left otherwise!
A developer has said that they are using D*I have no idea how they have let this go out without putting more work into this...however maybe the same people who wrote the AI are responsible for running the servers and this is why we're seeing problems there too?
End of the quarter is two weeks away. EA needed the revenue bump in the earning report this quarter. It is sad that stock market issues drive release decisions.
I don't know about the one long winding rail line being the best possible layout, but more realistic layouts worked very well. It's not surprising that a simulation can be gamed to work better with unrealistic layouts (e.g. search for "Magnasanti"), but a city simulator should work reasonably well with realistic layouts, even if it's not necessarily the best. Real cities surely aren't the best layout either.
SimCity has always had its quirks like this, but I think this version really does take it to a new level.
I've built agent level simulators and have run gate level simulations on fpga designs and the thing they share is amazing complexity which goes up really really quickly. Does is make SimCity less 'fun' ? Certainly. Does it rise to the level of failure? I'm not sure I agree.
I built a simple action selection mechanism based system for a predator / prey type robot setup. It was pretty simplistic (the prey ate/slept/hid/ran the predator ate/hunted/slept) assuming each of our sims has something like that I can't imagine how you would make that 'real time' unless you had like 100 machines dedicated to each city.
Cost effective web products have anywhere between 1K to 10K users per machine, not .01 user per machine. So the "real" (or real-er) thing would be pretty cost prohibitive as a game I suspect.
Sure. It's one thing for the game to fail to live up to the complexity the fanbase expected, it's another for the game to be broken when played the way the designers intended.
SimCity is a game, it is only a simulation insofar as simulations are entertaining. When the nature of your simulation means that players are constantly having to dodge and weave around the dynamics of your simulation in a distinctly un-fun way, you've failed at the basic task.
> " assuming each of our sims has something like that I can't imagine how you would make that 'real time' unless you had like 100 machines dedicated to each city."
Indeed, and I commented on this earlier - the choice of using agent-based simulation was IMO a disastrously wrong one. The limitations on agent population and agent complexity (due to hardware constraints) results in a simulation that is unintuitive, inaccurate, and most importantly, not fun. Previous iterations in the series had macro-level simulations which created less unintuitive emergent behavior and whose performance allowed a greater level of game complexity.
At the end of the day, the goal wasn't to create an agent-based simulation of a city, it was to create a pseudo-simulation of a city that happened to be fun to manipulate. On that front IMO SimCity 2013 is a huge failure.
Players want to come in and build cities - cities that resemble their real-life experiences to some degree. Whether they're out to create a farm town, a sleepy suburb, or a skyscraping metropolis, differs, but practically none of them are looking to study the quirks and edge cases of pathfinding implementations and model their gameplay around arbitrary rules that have no bearing in real life.
There are exceptions of course, the guy who created Magnasanti in SimCity 3000 took optimizing around the extreme parameters of the simulation to heart - he created the densest, most populous city possible given the game rules. It resembled nothing like what a real city would look like, but it functioned within the game's rules.
Players like that are also few and far between. Most people are there for the cities, not the metagame.
Now necessarily city-simulation engine - just routing/pathfinding in graphs would be great.
It's optimized for gameplay rather than perfect efficiency, but parts of it are quite hackable, including the ability to add custom AIs
Do you have recommendations for AI? I've been using NoCAB, but I'm kind of frustrated with how that AI works, so I almost always play solo games now.
This can be avoided in one of two ways, make them aware of each other, so that they can't all be in the same state (like fermions) or raise the temperature, i.e. add randomness. Probably you'll need to do both and find an energy function that's less retarded than choose the first branch you see…
>heterogeneity is your guardian angel - varying the path-finding model a little bit from agent to agent hedges against the resonance structures on display here.
Adding a small amount of randomness (occasional 'wrong' turns) reduces congestion on the major paths that would be the dominant route for agents.
>Additionally, you periodically check the accumulated micros against a macro model and correct gross deviations. Neither step is computationally strenuous.
Every once in a while, check and make sure those wrong turns didn't add up to some agents being way far away from their destinations; if so, turn them in the right direction.
In some situations, a greedy algorithm works well but a totally random one works terribly, in other situations a random algorithm works well but a greedy one works terribly. Combine the two, and everything works out well enough to be plausible under all circumstances.
A popular load-balancing strategy that finds a middle ground is "best-of-two" routing where you choose two servers at random and route to the one with lower load. There are probably similarly simple ways to introduce variety and randomness into the SimCity agents.
Then, have a global pattern of how everything should be working, more or less. When a major deviation is found from the global pattern, adjust. How exactly? Those are implementation details.
This made me laugh sadly. I remember playing SimTower when it was released in 1994, and you could follow any Sim around as he went about his day. It's now almost 20 years later, with vastly more powerful computers, and the AI engine is actually worse.
In all seriousness, I can forgive that kind of bug because it's the players manipulating the game in a non-realistic manner. If you don't push the sims about manually then mechanics were quite well done. In this, however, we're talking basic AI failing which is central to the game.
Honestly, I don't really care about following individual Sims in a Sim City game. It's out of scope. If anything, they went too far in that direction in the current Sim City game, wasting resources on individual entities as opposed to having a solid macro model. I assume that's why we ended up with these pathetic city sizes.
They each have multiple methods of transportation. SimTower has stairs, escalators, elevators, and express elevators. You can see congestion as your sims' silhouettes pile up in front of elevators. To get to their destination, they can switch elevators once, and take four staircases/escalators. Sure everything is orthogonal and not curvy like SimCity5, but cities could be build that way too.
I can make an argument from observation: Sim Tower is a 68030/386-era game, and from what I remember, my 68040 ran it very well. SimCity 4, OTOH, can still bring (a single core of) a modern CPU to its knees. Of course it's possible that SimTower was incredibly efficient and SC4 incredibly inefficient, but it seems much more likely that SimCity 4 is in fact vastly more complicated.
Every floor (110 floors max) was essentially a single zone that could be crossed instantaneously so each person needed a path only from floor A to floor B. There were strict limits as well about how many transfers were allowed per path and how many total stairs, escalates, and elevators were build able.
Sim City 4 allowed many millions of "people" on networks of significant complexity. The SimTower simulation was simple, satisfying, and relatively bug free. It also wasn't complex enough to continue to be satisfying for 10+ years the way SC4 has been.
It's fun right up until the day your friends buy another $40 game to play. Then the game starts to die for you.
Is it the right thing just to throw that old stuff away, or to ignore it? Is there any value in looking back at old successes, and even in reusing some of that technology? The people who wrote that code are probably long gone, but that kind of situation doesn't stop big old companies in other industries from still relying on their ancient COBOL systems, for instance.
[1] http://www.quartertothree.com/game-talk/showthread.php?60855... [2] http://www.quartertothree.com/game-talk/showthread.php?60855...
But in Tropico, it is rare to have more than a thousand agents at any one time - whereas I think Sim City '13 has to simulate at least a couple orders of magnitude more agents. Not sure about that - I didn't buy the game.
So, yeah, a couple of orders of magnitude... except, somewhat upthread from here someone makes the claim that a population of 100,000 sims actually corresponds to about 10,000 modeled sims, and then 90,000 "phantom population" on top of that. If true, this suggests only one order of magnitude more population than your Tropico examples, and the achievement is considerably less impressive.
With SimCity 5 you can easily have over 100.000 Sims in one city region. SimCity has to model the economy, happiness, education, water, waste, power, pollution, traffic, industry, and much more. So if you want to do this for 100.000 Sims in real-time you've got to cut many corners. There's just no other way. And the illusion in SimCity 5 is pretty damn good, from what I've seen. Cars drive with purpose from one place to another. Traffic congestion seems to make sense. Air flow affects pollution in a sensible way. Sure, there are a bunch of bugs but in general the illusion holds up. It's really quite impressive.
In previous SimCity games simulation was performed on the macro scale - not on each citizen. Any micro-scale view was just a visualization of the macro simulation. This meant you couldn't follow a sim's car from home to work and back, but it also meant scalability and the freedom to have a proper simulation model rather than a grossly dumbed-down one.
Agent-based simulation is the correct implementation (i.e., closest to reality) technically, but only in a world where we have infinite CPU power. A macro-simulation like previous SimCity games would have meant far fewer corners cut and a much less buggy behavior that are the result of emergent negative agent-agent interactions.
To take your analogy - SimCity 3000 and SimCity 4 use billboards and textures for fake smoke. SimCity 5 tries to go all-in and simulate the hydrodynamics of each particle - but has to cut so many corners to run that it doesn't even look like smoke anymore.
Note that in SimCity 2013 you still can't really do this. A sim finds a new job every day and finds a new home at the end of the day. Really.
You may be right there's just no way to salvage the current SimCity 5 problems (if that's what you're implying), but I don't think the current issues ruin the game at all. For me the illusion mostly holds up and the pathfinding issues are mostly corner cases. So I don't think it's a fundamental problem with the game design and I think a few AI patches can make a world of difference.
(although, arguably, a macro-level simulation could have resulted in a much better SimCity because that would allow for more depth and larger city areas. And arguably a sim-level simulation is a bit of a gimmick that doesn't add enough to the game to justify the complexity and PR buzz, but that's a different issue)
If the only way you play is to build large, spread out suburbs full of low-density buildings then yeah, you can conceivably play the game without seeing the ill effects of the bad pathfinding.
But as soon as you even see your first high-density high-rise the whole thing starts to fall apart.
I don't think this is necessarily unfixable - but it does require a level of reimplementation that I don't think EA would be willing to make.
The real horror comes when you start a region's great work. A significant number of people will leave the city in the mornings to work at the great work. If you are making a great work you are probably sending dozens of trucks with resources to it as well. The end result is you get easily 10x more vehicles leaving/entering the city. The queue to get in through the single lane off-ramp from the highway then ends up stretching all the way to the next city, and it takes a good 24 hours for the cars at the end to get in. It then ends up stabilizing, taking maybe 4-6 hours for someone to get into the city.
Also, a large number of cars 'just passing through' will use your city entrance as a 'quick' way to do a U-turn on the highway, blocking traffic even more.
Though even SimCity 4 actually assigned each sim a specific home and workplace. Their travels/resources were calculated on the macro scale though.
Actually this does not seem to be the case at all [0]. Some people have figured out that the total population numbers are are either bugged or faked. For a supposed 100,000 pop town, the actual population is around 15,000.
simcity.GetFudgedPopulation = function (a) {
a = "undefined" !== typeof a ? a : simcity.gGlobalUIHandler.mLastPopulation;
if (500 >= a)
return a;
if (40845 < a)
return Math.floor(8.25 * a);
a = Math.pow(a - 500, 1.2) + 500;
return Math.floor(a)
};
https://gist.github.com/anonymous/5133829#file-simcityui-js-...http://np.reddit.com/r/SimCity/comments/1a6oeo/proof_that_th...
Did you read the article? The congestion makes no sense.
And to the best of my recollection previous versions of SimCity were able to handle traffic just fine. I certainly do not remember them suffering from the congestion problems this version seems to be afflicted by.
edit: clarity
But the videos clearly showing that cars take nothing other than shortest path into consideration. They don't even check if their destination is still valid. This does not make sense.
So asking if you read the article is not rude because your quote seems to be in direct conflict with the article.
That's not really true. Sim City 4 did have congestion problems and it did simulate Sims going from point A to B. It wasn't as granular as SC5 simulating individual cars, but it did simulate groups of Sims traveling to and from work. It was also infamously buggy (something the modding community spent a lot of effort fixing) but it still was better than what we have now.
Indeed. For the amount of time I spent playing Sim City 4 with the Network Addon Mod (the one that changes the pathfinding and tweaks transportation usage to be more sane), I was taking for granted that Maxis would learn from those mistakes, and even take a nod from the community in terms of what is believable transit behavior.
SC4 was the one that actually tried to model traffic flow throughout your city to locate bottlenecks. The pathfinding algorithm used looks like a variant of A, with the caveat that it would never explore nodes that weren't between you and your destination. This resulted in a lot of finicky behavior - things like your sim not taking the subway to work because he had to walk back a single block to catch it, and insisting on joining the gridlock instead.
This is largely fixed with the NAM mod though, which restored proper pathfinding.
The nice part about SC4 was that you could actually zoom in and see the gridlock. Sure, these weren't actual citizens in their cars, but it is a correct visualization of the simulation's traffic analysis. I for one will gladly give up the ability to follow a sim home for a faster, more scalable, more accurate simulation.
Reminds me a lot of most consumer GPS today that avoids backtracking whenever possible, even if that means a more congested or convoluted route.
I've seen this behavior too many times, from systems ranging from Google Nav to TomTom to the OEM Nav in my Mercedes.
Or you can just suck it up and create real complexity, which can be awesome!
Like down a dead end street to one house? Did you read the article?
I am reminded of Gabe Newell's recent comment of how “[Valve] can’t compete with our own customers. Our customers have defeated us, not by a little, but by a lot.”[1] and am starting to understand what he meant in a more visceral way: My low-bar for the experience, my expectation of quality, was not for Sim City 5 to outperform Sim City 4. My expectation was for Sim City 5 to outperform Sim City 4 Plus Community Content, because to my brain in consumer mode, those last 3 words don't exist, and it all just gets the label "Sim City 4" on the experience.
[1] http://www.penny-arcade.com/report/editorial-article/gabe-ne...
SimCity isn't unplayable. Quite the opposite. It is an engrossing, beautiful, rich game with plenty of gameplay available. I've played the game for probably forty hours so far, across four different cities -- and the game has only been out for a week. That's amazing. A game hasn't captured my attention like this in quite a while.
And yet, many players seem to believe the game is completely unplayable. The top comment on this thread as I write this says that the game is a 'travesty' and shouldn't have been shipped. That's unreasonable.
I can only begin to imagine what SimCity's developers are feeling right now. They built this beautiful, different, rich product that is objectively amazing. And yet the players they wanted to please can't stop talking about how shit it is.
Usually I place the blame at the feet of the developers, but not this time. This time, I think it's the community that needs to get over it. There is a rich, great game here if you just look past your own expectations for half a second.
Every single police car in the entire city will respond to the exact same crime in progress, ignoring all others, creating a traffic black hole, and leaving you with no police.
That is all anyone needs to know about the game to judge it.
1) Pathing. Once you reach a certain city size, there's not much you can do that helps resolve this issue.
2) Numbers don't add up. Again, once you reach a certain city size, you can't keep services in line with your population.
No matter how much else I may love about the game, these make it a broken experience for me.
This experience has been true for all game developers of all gamers forever. While many games do have serious flaws and much criticism is valid, my experience is that gamers are the most entitled, fickle, negative audience you can imagine.
Sorry, but "playable" is putting your pants on in the morning, especially in the niche of AAA, DRM'd, persistent, service based gaming markets like this. Nobody pays a premium for incomplete services unless those are some top notch services; not services just billed that way and described in terms of reticulated splines.
Just because corporations now have the rights to buy and sell concepts that should have passed into public domain decades ago doesn't mean that they really "own" the public awareness, emotional investment and their passions. Rights can be bound by laws and recorded on paper, but you can't put a price on 10 million fans and tell them to suck it up and drop their expectations because they are legally owned. When you buy a franchise like this, you're really buying a responsibility, not a cash cow to be milked until a husk. To EA this is just another product reaching the end of it's life cycle and they're trying to stay profitable while keeping the lights on, and it doesn't matter if that means ripping out half the game and replacing it with anti-features and price tags.
I think publishers and "innocent developers just doing what their boss asked" may be the entitled ones here, thinking they deserve a payday because they worked hard bringing you a game that is quite profitable to operate. You know who else worked hard, harder than anyone else? Hitler.
This reads like a terrifying vision of a perfectly optimized post-fordist near-future dystopia.
Maybe the Maxis gang have deeper ideas in mind than we realised...
But the electrons don't do stuff like bypass entire streets...
I had seen one or two beta gameplay videos and was seriously impressed by the stunning graphics and seemingly awesome gameplay. Reasoning any of the initial server issues would be resolved sooner rather than later made the purchase.
During the installation and initial launch I was rather curious, as the plenitude of bad reviews would have you believe that the game could explode any instant now. Nothing happened. I connected to the by default selected server 'Europe West 6' and started playing.
Since the first launch I have not experienced any of the initial server related issues. Yeah, that's right, NONE at all. Once or twice I got a message that connection to the server was lost but the message never lasted longer than 5 seconds. What's more those messages had zero impact on the gameplay.
I have played the game for about 15 to 20 hours (I was sick over the weekend). All I can say : It's great!. Sure I have noticed the flaws in the AI when 10 of you 12 dump trucks keep going back and forth on a single street and leave the rest of the city piling with garbage. Yeah that are a few bugs with the snapping and routing of buildings and streets, but the game is still freaking great to play!
"This is a huge problem, as big as the server issues and the DRM.
The game is, IMO, mostly unplayable at this point. I have no idea how they let this one out the door with the pathfinding problem, which in my book is an absolute showstopper."
Comments like these are as bad, if not worse than EA/Maxis explaining or denying the initial server problems.
"...- but this game is a travesty that should never have shipped in this state, even disregarding the server issues. There are core gameplay mechanics that are still fundamentally broken."
Seriously? A travesty? If that's your opinion I think you are either a fanatical SimCity gamer who's deeply disappointed at the unforgiving decline in quality. Or you are too closely related to the gaming industry and have very high expectations. Or most likely have a very biased perspective.
To be fair, this was also the case with SimCity 4's "always the shortest path, no matter how congested it is" pathfinding, until fans fixed that part.
I actually found that part kind of fun! I do think that the cycle of gaining deeper understanding about how the simulation works, then redesigning your cities to work around it is pretty fun in a general sense. Really, the only problem with 2013 is that a) redesigning your city around 2013's pathfinding issues makes you end up with dumb, intersectionless cities, which feels "cheap", and b) even in the extreme case, there's only so much you can do about some of the pathfinding issues.
Last night, I had 3 school busses going to the same 2 stops over and over again, ignoring the rest of the city. No wonder my city's children are such little hoodlums.
[EDIT] I originally intended this to be a reply to potatolicious' post. Whoops.
http://www.reddit.com/r/Games/comments/1a7tat/simcitys_sims_...
They've learned the best way to get impressions is to act shocked and angry to mimic reddit.
Strangely enough, I can relate.
This is becoming quite common with games, on PC or consoles. You just patch it later. Some games even have patches available on release day.
Needless to say, this comes back and bites a lot of people in the ass, but for a lot of small game studios a 2-6 week delay in a game ship can be the difference between solvency and firing everyone in the office.
*Needless to say, this is probably a completely inappropriate workflow for someone like EA/Maxis, who probably had some suits that said said "well, other people do it, so we should do it too".
That said, it's absolutely absurd to ship a game with universal bugs affecting core mechanics.
I installed version 3.3.0 of an EDI application. Couldn't license it, which was the simply importing an .xml file.
I called. The fix was to apply 'cumulative patch X' available on their website.
Now .. this isn't a minor bug: without a license you can't _do_ anything with the software. It won't even _run_.
How does something like that get out of testing?
However, going any further is just not right. If the game is hopelessly buggy after release and needs to be patched later just to make it playable, well, what are people paying for?
It was a server-stress-test beta (heh, fat good it did), not a gameplay beta.
Also, the beta is time-limited to one hour of play, and almost all buildings were locked out. There was not enough time for anyone to play enough to actually expose these problems (that come about only after your city has grown to some size).
I reported 10 separate issues with detailed specifications of my hardware and software setup - with detailed observed behaviour and actions that I could remember were related to the issues.
There was an forum for the SimCity Beta1. There was plenty of individually reported issues discussed and tested by different persons, and there was good creative discussions going on as well.
The forum had the functionality where you could click "I've had this too!" to a main post in the Bugs/Issues sub-forum.
Then again, it was pretty obvious that we weren't supposed to test the game all that thoroughly - because of the limited game time and very restricted game play in general.
It was basically a quick demo play. And that in itself is alright I guess.
EA is large and has a lot of QA/Testers - not sure about the Maxis sub-division though.
The first point (each sim not actually having its own "life") seems harder to catch, however in my opinion that is the main issue here.
They can (and probably will) fix or at least improve pathfinding in following patches. However having the glassbox engine simulating individual "sims" instead of using heuristics and statistics to create traffic jams and the like was something that was advertised early on. It was also one of the major improvements over simcity 4 (which also had pathfinding issues by the way).
I believe it was also the reason why they only allowed smaller cities that what was possible in simcity 4, simulating a huge number of citizen was supposedly too demanding. But if they don't do it properly in the end, what's the point anyway? Might as well go back to what 2003's simcity was doing.
I can't play myself since I just have an "old" Macbook Air and a shitty net connection, since I'm travelling - but I really wish I could.
One of the big problems with American business is the focus on academic credentials, particularly with regard to "soft skills" (no skills?) in areas such as management. You will not learn management in a classroom. Furthermore, if you can't grasp the fundamentals of what you are supposedly managing, then you are just in the way.
The path ought to be:
Become an engineer -> Become a high-performing engineer -> Get some business education -> Do management
If you can't handle the engineering phases, why on earth should anybody put you in a decision-making position in an engineer endeavor?
While the practice should not be barred, it is unproductive for universities to offer "management" degrees at the undergraduate level, unless such degrees require the demonstration of significant prior work experience. Graduate management programs should not accept twentysomethings arriving straight from undergraduate programs.
Less fluff, more umpf.
The problem with your path to management is that many engineers have no desire to manage, and anecdotally, those who do, end up being ill-suited for management.
The best managers I've had are not top engineers, rather they're managers that are willing to understand and listen to their top performing engineers.
Google/Microsoft/etc. offer PM positions to students directly out of undergrad. From my experience, the skillset between a top-performing engineer is vastly different from that of a top-performing and well liked PM.
The prerequisite is deep mathematical, rational and process-oriented thinking. You can get that lots of ways, but an MBA alone won't give it to you.
I disagree with the notion that the path through management should be through demonstrating your value as an engineer. If a high performing engineer desires a move into management, I think that should certainly be considered, but I have no evidence that top engineers transition into being top managers.
Being a successful engineer is evidence that you understand processes and systems very deeply. What remains is interpersonal skill and basic economics. Being a successful business person is evidence of the complement.
Couple this with the observation that it is easier to find people who picked up economics and interpersonal skills without training than it is to find people with deep untrained technical skill, because interactions with other people and decisions about money occur every day so any motivated somebody with a curious disposition may well have been pondering and improving those skills their whole life.
Remember, it's not that every engineer you find will be better rounded, it's just that those magical omnibus people are more likely to be found among the engineering ranks than the business ranks, especially when engineering jobs give a much more reliable salary out of college so that anyone with engineering skill and business skill is incentivized to study the former in school.
The thing that the new sim city does that all previous sim cities didn't do was it models every agent visibly. Most previous sim city's simulations were based on locality, there was a radius of effect around buildings and that modified properties. In sim city 4 for instance, if you look at the roads you'll see cars appearing and disappearing because there was no "car" on the road, there was an area of high traffic density based on some linear algebra.
In the new Sim City, there's a few components,
There's areas, which tell things like pollution levels, crime impact, property value, water tables, natural resources, etc. These areas change the rate of certain events, trigger certain events and limit buildings that are build on the area.
There's resources, that's things like simoleans, happiness, water, power, pollution, profit.
There's agents, agents are things like people, power transmission, water transmission, garbage trucks, fire trucks, etc. Agents go from one building to another and carry resources.
There's buildings, and buildings have resources and release and accept agents.
So the simulation at it's simplest level is basically:
You build a residential zone, the residential zone sends a notifier agent to the highway saying "I'm here and I'm empty" the highway sends a construction vehicle agent to the residential zone. The construction vehicle has building material resources which deplete when it builds the house. If it still has building materials, and another request for building reaches the vehicle it will travel to that building and create a house there until its construction resource is depleted.
A built house will be empty, and it will send a notifier agent again to the highway, from there a new tenant agent will be sent to the building. This will occupy the building. Note that even a building that can hold 100 population will be fully populated by a single tenant from the highway. None of the names of the people in the building are recorded. Low density buildings will have names, like "Smith Residence" and people agents generated from "Smith Residence" will likely have Smith as a surname.
From there, at periodic times of day, buildings will send notifier requests along the roads looking for workers. A commercial building will for instance send a request at 6:00 AM. If the notifier reaches a residential building with a resident resource available, the building will generate a worker agent and decrement its resident count by 1. That worker agent will have a destination of the requesting commercial business.
During the night, the commercial business sends requests for goods along the roads. If an industrial building with goods intercepts one of these requests and it has available delivery vehicle resources, it will deploy a delivery vehicle agent, decrease it's deliver vehicle resource by 1, increase the goods resource by 45 on the delivery vehicle and decrease the goods resource at the factory by 45. The vehicle will travel to the commercial building and unload some goods. If the vehicle intercepts another request for goods on its way back it will respond to it.
When the worker count at the commercial business is not 0, the business opens. When the commercial business has enough goods, it puts out souvenirs and begins to make items to sell. Once there are goods to sell, the commercial business sends out notifier agents saying they have goods available.
If the notifier agents reach residential buildings with money and residents, the residential building creates a shopper agent and puts one unit of money on them. The shopper agent goes to the commercial building that notified it. Once the agent arrives there, the shoppers value of the commercial building increments.
Periodically, when the commercial building has shoppers, it will decrement the number of shoppers, increment profit and decrement goods. It will put a resident agent on the street and they will travel to the nearest unoccupied residential building. Once there they will increase the residents count by 1 and wait for a job or an opportunity to spend money or have fun.
It's an interesting simulation, but you have to treat it as that sort of simulation. For instance, if you have a highly concentrated commercial area, residents from all over will go to the shops there. When they return they will have different names. They will have no memory of their home. They will go from door to door, to the closest unoccupied residence. When you have a flock of people it gets worse, because they are all playing follow the leader as they all want to take the shortest path to the closest unoccupied house. As soon as the leader fills that house they all choose to go to the next closest unoccupied house. They don't communicate together and spread out. If you had a circle of houses and you dropped 10 sims just left of center in the circle, instead of each sim picking a house and heading there, they would all head to the leftmost house, and then they would slowly work their way around the circle.
In terms of gameplay, once you recognize this behavior it can be kind of fun to play. You do things like put your commercial properties sort of like a hub with residential spokes around it, you keep commercial density as low as it needs to be to effectively service nearby residents. The further the commercial property draws residents from, the less efficiently they can return home. Industry is less important because industrial work has longer shifts. A sim might like to shop multiple times during the day if given the money and the opportunity, but they are consumed for much longer working at a factory.
Ultimately, the game is about increasing density, density is increased by increasing happiness or profit. Happiness is most easily earned by spending money and not having negative effects like no power or no water. Once density is increased the only thing you might care about is education, education is increased on a per-building basis, it's a resource that the building holds. Either students going to school, or residents going to libraries increase education. Residents will go to commercial buildings with money to increase happiness, but if they are out of money they might go to parks or libraries to increase happiness or education.
I'm pretty sure they do take traffic into account, it's just that the traffic happens spontaneously. 30 sims decide to take the same route because it's not congested -- now it's congested, but they can't take a u-turn. If you have another path to the same destination that's more efficient some will break off when they reevaluate their paths.
The problem is mostly when a lot of sims manage to get on a highly congested road with no way off. Then they're stuck. The "major roads" example is that way because they don't think ahead, once they're on that road, they're stuck, and they don't choose the other path because they'd end up having to merge into another congested road on the other side anyways.
The Intersection trap is probably due to something like a ton of sims being dropped off by mass transit after work and then having their connection to residential areas demolished. Another thing that might happen is a high density residential buidling that was available before burns down or gets demolished. Then they have nowhere to go, and they just circle while trying to find an opening in a residential building.
If you notice the last pathfinding experiment, the congestion on the main road doesn't really let up when the one-way street is demolished. It does initially but starts to back up again because of the traffic lights.
I'm not trying to be an apologist. It's a better simulation than the previous version, but the people don't act like people and the city doesn't act like a city. Even ants have more things they can react to than the sims in this game. However, the simulation is pretty consistent and it can make a reasonably fun game if you try to play the game instead of build a city. The simulations in previous games were probably better at building a city, and while there was mystical teleportation and individuals weren't generally modeled, those abstractions mean that the city can make more sense without needing to do really complex modeling for 100,000 units at once.
Once you start to notice these limitations and play within those bounds, it can be a fun puzzle game; maybe even strategy game. But city simulation? I'm not sure about that.
We've already heard EA's leadership say there's nothing wrong with the game. Even if they admit to any problems, they have little trust with the community.
I have to admit to some schadenfreude about this whole fiasco. On the surface it is a very pretty game, it'll be interesting to see how EA addresses the community discontent.
What if every intersection were to function as a sort of router with each road leading from it as a link? Then distribute routes between intersections and calculate shortest path using the Dijkstra algorithm(OSPF). They could even implement congestion control by having clogged intersections stop advertising routes periodically.
Have a problem with cops, fire trucks and ambulances not getting through? Put them in a different QOS queue that prioritizes them.
This is a solved problem in so many ways. They could literally buy these algorithms from people with decades of experience working on this class of problems.
That model can be simplified and used in Sim City. Of course some performance improvements may be necessary, but that can be done by a large company with a lot of resources, like EA.
I also seem to remember that once he left debugging symbols in a build and people managed to use it to determine that all path-finding is done twice for some reason.
Not the person I think that could help EA with performance problems :p
I used to spend hours, with all three of those products, watching agents go about their various chores and skills, and be either gated on another agent's behavior or resources, or have a clear pipeline stocked up for them to perform.
Sounds like I'll get sub-optimal non-intelligent behavior from SimCity, which is sad. I rather have a smaller environment, that was 100% intelligent agent based.
I'm curious how the alternatives stack up. I'm not terribly pleased with Sim City 5 due to the online-only component. Has anyone tried CitiesXL Platinum for example? Are there others?
maybe you should submit it to the frontpage ?