By John Walker on March 16th, 2013 at 8:10 pm.
A key moment in the week’s SimCity shenanigans was unquestionably the appearance of a video from a modder, Azzer, announcing he’d found a way to remove the game’s offline timer. The final nail in the ridiculous-claims coffin, this mod demonstrated that everything but the asynchronous multiplayer was running on your home machine. We got in touch with the man behind the mod, one Azzer, and he had a lot more to say. In his opinion, the information coming from the servers is so rudimentary that despite Maxis’s claims, there shouldn’t be any problem at all in simulating the regional play offline.
So many of Maxis’s claims about how SimCity runs have come down to the importance of the information from the servers, driving the experience of players whether they’re seeking social conglomeration, or going it alone. And even in Bradshaw’s revisionist version of these claims, we’re still being told that the way it works is “innovative”. Not so, alleges Azzer.
“I’ve analyzed all of the data calls to and from EA servers – all of the APIs, every request for data, and all of the data that comes back,” explains the modder. And in doing so, he’s found some surprising results. “The SimCity servers are not doing any calculations that could not be done on your PC, even for an entire region single player offline mode, let alone just the city you are in.”
It’s his belief (clearly we don’t have a clue – we’re not experts here at all) that the servers aren’t chugging nearly as hard as Maxis say. “All the server sends to your client, is some very basic data about each city – how much power they have available, how much spare fire trucks, you know – that sort of stuff. It’s minor, and it’s sent as raw numbers. Your client then just goes ‘oh there’s XXX power spare from city Z.’ It’s that simple.”
But this seems to contradict the claims from Maxis that the servers are, “using new technology to realize a vision of players connected in regions to create a SimCity that captured the dynamism of the world we live in.” How does Azzer respond to that? “The server side calculations are all, frankly, rubbish.” Ah. In his opinion, clearly. “Every bit of it,” he continues. “The only ‘good’ they do at the moment is for a multiplayer region – they are just a way for my city to tell your city how much power I have spare, and update that data every few minutes while I play. A middleman of sorts.”
In fact, Azzer thinks that even despite this, the tech isn’t nearly as good as it should be. “The servers are terrible, the MySQL set-up sloppy, and they are trying to handle all of the saving server side (“the cloud”) which is bogging them down constantly – they aren’t optimized for how many simultaneous cities are connected at once. Hell, this “cloud” saving isn’t even very clever is it – if you change servers, all your saves are gone. They don’t even “cloud” your saves between their own servers.”
Matching the information we received from our Maxis mole, Azzer explains that the only other role served by the servers – beyond the obvious “fluff and guff” as he calls it of invites, chat, leaderboards, etc. – is to prevent cheating. “Most of the processing work is probably their attempts at anti-cheat stuff, checking a city doesn’t do… something… at an unrealistic speed.”
As we’ve repeatedly pointed out, while not offering an offline version of SimCity is entirely Maxis’s call, our issue this week has been with their claiming it would be near impossible, rather than their simply believing it undesirable. (Obviously we have enormous issues with any game being crippled by such DRM, too.)
So how simple does Azzer think getting an offline version going might be? “They could make an entire region single player offline with absolute ease. It would be as simple as coding in a switch saying, ‘Is this person playing single player? Take the power values of each city from local memory instead of ask for it from the server instead.’ The only thing missing is saving to local hard drive – but let’s be real, the code for saving your city already exists, I can’t imagine even that would take more than an hour to put into the client (and it probably already exists in the client for development builds), plus a little bit of time for the UI elements for Save/Load.”
“For an offline mode,” he continues, “instead of asking EA servers how much power is available from a fellow city in the region, it will simply have it in memory, as a small handful of values from another city. No live calculations done on them. Just raw values, all the EA servers send anyway. And as you’ll only be playing/simulating one city at a time in offline mode (cities you don’t play are “frozen in time”) – those values of how much spare power, resources, etc. other cities have won’t even need updating, until you change cities.”
But how exactly would that work? If those cities are frozen, resources won’t be renewed, nor depleted? “Let’s say you and I play in a region together,” says Azzer, talking about the regular online game. “You build a town that has lots of power and water (water is a consumable just like coal) and spare fire trucks. I build a big casino city with lots of criminals. You go offline and don’t play for a whole week, but I keep playing for an entire week.” Okay, with you. “During that week, my client will keep telling me stories about fire trucks coming to help me from your city, I’ll keep getting water from you, I’ll keep getting power from you – of a ‘set amount’ dictated by how much you had spare when you last logged off. This is all processed by my client, not by the server. All the server did was tell me ‘X fire trucks available, Y water available, Z power available, from city with the name ABC,’ as a raw list of values. When you log back on, your water levels will be exactly as they were when you last logged off, because EA’s servers were NOT doing any processing, and my client only affects the city I am simulating.”
Crikey. So an offline version of the game could act in exactly the same way. You could play multiple cities in your private region, each freezing when not played just as the current game operates. “No processing is done on the cities you aren’t currently playing on – they simply freeze in time and provide a fixed set of values of ‘resources’ that the currently played city simulates. The client does all the processing, which is why any city not being played (online or not) has nothing done to it by EA’s servers if the owner of that city is not playing their city at the time.”
We also spoke to Azzer about the rather strange happenings with the threads related to his mod vanishing from the EA forums. A series of tweets from, Erik Reynolds, “senior director of worldwide communications” (but apparently not mathematics), explained that he was going to be “1000% clear”.
“Due to our ToS we need to delete the thread about the hack/mod from our forums. Please move it to other places and continue the dialogue.”
Then slightly less than 1000% clearly, he added,
“In the past we’ve supported the modding community and in the future we are committed to supporting. Hacks are not mods.”
This wasn’t an ambiguity he further cleared up. It was one that surprised Azzer too. “A thread I made detailing all of the modding work (and clearing up any mis-information too) on the EA forums was deleted within 30 minutes of posting (after 3 pages of replies).” But despite Reynolds’ stating an apparent distinction between hacks and mods, the baby and the bathwater have been thrown out of the EA forums. (You can read Azzer’s deleted thread here.)
“Hours later,” continues Azzer, “a new sticky thread appeared saying no mod talk was allowed any more.” Just how strictly is this being moderated, the modder wondered. So he started a thread titled, “Mods and rockers”, discussing the 1960s British music culture. “Just to see if they were deleting threads without even looking at the content.”
Were they? “It was deleted within thirty seconds of posting. Yes, I was obviously asking for a deletion with that thread title – but I giggled anyway.”
We’d love to put these points to Maxis, and to be able to provide you with their corrections for the above, along with their clarifications and responses, but they’re ignoring us.