Maxis: SimCity Offline Took ‘Significant’ Work To Create

And they had to walk 15 miles in the rain up a (very long) hill every day

After months upon months of sidestepping the issue, EA and Maxis have finally seen fit to give SimCity an offline option. Victory! At least, for folks still soldiering on with the beleaguered and – to be perfectly honest – not terribly interesting city builder. But while we wait for modders to laugh off Maxis’ suffocatingly stringent guidelines and finally make the game great, some questions still need answering. Foremost among them, why the not-so-sudden about-face when the company once claimed that separating SimCity from its precious servers would be nearly impossible? According to the developer, it’s because rewriting the simulation to function offline took nearly six-and-a-half months of hard work.

Maxis addressed concerns that it could’ve turned SimCity from a connection-dropping dystopia into an always-offline paradise at the drop of a hat in a blog post:

“By the time we’re finished we will have spent over 6 ½ months working to write and rewrite core parts of the game to get this to work. Even things that seem trivial, like the way that cities are saved and loaded, had to be completely reworked in order to make this feature function correctly.”

“SimCity was written to rely on the servers. The game routinely pings the servers for critical pieces of data (region status, workers, trading etc.) and it relies on that information to keep the simulation moving. This meant rewriting the entire system, which previously existed in Java, and putting it into C++. We’ve had to knock out the internet pipe stuff. There’s lots of code that hits the servers looking for information. We’ve had to write a lot of code to produce that data locally, specifically for region information.”

Servers apparently functioned as the vital pulse for everything from regions to trading to UI elements, and snipping the connective tissues resulted in a mess of optimization issues, which Maxis is still working to correct. The developer also had to remove multiplayer code integral to elements like social features, the global market, and leaderboards, all without turning the soon-to-be separate multiplayer mode into a malfunctioning heap. So basically, they played a months-long game of Operation with a PC game. Apparently. Apparently.

I say this because multiple reports and some quickly mocked-up mods made the whole process sound like it’d be significantly less time/effort-intensive. Seeing as I’m no expert, however, I can’t say for sure one way or another.

