SimCity Offline Mode Has Been in the Works for Six-and-a-half Months, Says Lead Engineer

Posted on the 14 January 2014 by Sameo452005 @iSamKulii

SimCity’s lead engineer, Simon Fox, has explained in a new blog post how the team at Maxis is going about bringing the game offline.
According to Fox, his team’s been working on clearing a path to offline mode while working to maintain the “integrity of the simulation” at the same time.
“Lucy Bradshaw once said that offline wouldn’t be possible ‘without a significant amount of engineering work’, and she was right,” said Fox. “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.
“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.”
Fox said SimCity was originally written to rely on the servers and will routinely ping said servers for critical pieces of data which it relies on to keep the simulation moving.
“This meant rewriting the entire system, which previously existed in Java, and putting it into C++,” he further explained. “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.
“Now, all of the regional simulation needs to be done locally. The algorithms governing trading between cities needed to be retuned in order to make the behavior between cities more responsive for this type of play. This in itself required major optimizations in order to run the simulation locally. We have an obligation to make the game fun and functional on all specs of machines. We wouldn’t want someone who was enjoying the Multiplayer game to find the Single Player game crippled due to poor optimization.
“We had to remove parts of the game for it to function properly as well. This means removing lots of code integral to Multiplayer include code and UI supporting Trading, Social Features, Global Market, Leaderboards and Achievements. And, all without crippling the Multiplayer game.”