The recent announcement of SimCity, Maxis’s much maligned, always-online city management simulator, going offline took several of us by surprise. This is especially so considering Maxis head Lucy Bradshaw insistence that it wasn’t possible without reworking a significant amount of the game.
That’s exactly what happened though, according to lead engineer Simon Fox in a new blog post. “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.”
Since the original structure relied on servers routinely being pinged for important pieces of game data – the disruption of which caused the game to stop working completely – it was more of a matter of “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, all of the regional simulation needs to be done locally. The algorithms governing trading between cities needed to be returned 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.”
Now, why didn’t they just opt for the offline route to begin with? At least they’re taking steps to correct their errors now rather than never. What are your thoughts? Let us know below.
Share Your Thoughts Below (Always follow our comments policy!)