SimCity's upcoming offline mode the result of six and a half months of work, says Maxis
SimCity is gaining an offline mode. That's pretty good news, eh? It'll allow people without access to a stable internet connection to enjoy the game, give modders significantly more freedom in what they can edit and create, and let anti-social old me sulk off to my own private toybox of industrial mismanagement. In fact, there are so many positives, you'd almost wonder why Maxis didn't give SimCity the option to work offline at launch.
Two reasons, it was revealed at the time. The first: a conceptual attitude. "We rejected [a subset offline mode] because it didn't fit with our vision," said Lucy Bradshaw in March last year, back when she was the general manager of Maxis. The second reason was a technical one, as Bradshaw revealed in a more infamous quote. "It wouldn't be possible to make the game offline without a significant amount of engineering work by our team," she said. So what's changed in the interim? According to a new post on the SimCity blog, the answer is a significant amount of engineering work.
"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," explains the single-player mode's lead engineer, Simon Fox. "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."
"I wish it were as simple as flipping a switch and telling the game to communicate with a dummy client rather than our server, but it’s more than that. Entire calculations had to be rewritten in order to make the game 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."
There is, inevitably, going to be some cynicism around Fox's explanation. Something I've already seen plenty of people bring up is the modder who claimed, just a week after game's release, to have an offline mode working. Except, it wasn't quite a fully functioning workaround - missing things like regional data.
You can read the full technical explanation here.