SimCity’s offline mode not as simple as “flipping a switch”, Maxis explains how game was rewritten

simcity

By on January 15, 2014 at 11:59 am

Maxis announced yesterday that they’d finally developed an offline mode for SimCity, to come soon in Update 10, but they’ve now posted a new entry on their official blog explaining just how difficult rewriting the code was to get it there in the first place.

“Lucy (Bradshaw) once said that Offline wouldn’t be possible ‘without a significant amount of engineering work’, and she’s right,” claims lead engineer Simon 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.”

Fox goes on to explain that SimCity was “written to rely on the servers”.

“The game routinely pings the servers for critical pieces of data (region status, workers, trading etc.) and it relies on that information to keep the simulation moving. 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.”

“Our game routes pieces of data from one city to another as data flows through the regions. 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.”

“And 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.”

What do you think, sports fans?

Tags:
15 comments (Leave your own)
GeneralHerpes.

Always online was never the problem, it’s the abysmal small citys you have. You can’t do jack shit.

 

As previously stated, the cities are just too small. Just too small to do anything meaningful.

 

Didn’t somebody show quite early on that you could play offline until such time as you wanted to save the game or get a regional update? I’m unconvinced that it would take that long to store saves locally and queue up some AI routines for the other cities that they would have code for from previous games.

 

ottomatic:
Didn’t somebody show quite early on that you could play offline until such time as you wanted to save the game or get a regional update? I’m unconvinced that it would take that long to store saves locally and queue up some AI routines for the other cities that they would have code for from previous games.

Yeah people were able to pirate it and play it from pretty much day dot. It also amusingly fixed the path finding problems with the buses.

 

They are so full of it. It would take about 2 seconds to simulate this “regional” information locally.

 

Poor design is poor design,

The significant rewrite points to code that was written with little focus on maintainability and lots ofspaghetti to untangle

This should be a few weeks at most most but could easily take months with a bad code base and lower quality developers. Having had to redo other peoples code I can sympathize with whoever is doing it now.

ottomatic, 80% solution is easy its the last 20% that kills you. Sounds like they want to do a good job rather than just get it working, I take this as a good sign.

 

“which previously existed in Java”

Who the fuck in this day and age is making commercial AAA titles in Java lol. Seemed to me only something you did if you were A. Desperate or B. Notch.

Its really sounding like Maxis’ programming pool tends to be made up of Amateurs, since anyone who knew what they were doing was culled during the spore disaster or if this were a star wars movie Revenge of the Bradshaw, and sim city would be called The Bradshaw Strikes Back.

They really seemed to had built the entire game around their DRM model. I won’t deny that they had to do a lot of rebuilding to take it out. But as most people had stated the DRM was not the biggest problem with the game, all the DRM did was cause their disastrous launch where their servers weren’t good enough to prove effective use of DRM, its likely no one would’ve complained if it you know… just worked in the first place. Just going to show EA, if you’re going to do this in the first place.. don’t go cheap. Did you learn nothing from TOR you morons, as it suffered from the same dodgy service practices on launch and suffered from them for months.

I just hope this has killed EA’s DRM efforts entirely. But I somehow doubt it.

 

“This meant rewriting the entire system, which previously existed in Java, and putting it into C++”

wow…thats just amazing to me that someone would use such an inefficient language to make a game of this magnitude these days.
it really explains a lot about why the game was so broken.

 

trb,

I took it to mean that server-side services were written in Java and they had to be ported to C++ to work client-side in offline mode. Not entirely crazy.

 

They should sack the managers and PR team who thought a tower of lies was a good way to deal with the issues, and give the kid who worked out how to make it work off line about 2 hours after release a job instead.

 

Someone should tell EA that no matter how hard you try, you can’t resuscitate an abortion.

 
Darth Teddy Bear

Res… res… respe… re… respected customer,

This was a huuuuuuge undertaking by our most highly trained monkey because we luvs yous and this has nothing to do with trying to get all you F U C K E R S to play offline so we can piss off the online server that you ungrateful sons of bitches are not using.

Honest, have I lied to you before?

 
Nasty Wet Smear

ottomatic:
Didn’t somebody show quite early on that you could play offline until such time as you wanted to save the game or get a regional update? I’m unconvinced that it would take that long to store saves locally and queue up some AI routines for the other cities that they would have code for from previous games.

It boggles the f***ing mind, doesn’t it?? Despite the fact that they MUST know that this already happened, they still bare face lie to the public by telling them they had to re-write the whole game.

 

If so many people have been so pissed about always online, and EA have been working on making it offline for 6 months, why wouldn’t EA have said 6 months ago that they are currently working on making it offline but it will take some time?

(The question is rhetorical, we all already know they answer.)

 

bring on bigger cities and i may just play it

 
Leave a comment

You can use the following bbCode
[i], [b], [img], [quote], [url href="http://www.google.com/"]Google[/url]

Leave a Reply

PC Gaming Calendar 2014

Follow Games.on.net

YouTube

Steam Group

Upcoming Games

Community Soapbox

Recent Features
Shadow Realms

Can BioWare pull off digital D&D? We go hands on with Shadow Realms

BioWare's Jeff Hickman tells us what rules can be bent and what can be broken.

Dragon Age Inquistion

I Hope There Aren’t Any Straight Characters in Dragon Age: Inquisition

I'm no bigot, but I have to get this off my chest.

Divinity: Original Sin

Dungeons & Divinity: Why co-op Original Sin is just like a great game of D&D

This is one game that lovers of co-op and lovers of tabletop should not be missing out on.

civilization_beyond_earth_5

Why doesn’t Civilization: Beyond Earth look more alien? We ask Firaxis

Humans have some hard-wiring which is really difficult to get around, it turns out.

Streaming Radio
Radio Streams are restricted to iiNet group customers.

GreenManGaming MREC

Facebook Like Box