Rebuilding SimCity to work offline took more than six months of development, according to single player mode lead engineer Simon Fox
According to Fox, the game was written to rely on online servers; SimCity would "routinely ping" severs to obtain necessary data, including regions status, workers and trading.
"It relies on that information to keep the simulation moving," Fox wrote. "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."
Now that the game will function offline, regional simulation must be done locally. Fox added that this kind of response required "major optimizations" to keep the sim running locally.
"We have an obligation to make the game fun and functional on all specs of machines," Fox said. "We wouldn't want someone who was enjoying the multiplayer game to find the single player game crippled due to poor optimization.
"And it's not just adding, 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."
EA Maxis announced yesterday that it would add an offline mode. The mode is a controversial addition after SimCity's crippling launch and the 10 months that followed, during which the developer said the switch was impossible "without a significant amount of engineering work." Shortly after the game's launch, however, two players tracked the game's data from their computers to EA's servers, ultimately claiming that it was impossible for servers to be "offloading" calculations for each city.