Taking SimCity Offline Took Over Six Months

Simon Fox, lead engineer on the Single Player Mode for SimCity, jumped on the SimCity website and explained why the impossible was made possible -- allowing gamers to play SimCity offline. Believe it or not, he claims that the SimCity team began working on the offline mode effort soon after fans began requesting the feature. Unfortunately, the move wasn't as simple as flipping a switch.

"The original creative vision for SimCity was to make a game where every action had an effect on other cities in your region," Fox writes. "As such, we engineered the game to meet this vision, setting up the player's PC (client) to communicate all of its information to the servers. That means that our entire architecture was written to support this, from the way that the simulation works to the way that you communicate across a region of cities."

"So yes, while someone was able to remove the 'time check' shortly after launch, they were unable to perform key actions like communicating with other cities that they had created locally, or with the rest of their region(s), or even saving the current state of their cities," he adds. "My team did, however, see a path forward towards Offline, one that would maintain the integrity of the simulation."

He writes that SimCity was written to rely on servers. The game pings these servers for critical pieces of data, and relies on that information to keep the simulation moving. To get the game to function offline, the team had to rewrite the entire system -- which was written in Java -- in C++. The team also "knocked out the Internet pipe stuff," meaning there's lots of code that hits the servers looking for information, and a lot of code was written to produce that information locally.

"Our game routes pieces of data from one city to another as data flows through the regions," he writes. "All of that code exists on the server, and now we've brought all of that down into the client. The client processes the region box, which is what all of the cities pushes their data into. We've brought that down into the client as well."

By the time the team was finished, they spent over six and a half months working to write and rewrite core parts of the game to get the offline mode to work. The blog entry goes on, which can be read in full here.

  • skit75
    Hopefully, other developers and publishers are watching.
    Reply
  • Jerky_san
    Wouldn't of took 6 months after the original release day if they'd of simply listened to the community and did it in the first place.. CitiesXL failed online as well.. Course its engine sucked as well which made it where you couldn't get past a certain pop cap but thats a different story..
    Reply
  • Murissokah
    I like how developers talk about their "vision" for online gaming as if it had nothing to do with trying to force everyone to depend on their online services.
    Reply
  • Stimpack
    Wow, they must be REALLY good to do the impossible!
    Reply
  • ddpruitt
    the team had to rewrite the entire system -- which was written in Java
    Be afraid, be very afraid....
    Reply
  • Grzegorz Wereszko
    It is funny, for one part, some hacker was able to activate a switch and make the game fully offline. Only issue was that the game didn't save or something like that.To me this is just a bit of, "yeah we messed up, so lets make up some excuse why it took long to activate an option so people can play offline"
    Reply
  • bemused_fred
    Wow, they must be REALLY good to do the impossible!
    You. I like you. :D
    Reply
  • dusty13
    the team had to rewrite the entire system -- which was written in Java
    Be afraid, be very afraid....
    my thought exactly
    Reply
  • fleeb
    It is funny, for one part, some hacker was able to activate a switch and make the game fully offline. Only issue was that the game didn't save or something like that.To me this is just a bit of, "yeah we messed up, so lets make up some excuse why it took long to activate an option so people can play offline"
    Yes, because it should only take a day or two to do this:
    "Our game routes pieces of data from one city to another as data flows through the regions," he writes. "All of that code exists on the server, and now we've brought all of that down into the client. The client processes the region box, which is what all of the cities pushes their data into. We've brought that down into the client as well."
    Reply
  • razor512
    If it really took that much work, then how did the cracking groups make a cracked version of the game with offline play after just a few days of the games release?
    Reply