But there you have it: Maxis addressed the issue on a nitty-gritty-ish level, as opposed to just saying, “Welp, here you go” and clamming up forever. Now then, while we’re being all open and communicative finally after enraged eons, could we maybe get a side helping of larger cities? Please?


  1. BobbyDylan says:

    Since the Offline mode is available, I see no reason for the absurdly restrictive small cities any more. .

    • RedViv says:

      That is not an online issue. That’s a simulation requiring a freaking load of processing power the more routes are available issue.

      • Mokinokaro says:

        Yeah the biggest issue with the game is that its agent system calculates the routes for a ton of things it really doesn’t need to (why is electricity agent based for one?)

        • Baines says:

          Glassbox and SimCity were built around the idea of agent-based simulation, so by golly they used agents for everything no matter how appropriate or wasteful it was.

          Even though the game can’t even handle enough agents to cover population alone, and had to fudge the numbers. Even though the game for that agent count apparently can’t handle the load beyond the most rudimentary scripting for agents, resulting in terrible pathing. Even though with all that, the game doesn’t even keep permanence of people agents.

          Maxis made so many allowances, shortcuts, and fabrications that I’m not sure what using agents even bought them. Despite their earlier development hype, it didn’t really reduce the “smoke and mirrors” aspect of the simulation.

          • hotmaildidntwork says:

            I was kind of astounded to learn that despite all of their supposedly revolutionary designing, Maxis hadn’t even been able to get the sims to have houses. They just pick the nearest one and squat there for the night. Somehow that drives things home for me better than anything else.

          • Josh W says:

            Yeah I said something about that ages ago, all they would have needed to add was a catchment area system, and they could have covered water and electricity fine!

            They probably still wouldn’t have had enough agents, but it would have made more sense that invisible battery cars barreling down roads and going round roundabouts and back into the power station!

      • Mokinokaro says:

        Yeah the biggest issue with the game is that its agent system calculates the routes for a ton of things it really doesn’t need to (why is electricity agent based for one? It should just be “is there enough?” and “is this section connected to the grid?” like in previous games.)

        They really should have abstracted a lot more for performance reasons.

      • Cinek says:

        How about giving that option to the people whose CPU is stressed to the whole 25% while running Sim City?

        • Shadowcat says:

          Do you have a quad-core CPU by any chance?

          • cpy says:

            Mine use about 10-12% of CPU time, so i see that this thing can really run on your “dads” PC. Sadly my dad have mac and i have my own custom build PC, i’ve been building my own pcs since i can remember.

          • Cinek says:

            8 core. But one of the first 8-core CPUs released.

          • Shadowcat says:

            Just because it’s common for people to think a program is only using a quarter of their CPU when it’s actually using 100% of one of their four CPU cores (which usually means it’s using as much of the CPU as it possibly can).

          • RvLeshrac says:

            What? “As much as it can”? There’s no reason not to have threaded workers in something like SimCity.

          • FriendlyFire says:

            And how do you implement multithreaded shortest-path with weighting according to other agents travelling along the graph when the thread doesn’t even know about all the other agents? That’s not even considering how agents need to react to other agents’ existence so that traffic doesn’t just magically phase through.

            Parallelization is a non-trivial problem.

          • thematrix606 says:

            “And how do you implement multithreaded shortest-path with weighting according to other agents travelling along the graph when the thread doesn’t even know about all the other agents? That’s not even considering how agents need to react to other agents’ existence so that traffic doesn’t just magically phase through.”

            @FriendlyFire, I don’t think you seem to understand how you would multithread. In SimCity’s case, you would have one thread dealing with agents for the population, another thread for agents for electricity, you would have another thread for agents for water, you would have another thread dealing with graphical aspects, etc, etc.

            You would not multithread, per se, a single task like population agents alone. You would not want to split those methods up.

          • FriendlyFire says:

            The electricity, water, sewage and such are but a drop in the ocean. The agents are super simple, there’s no collision detection, for sewage they have just one destination and for the others they just do a random walk until they find an acceptor.

            For all we know those agents are already threaded (the game is threaded somewhat, the graphics are on a separate thread) but they’re just so low cost that it doesn’t really make a difference.

          • Ich Will says:

            Most of you really do not know how to program. You are letting your ignorance show.

          • aepervius says:

            Yeah the agent for water and electricity are so super simple, that routinely when I tried to play, the frigging game was saying part of my city was not gettign enough juice, when I was in plus for 200 mw.h-1, or even it keep saying my waste processign was full, while at the same time I had an excedent of 50 kl.h-1.

            I think by super simple you emant super bad.

          • FriendlyFire says:

            Yes, the electricity agents are a little too dumb. As I said, they’re doing a random walk, which means that every time there’s an intersection they’ll pick a choice of where to go at random without backtracking. This means they can skip places which require power because the dice rolled the wrong way.

            I’m of the opinion that they went too far with the agents system and that it has no place in most utilities (sewage, water, electricity), but they probably didn’t want/didn’t have the time to implement two separate systems for dealing with this sort of thing. I guess the marketing of “it’s agents all the way down” was somewhat appealing, if flawed.

          • Shadowcat says:

            RvLeshrac: If it’s single-threaded, then yes, it will literally be “as much as it possibly can”. I think it was pretty clear that I was talking about the actual product, and not the options available to the programmers at the time they wrote it. I think it was also pretty clear that I was doing nothing more than suggesting a potential explanation for the observation to which I was replying, rather than stating hard facts.

      • sophof says:

        I’m guessing it’s more a “the simulation completely breaks down” issue. The CPU power, while probably being true, is of course nothing more than an excuse. Some people have the power, so why not make your game better for them? It would cost them nothing.

        The simulation barely stands up to scrutiny as it is now…

      • Lev Astov says:

        Fortunately, my PC has a freaking load of processing power.

        • LionsPhil says:

          May not help if it scales badly, e.g. for each extra agent the load doubles. These things are not necessarily linear; that your machine is double the minimum system spec doesn’t necessarily mean it can handle a city twice as big.

          • aepervius says:

            Indeed if the agent processing is say, in N. log N, going from 100 agent to 200 agent makes the simulation cost 5 time the processing power. And let us not starts with N^x. We have not enough information to judge. Still I would allow the option but they did not even let us try.

          • FriendlyFire says:

            I’m going to wager that since they don’t give the option, the scaling is probably quite bad. Perhaps not catastrophic, but bad enough that a significant chunk of their audience would run into issues.

          • Answermancer says:

            It does scale extremely poorly, they have explicitly said so (albeit in places like reddit and not in official releases). People keep assuming that their hardcore gaming rig could handle anything but the way this stuff is written just does not scale that way.

            When they were really pushed on the subject, the devs in charge of the exploration said that cities with twice the width and length (which is 4 times as much area, remember) were running at <10 FPS on the beefiest machines they had internally. Hell I might be remembering wrong, they might have only been 1.5×1.5 instead of 2×2.

            Now they could probably fix that by rewriting the engine (making it more multithreaded, come up with solutions that scale better), but that's just not a realistic thing to expect for a patch or even an expansion.

    • akb says:

      All they had to do to make SC5 an outstanding game was iron out the bugs in SC4, spiff up its performance problems, and update the graphics. They could have implemented an agent system in the form of an expanded (but still limited) My Sim mode.

      Instead they tried to reinvent the wheel and wound up with a PR disaster and a game that isn’t all that much fun.

      • Universal Quitter says:

        But don’t worry, that won’t stop their PR departments (EA’s and Maxis’) from doing their very best to make us all feel like it’s our fault.

        After all, did YOU buy the game? I didn’t.

        I kind of want to get it now (or during the next sale), but I’m not sure I want to reward such a bass-ackward way of making a sequel. They weren’t exactly nice about it in the first place, either.

      • Smoky_the_Bear says:

        Yep I was so close to buying this piece of shit an hour before launch, decided to wait, so glad I did.
        Will never pay a penny towards this game or its bullshitting, lying, disrespectful, asshole PR department.

    • odgaf says:

      Yup more misleading lies and bs
      The real truth is that it took six months to implement offline mode because only two people were working on it,
      But the realist truth is that they wannt to get rid of the cost of server infrastructure, hiring thousands of servers is expensive, now they have taken the cream money it’s time for offline mode to disappear so that all the people who didn’t buy it first time round will buy it this time, encouraged with a hefty price drop
      all they have to do is spin the story so it looks like they have the gamers best interest at heart blah blah blah

      I like a lot of ea games but one day I. Hope to see this company bankrupt, and sold off, I think they have done more bad than good for the industry
      Buying studio after studio and then closing them down has killed innovation and driven many games artists out of the industry. cheating and lying to anyone who will listen, destroying people’s memories of franchises this company needs to die a really horrible death
      I have oa great idea for a game it’s called battlefield ea, basically you have to storm ea using tanks jets snipers etc until every last executive is shredded and the bombs are primed, first day dlc could be like old ea staff members who no longer work there
      It’s almost worth learning to program for

  2. Untruth says:

    I have absolutely no doubt it took a long time to write this functionality out, regardless of what a few mods proved could be patched up. The fact that they couldn’t backpedal quickly on launch proved how much of a quagmire they were in.

    The mistake was that it was architected in this way in the first place, and for seemingly very little benefit. Annoyed users and small cities are the inverse of what I’d expect from SimCity.

    • RedViv says:

      That. Also, Java? Really. Java.

      • undu says:

        Java code can be blazing fast (as much as optimized C code) in long-running applications, i.e. servers, nothing wrong with it.

        • LionsPhil says:

          The downside is that you have to write in Java.

          • Gnoupi says:

            Which allows less silly errors and a smoother development without requiring gurus to program, in general, as opposed to C/C++. That’s the advantage. A lot of the common pitfalls like memory management and concurrency are harder to do wrong in Java (not saying you can’t).

            What you lose in “blazing speed” (you have the VM layer, it can’t be as fast, obviously), you gain in smoother development and maintenance, usually.

          • jalf says:

            Sure, when you compare against the language known only as C/C++, *everything* else seems attractive.

            If you compare against *actual* C++, the equation is changed somewhat. (Memory management becomes a complete non-issue, for example)

            Also, concurrency easier in Java? How so? Java has the same threading primitive as are available in every other mainstream programming language. Enough to get the job done, not enough to make it easy.

            Also *also*, the world is bigger than those two languages. I can buy the arguments for “not using C++ on the server”. I can’t imagine a meaningful reason to replace it with Java.

          • LionsPhil says:

            I strongly disagree, since Java as a language is deeply broken and misimplements many of C++’s strong typing capabilities, such as templates, or references. It screws up functional programming too and only more recently I believe it’s finally, finally started to implement something approximating actual closures. It has the expressive power of BASIC mixed with the terseness of COBOL.

            It’s no surprise that IBM jumped all over it, really.

            C++ gets a bad deal because people bundle it with C, but the two really are night and day. But even if we put those aside, at least use C# or something. One day we may dream of D (or Rust, which is looking promising) gaining some widespread acceptance.

          • Gap Gen says:

            C++ is hard to become good at, is heavily bloated, and yes, someone will inevitably try to use the C parts and then wonder why they have a trillion memory leaks.

          • kiepmad says:

            This discussion should end. It’s not going anywhere and your comments are so vague they can be true or false depending on how you read them. As long as we don’t see the source code, it’s all just speculation.

            Using Java on servers is an old tradition and if you have guys that can do it, and fast, you use Java. A language is just a tool and if it works, it was the right tool. That it didn’t work with this garbage game, however, is not the fault of Java.

          • FriendlyFire says:

            Java’s syntax is ridiculously close to C++’s, so by dissing one you’re dissing the other. It’s amusing, really. I’ve seen plenty of shit on C++ only; just how ridiculously terse the class definitions for all the STL stuff are is an excellent example (seriously, five lines for a single method signature?), and the STL is pretty good once you get used to it (I’m expecting you to start lambasting it any second now…).

            Also, use C#? Hahaha. While I love the language, that’d mean having to use Windows on all their servers. No, EA/Maxis won’t deal with Mono, that’s now how large corporations work. They want a bulletproof service agreement, which Oracle can give. Raving on about D or Rust or another such thing is even more ludicrous. Why not write your interface in Dart and the website backend in Node.js while you’re at it?

          • LionsPhil says:

            >Java’s syntax is ridiculously close to C++
            Only on the most superficial level.

            Server editions of Windows are a thing, you know.

            >D, Rust
            I guess by this point you were too busy ranting to notice the “one day we may dream”.

          • FriendlyFire says:

            Eh, superficial is debatable. The two are quite close for most things and the differences aren’t large enough to make one a godsend and the other a hellhole.

            I happen to be aware of that, my main computer is running WS2012. That doesn’t change the fact that the overwhelming majority of servers are running a flavor of Linux and for many reasons. I don’t see why you’d want to straddle yourself with Windows just for C# when Java works just fine.

            I also fail to see why I should be dreaming about D, Rust or whatever other language you can think of. What’s the adage again? There are only two types of programming languages: those we complain about and those nobody uses.

        • Cinek says:

          “Java code can be blazing fast (as much as optimized C code)” – no, it can’t be as fast as optimized C-code.

          • Gap Gen says:

            I think it depends on the use case. Because Java optimises on the fly, it can become pretty fast, but sure, a typical piece of Java code will probably run a little slower than a typical piece of C code.

          • Cinek says:

            Well done cherry-picking Lions
            And it’s not about “a typical piece of code” but rather the highly optimized one. C will always rule over Java. No matter what Android boys tell you.

          • LionsPhil says:

            How is it “cherry-picking” when it outright refutes your entire posted argument?

            “Java cannot be as fast as C”
            “Here are some cases where Java was faster than C”

            That is “highly-optimized” code. The whole site is one big pissing contest between language fanboys, so each one is represented by the full force of obsessive tweaking.

            Of course, the funniest bit is that C is also not a very good language for performance without resorting to writing ASM in disguise because its type system is more of a weak suggestion than anything the compiler can work with. Here’s an example of it being trounced by various higher-level languages. Including C++ (using delicious OpenMP annotations rather than manual threading, so it’s also clearer, safer code), Java, Haskell, Ada, FORTRAN, Lisp…

            (Real-world? Yes, fairly meaningless. But this is “MUH OPTAHMIZED C” territory, so, hey, fight it with dumb benchmark wars.)

      • GallonOfAlan says:


        (Checks what’s trendy this month)

        Yeah they totally should have done it in Coffeescript or Dart. Losers. Instead of presumably picking a fairly performant and very widely used and documented language on a right-tool-for-the-right-job basis.

        • SIDD says:

          C++ can hardly be described as what’s “trendy this month” – particular not compared to JAVA which is nothing but an upstart in comparison … and considering how much they liked to toot the “those calculations are so performance intensive they HAVE to be done on OUR servers”-horn, there’s really no excuse for not picking the more performance optimized language to begin with!
          However considering the piss-poor architecture and platform decisions they made to begin with, it’s hardly surprising.

          • TechnicalBen says:

            And we know their budget/services reached to C++ running servers? If outsourced, perhaps the “cheapest” was Java based. Granted, the wrong decision. But sometimes “speed” is not the metric the business requires. Else all deliveries would be done in Veyrons and fighter jets.

        • Malibu Stacey says:

          ‘Trendy’ since the 90s & still hasn’t gone out of style.

      • KDR_11k says:

        Java is the right tool for a server. Between the J2EE environment and it being pretty difficult (though not impossible) to cause a memory leak it’s pretty well geared for tasks that require running the program for months without restarts.

        Though I wonder if there’s maybe also a script language involved in the game since coding the non-performance-critical bits in languages like Lua or Python (or JavaScript for the pathologically insane) is a very common thing.

      • zaphod42 says:

        You’re not a software developer, are you? I’m guessing you just heard some popular hate on Java so you do too?

        Honestly you’re making yourself look horribly naive. Write more code and you’ll learn.

        • FriendlyFire says:

          Any programmer will know this, as soon as you start talking about games and programming, you get a zillion of armchair “programmers” proclaiming how veterans of the industry are fucking stupid and that they’d have done it so much better and faster.

          This is like the people thinking they’d be good at game design because they play lots of WoW.

        • adammtlx says:

          This is how it is in every discussion about games + Java. You should see the hate spewed on Java from the Minecraft community who, largely, have absolutely no idea what they’re talking about but want to sound important so they crap on Java and blame it for Minecraft’s “problems,” no matter how utterly unrelated they may actually be.

          It’s even more hilarious when someone, like the guy you responded to, mock Java in the context of web infrastructure. Couldn’t be more ignorant if he tried.

          • FriendlyFire says:

            Doesn’t help that for a long time Java had some teething issues (back when the VM’s performance was between bad and atrocious, in the dawn of time), so they feel somewhat validated by that old and long incorrect information.

            Also of course Minecraft is rather shoddily coded, but I doubt the average Minecraft fanboy would be able to say anything bad about Notch.

    • LionsPhil says:

      The mistake was that it was architected in this way in the first place


      This isn’t “it was hard because it’s a hard problem”.

      This is “it was hard because we made bad decisions”.

      The fun bit is if they’re still running the Java version of the sim on their servers, which I suspect they will be to avoid having to tear down and rebuild all that infrastructure. Which means any change to sim they need to make, be it bugfix or DLC features, will need doing in two different copies of the code in two different langauges. Good job, Maxis.

      • Gap Gen says:

        I hope they meant that the network code was written in Java, rather than the actual sim itself. Because you’re right, if they were running everything server-side in Java, then they’re going to have a nightmare patching this crap.

        It does seem a bit like to me that they made some bad engineering decisions at the start and are now bleeding time and money supporting them. But who knows.

    • Elmarby says:

      However with the Maxis/EA statements in the past riddled with misrepresentations and at times outright lies I’m going to prefer the equally valid speculation that they were wearing asbestos trousers when they made the statement.

    • geerad says:

      Yes. There’s a big difference between a proof-of-concept mod and a real fix to an already-in-production product. It’s not impossible that they also dragged their feet a bit, but the creation of a mod in a shorter time should not be taken as proof of that.

      • SominiTheCommenter says:

        The “proof of concept mod” has no access to the source code. It’s actually much harder to fool the compiled program that to just change the code and recompile.

        • FriendlyFire says:

          The proof of concept mod also didn’t do anything but disable online checks. It didn’t rewrite the save system or handle inter-city data transfers.

          It’s like saying you made a car with a joystick instead of a wheel but didn’t actually wire up the joystick in any fashion. Sure, it’ll accelerate and run, but good luck handling that turn…

          • thematrix606 says:

            You’re not getting the issue here. The issue is that if they had initially decided, they could have made offline possible with less work.

            That is the issue: They make a decision, and use an excuse later down the road as to why they “can’t change it”.

          • FriendlyFire says:

            You can apply that to anything though. At some point you make a decision, sometimes it works, sometimes it doesn’t. This time they made it online, it didn’t work, and that’s it.

            We’re not talking in terms of possibilities in alternate universes here. With the game that was shipped, in the context it was shipped, it’s not surprising it took them this long. This is what others are saying is false, and where I disagree. You’re just saying “If they didn’t do what they did, then they wouldn’t have had to do what they did.” That’s hardly insightful.

          • Baines says:

            The proof of concept mod did show that the game continued to run without communicating with the servers. Apparently the only thing that killed your game when you lost your connection for too long was a bit of script that was written entirely to kill your game when you lost your connection for too long.

            That doesn’t exactly mesh with Maxis’ message: “SimCity was written to rely on the servers. The game routinely pings the servers for critical pieces of data (region status, workers, trading etc.) and it relies on that information to keep the simulation moving.

            While the absence of that data will eventually start to show in your city, it doesn’t look like it is exactly “critical”. Nor is it necessarily a six month task to fake it.

            I’m not saying that I’m surprised that it took EA Maxis so long. Big bureaucracies are slow, and even simple one or two hour tasks can take days or weeks once you factor in meetings, approvals, politicking, certifications, testing, and the like. And it probably wasn’t a simple task for Maxis, because of the way the game was designed and coded.

    • DrollRemark says:

      You said exactly what I was going to. Whoever their lead architect is, he either made some terrible decisions, or he didn’t push back enough on the people above who made him implement them.

    • Deston says:

      Seeing as it was just a Java based server-side (potentially a worrying choice in itself for this purpose), from a technical standpoint I don’t see why they couldn’t have forked off a lightweight version to deploy as a localhost server for the calculations, and pointed the game toward that if you selected Offline mode. That would have entailed far less effort and change risk for them here, and may have allowed the player some scalability options in how frequent / detailed any “offline” calculations are.

      As they’ve decided to hack apart such apparently large chunks of their original work, my guess is they’ve really spent the majority of the last 6 months coming to terms with their mistakes – fixing a bunch of badly engineered, poorly tested and / or outright broken code – rather than merely implementing the ability to run offline.

      I’m speculating of course, but I’ve worked as a developer on enough releases over the years, and that’s how these things invariably tend to go in my experience… They made some utterly rubbish architecture design decisions for questionable reasons and became trapped by them. Now they are having to backpedal, unravelling huge swathes of it to have any realistic chance of economically maintaining and supporting the product.

      I can’t give them that much respect for fixing problems they had to by necessity, and I’d have far more for them if they had properly owned their mistakes. We all make them, especially in development of complex software… But there was no litigation at stake there, only customer engagement and reputation. Spinning a bunch of transparent codshit in a flaccid attempt to cover your arse just makes you look rather silly, and few people are going to buy excuses for such a demonstrably and fundamentally broken product.

      • SominiTheCommenter says:

        What, and let people run their own private servers? This is EA we are talking about.

    • prian says:

      Relying on a PR (non-technical person) for actual technical reasoning is like relying on a waiter for the chef’s secrets.

      I can believe that it took the folk over at Maxis 6 months to ‘make’ offline work in SimCity but not because of any tangled up network code but to fix up the user interface and to stop checking the servers for things like high score, who’s online, etc..

      As best we can tell the game itself, with full functionality in terms of the game element, ran just fine offline simply by telling the game to stop checking with the servers. But, when you look at SimCity a large chunk of “features” were based entirely around being online all the time – most of these features were tied into the User Interface. So, to fix that up they’d have to gut their UI code.

      We know that Maxis had the ability to turn off a lot of the online functionality at will (they turned off stuff like the leaderboard when the servers were bogged down) so that part would have been trivial to do. The challenge would be to change the UI to stop displaying that information and to make it look pretty.

      The stuff about SimCity relying on servers for parts of the actual simulation was proven to be bogus. That doesn’t mean that the game client was not intrinsically tied to being online all the time in other ways. For example, to get into the game, one had to log-in.

      That log-in box would have to change how it worked. Instead of connecting to the server it would need to connect locally now. That’s a change that could take someone anywhere between 5 minutes to 40 hours depending how it was initially done and who is doing the rewrite.

      So all of that could easily have taken six months.

    • malkav11 says:

      Yeah, I’d have more sympathy if it weren’t for the fact that there was no reason to write it the way they did to begin with so any six-and-a-half-month-plus ordeal is just fixing their own fuck-up.

  3. RaveTurned says:

    “By the time we’re finished we will have spent over 6 ½ months working to write and rewrite core parts of the game to get this to work.”

    Given that the online-only game didn’t work properly on release, I’m hardly surprised.

    • Cinek says:

      I doubt it works much better now.
      Besides – problem was in a whole idea that moving some of calculations onto the servers in a single player game might be a good thing to do. No – it wasn’t good. It was plain dumb. Especially when all that game did was updating set of numbers each X minutes. Equally well they could just hardcode it all – noone would notice.

  4. TechnicalBen says:

    I will mention the broken window/glazier fallacy and leave it at that.

  5. grimdanfango says:

    I find it utterly loathsome that they’re actually bitching about this, trying to warp the whole thing into “we’ve been slaving away for months on end to bring you this stunning new feature, and you ungrateful swine don’t appreciate how generous we are giving you something like this for free!”

    That “feature” they’re forced to spend so long engineering is a completely artifical problem, entirely of their own creation. They knew exactly what they were doing when they weaved a call-home system into every aspect of the game design. They knew it was a system designed entirely to exert control over their paying customers. They even knew there would be a backlash. They calculated that they could weather that backlash and ultimately make more money by forcing the issue.

    Ultimately, they were wrong, and if they don’t have the decency to admit that the whole damn thing was about trying to bleed extra money out of paying customers, they should at least bloody well have the good grace to get on with fixing their shit in silence!

    • Colej_uk says:

      Yep, I find their inability to admit that the always online design decisions were a mistake infuriating.

      This is going to be too little, too late for me. By the sounds of it it’s still a fundamentally broken game and the cities are villages at best. It should be called SimCentralBusinessDistrict.

      I’d rather have them work on a new, proper simcity game with larger cities, built from the ground up to be offline with optional online functionality.

  6. Fataleer says:

    What is interesting to me is that when I read

    “By the time we’re finished we will have spent over 6 ½ months working to write and rewrite core parts of the game to get this to work.”

    I keep thinking what PR BS they done. I think they gave the number of workhours of all programmers included in this process combined. But then again, ideas like this are more indicative of my relation with corporate speeches… especially EA ones. Anyone else thinks this is the case, just to PR out whole server necessity BS?

    Well, that is cool. But still no rewrite on central routines? I mean the whole monkey business of distribution the electricity, water and waste water for small town purely through cars and average inhabitant living expectancy of one road trip. So the game will now cease to be online only, but still be a very bad game?

  7. Guvornator says:

    Yay! Sim City is fixed! Now the only thing standing in the way of your purchase is the fact that EA still seem to think a game that came out last March, was broken in multiple ways and only now really works as it should have on release day is somehow still worth £30…

  8. solidsquid says:

    “What do you mean you’re not interested in buying our castle? Do you know how much time and effort we put into building and maintaining it in this swamp?!”

  9. revan says:

    I would be more inclined to believe Maxis and EA if their previous claims regarding always online DRM in Sim City weren’t revealed to be outright lies.

  10. Muncle Uscles says:

    My guess is that the always-on requirement wasn’t actually a sinister business decision, but rather they were running short on time and had the choice to do either just offline or just online, and they, rightly or not, went for the latter.

    As for the game itself – I really don’t think it deserves all the hate it got. It seems to me more of a case of it not matching some expectations rather than it actually being bad.
    A lot of the supposed “problems” with it are of the “that’s not how cities work/how i think they should work” kind. Those mostly stem from the way the Glassbox engine works, and yes it isn’t a very accurate representation of how a city operates.
    However, if you look at it as a game system detached from reality, it is beautiful. It captures one of the most fascinating aspects of our universe – emergent complexity. Put together a bunch of very basic Agents, following very simple rules and out comes a system versatile enough to represent everything from people to sewage. Of course it’s wonky in places, but that just adds to the charm of it, like some of the bizarre solutions evolution has come up with. It’s fun to try and figure out why the hell something happens the way it does.
    I can completely understand why they used it for everything.

    • The Random One says:

      I dunno. Emergent systems are interesting, but unless they are obtuse deliberately (Starseed Pilgrim, Problem Attic) it needs to work on rules that are broadly understood, which is why most games about complex emergent systems are modeled on reality to some degree – see dipping items in potions in NetHack. Complexity exists on the player’s mental model, and if you lead players to believe your simulation will follow real world rules and don’t follow up on it, as SimCity (2013) does, your complex system is indistinguishable from a glitchy clusterfuck.

    • briktal says:

      It always seemed more to me that Maxis can up with an idea for a game they wanted to make and then made it but it didn’t work as well as they hoped and was not what people wanted from a Sim City game. It reminds me somewhat of Peter Molyneux, except with less hype and no big public face to attach everything to.

      • FriendlyFire says:

        I think if it had worked out the way they first envisioned people would’ve praised them for it (perhaps not so much for the online component, but the agent system). Had the servers run fine without any hiccup, had the agents not been really stupid, had they not been so expensive as to limit city sizes dramatically, etc. I think it would’ve been a fantastic addition to the series.

        The problem, obviously, is that they bit off a lot more than they could chew. I’ve never seen a project of this size not run into server issues on launch, and they overused agents which significantly reduced the scale of the simulation. I think they should also have tried to first look into performance before building the rest of the engine; they really needed multithreaded agents from the ground up, and either they would’ve figured it out or they would’ve ditched the idea then.

        • SominiTheCommenter says:

          And if my aunt had balls, she’d be my uncle.
          Or better, if Maxis had made a good game, it would be a good game.

  11. bstard says:

    EA, stick with the more braindead customers, mobile phones, Apple in particular, and consoles. This is getting insulting.

  12. Arithon says:

    I call “liar” on that claim. A single modder managed both off-line play and larger cities by tweaking the game’s Javascript in the week it launched.

    See link to

    I cannot see anyone being grateful to Maxis for holding these features back on the pretence that they were hard to do, when we all know they weren’t.

    • Tei says:

      I wonder why they feel they have to lie this way?, on the internet we can go and read links like what you provide, maybe download some files and test for ourselves.

      • Stardreamer says:

        Because they can’t admit to the original lie? So because of that it has to look like providing an offline mode is months of hard graft?

    • zaphod42 says:

      Glad to see somebody is using their brain logically. Yeah, its absolutely bullshit, there’s no way this story adds up. This is marking BS to cover their asses.

    • FriendlyFire says:

      You’re not a programmer, are you? The logical leap you’re making is mind-numbing.

      Disabling an online check is rather different from making the whole game work properly offline.

  13. Lanfranc says:

    “Seeing as I’m no expert, however, I can’t say for sure one way or another.”

    Um. So how about doing some more journalisting and finding some experts who can throw light on the matter?

    • Grygus says:

      This struck me as odd, too. On the other hand, any real expert knows too much; he or she is going to answer, in all seriousness, with “it depends.” The only reliable experts are those at Maxis, and presumably they’re not going to be talking very soon.

    • TechnicalBen says:

      Read betweened the lines?

      • Lanfranc says:

        No, that’s not good enough. RPS is supposed to be (or has ambitions of being) a site for serious game journalism. So, if they think Maxis are being untruthful, go do the legwork, talk to the experts, and make that the story if there’s proof. But this “Here’s what they said, but maybe they’re lying, who knows” style is disingenuous and it’s not good journalism.

        • mukuste says:

          The only way to say for sure is to look at the source code. Guess who is the only one who has access to that? Maxis. Guess who has no interest whatsoever in people pouring all over that? Fill your answer here: _____

          • jrodman says:

            My pet peeves compel me to share that “pour” means to distribute liquid by tilting a receptacle, while to read over carefully is to “pore”.

    • zaphod42 says:

      Expert here, this is very clearly not the whole truth. Somebody is lying. We know from watching the traffic over the wire while playing SimCity and from hacks that allowed people to keep playing offline indefinitely that this isn’t the truth.

      I will accept that they had to write the save game code, but there’s just absolutely no way it too 6 months to implement. A single engineer could knock out the save game code in probably less than a month, depending upon their existing infrastructure, much less a team of engineers.

      This just doesn’t add up. Something’s obviously false.

      • FriendlyFire says:

        Saving, inter-region data transfers, removing all the online systems from the offline game (leaderboards, global market, etc.), coding the new UI for the singleplayer, porting the infrastructure from server-based Java to client-side C/C++/Javascript (at a guess), QA, I can see that taking six months while also producing nine other patches and an expansion on a reduced team size.

        • thematrix606 says:

          You can buy cheap routing algorithms that are more efficient and can produce a higher quality than SimCity. Maxis needs to revisit the devs who wrote that junk code, seeing as it was one of their biggest problems after 60 minutes of gametime, and they REWROTE that part… 5 times? 6 times? How many patches has it been? It’s ridiculous, it’s just a simple routing algorithm (yes I’ve worked on routing algorithms they are not that freaking hard).

          Nothing is hard IF you know what you are doing.

          • FriendlyFire says:

            That’s hilarious. Nothing is hard, eh? So there is no unsolved problem. NP-hard problems don’t exist? Awesome, thanks for the news!

  14. The Sombrero Kid says:

    I am an expert & my points are as follows:
    1.)I doubt he is being honest about how much of the server was java or if any of it was at all.
    2.)If the server really was a large proprietary java code base, they are incompetent.
    3.)even if it was java they could still have shipped the server code and set the server address to localhost, they didn’t do that for their own sake, not consumers.

    • Ich Will says:

      I was just about to mention point 3 myself, and lets remember if they did ship the server code, that would be a treasure trove for modders to get in there and fix the simulation.

    • zaphod42 says:

      Fellow software engineer here, and I agree completely. There’s just no way this is the honest truth. Hackers already made the game continue to run indefinately without server updates; that means they’re straight up lying about the client being so dependent on server data.

      Literally all they had to write was the save code. OH MY GOD ITS SO HARD TO WRITE SAVE, ITS GONNA TAKE 6 MONTHS. lol no

    • mukuste says:

      How is someone incompetent purely for having a large Java codebase? That’s ridiculous.

      • FriendlyFire says:

        It’s hip to say Java is bad, apparently.

        I don’t particularly like the syntax, and a bad Java program can be really bad (mind, a bad C/C++ program can be even worse), but a lot of negativity is attached to it for absolutely no reason whatsoever.

  15. Surlywombat says:

    As NerdCubed said, they are only doing it because EA will want to turn the servers off soon.

    Switching to offline allows them to catch a few holdouts and gain a little bit of money before announcing the next Simcity. Then they turn the servers off.

  16. huldu says:

    It’s a game made by EA, it was made to run on your refrigerator. That’s how you make the most money, you make sure that your game runs on pretty much any hardware out there. As for the DRM crap they’re trying to pull, it’s just more bullsh**. The “simulation” runs perfectly fine on your computer, this has already been proved over and over again by game “crackers” as they were trying to make a crack for the game a long while back.

  17. SilentDawn says:

    I guess EA meeting about this statement went something like this: link to

  18. Solidstate89 says:

    This meant rewriting the entire system, which previously existed in Java, and putting it into C++.

    Well that’s a net positive if there ever was one.

  19. zaphod42 says:

    As a developer and a software engineer, I’m calling shenanigans. This is PR bullshit to cover their asses, straight up:

    SimCity was written to rely on the servers. The game routinely pings the servers for critical pieces of data (region status, workers, trading etc.) and it relies on that information to keep the simulation moving.

    Yeah, see, read between the lines, that’s bullshit. First of all, Region status, trading? Those things DO NOT MATTER IN A SINGLE PLAYER CONTEXT YOU DUMMIES. They had to make up something so it would sound like they had a lot of things to work on. But that’s not the case. This didn’t take 6 months, or if it did it was because they only had one or two guys working on it because they’ve already abandoned support for this game.

    HACKERS HAVE ALREADY MADE IT SO YOU CAN PLAY OFFLINE. This means that all they would have to do is simply comment out the code about trading and regions, and then change the code for saving.

    It does not take 6 fucking months to write some basic data serialization for saving game files. That’s RIDICULOUS.

    I call BULLSHIT!

    • silentdan says:

      Agreed. It was defective by design, and incomplete when released. They spent four months unwinding bad design decisions, two and a half months fixing bugs, about 20 minutes on commenting out connect_to_maxis_servers() calls, and whatever was left over was post-op recuperation time for the PR guy, who clearly had his testicles replaced with the big clanging brass balls necessary to tell a lie that big.

    • FriendlyFire says:

      Playing offline without regions? Are you out of your mind?

      That’s nonsensical and they would’ve been lambasted for it. They need to replicate all the functionality, including regions and a fake global market, or the game is irreversibly crippled offline. You just cannot build up to the maximum without leveraging multiple cities in a region.

  20. Universal Quitter says:

    Having worked in a “trades” job, been in the military, and worked for years in office jobs, I always find it cute when certain types of people refer to “hard work.”

    Oh sure, I’d hate to sit in an office for 20 hours a day probably more than the next person, but (extreme) tedium =/= hard work. More like six and a half months of mind-numbing torture.

    • SominiTheCommenter says:

      It ain’t work if it isn’t shooting brown people in the face.
      “Programming” isn’t a real job at all! You just bang on the keyboard and then .exe come out on the other side.

      • FriendlyFire says:

        You don’t get it man, they’re in the videogames business. Obviously all they do is play games all day and call that work!

    • programmdude says:

      I will have to politely disagree with you. I could rudely disagree with you, but doing it politely seems to cause less arguments. Yes, trades industry/military/whatever is very physically hard work, and in some cases mentally hard work too. But programming, especially in a game development environment where you have constant pressure on you for months at a time, is definitely hard work.

      The act of programming, while usually fun, is mentally straining. It requires you to think and to solve problems. Now that in itself isn’t hard work, at least not to the extent that you are referring to when you are talking about other jobs. But add in all the pressure, the deadlines that needed to be finished 2 weeks ago, the 16 hour days, 7 days a week, sleeping in a beanbag under your desk kind of pressure. You have managers yelling at you saying your all going to be fired because the game won’t be made in time for whenever. That kind of pressure can happen continuously for months, sometimes with no breaks.
      There is a reason why the average life of a game developer is only 5 years.

      • SominiTheCommenter says:

        There is a reason why the average life of a game developer is only 5 years

        Explains why most games are for kids. ;)

    • xao says:

      Having worked in the military, worked construction, and worked as a software developer, I can honestly say that some of the hardest work I’ve ever done has been at a keyboard. I always find it cute when people dismiss skullsweat to excuse their own ignorance.

  21. anduin1 says:

    It would be nice if companies that straight up lied could be punished somehow. The game is average at best even with it going offline, the always online feature was just the death knell in a once great series and much like other series EA has managed to ruin, it will taint peoples memories.

    • ChrisMidget says:

      There is one simple way to punish companies that lie, don’t buy their products

      • SominiTheCommenter says:

        Quoting David Mitchell, voting with your wallet isn’t fair, rich people get way more votes.

  22. aepervius says:

    ““SimCity was written to rely on the servers”

    And ehre is your very easy rewrite :
    1) translate for windows and put the server code in the next update as a stand alone aplication
    2) add a switch to target localhost instead of
    3) et voila

    But I am betting they did not want to go the easy way out of concern this would be easily hacked and make server sprout everywhere and those private server would NOT say anything against modding.

  23. programmdude says:

    And yet, with all the fixes it has received, I still don’t feel like wasting my time enough to even pirate it.

  24. Arglebargle says:

    Short form seems to be: They are not very competant, and they are liars.

  25. rocketman71 says:


    These fuckers take us all for morons.

  26. Waldkoenig says:

    I don’t have anything constructive or clever to say, so I’m just going to vent my feelings:


  27. LordMidas says:

    I stopped playing about a month after it came out. I tried to see the good amongst the bad, but it just pissed me off. Not just the regular annoyances but things like all my cits fucked off to my mates city to work, even though I had provided lovely jobs in my own city. All those businesses went out of business, whilst my mates city was rolling in cash and prosperity.
    And the constant graphical glitches which had my roads underneath the terrain.
    Blah, gripe.
    Anyway, I “might” try this single player mode out, but probably when it’s hacked to have much much bigger regions.

  28. Dozer says:

    As a former bus driver, I call shenanigans. In six months I could transport 75,000 people between Bristol and Bath (more if I worked overtime) and those people could have ported SimCity to localhost in far less time if they were all programmers! Clearly EA/Maxis are lying to us here.

    I have a housemate who worked for the National Grid. He often talked about the difficulties in finding routes for the invisible electricity delivery carts. Sadly he was committed into the care of the State soon after, under the powers of the Mental Health Act.

  29. grenadeh says:

    And by significant work they mean literally 3 seconds of work because people hacked this game to be offline within a day.