5 ms·
This is a fairly good account covering the points on the EA/Maxis SimCity 2013 bad launch. http://kotaku.com/5991077/your-complete-guide-to-the-simcity-disaste
by engtech 14y ago
This is a fairly good account covering the points on the EA/Maxis SimCity 2013 bad launch.
http://kotaku.com/5991077/your-complete-guide-to-the-simcity-disaster http://kotaku.com/5991077/your-complete-guide-to-the-simcity...
The bad PR move imo is that the company stated that the game requires "online access to servers for cloud calculations", but users have found a single line of code that when removed allows the game to work in offline play because it disabled the connection check every 20 minutes.
http://kotaku.com/5990997/coders-discover-20+minute-offline-timeout-in-simcity http://kotaku.com/5990997/coders-discover-20+minute-offline-...
But in general, EA is reviled for taking good IP/brands and killing them.
Here's a letter that was on reddit from an internal employee to the EA management:
http://www.reddit.com/r/gaming/comments/19xb2m/a_letter_from_an_ea_employee_to_executives/c8sbzg3 http://www.reddit.com/r/gaming/comments/19xb2m/a_letter_from...
- hkmurakami 14y agoSo according to the articles posted in the parent post, removing line 22 here [1] will enable offline play. I'm not literate at all about the state in which production code gets shipped to the end user, but I would have expected this level of code to have been in binary form. Could someone shed some light on this? [1] http://pastebin.com/8NR1EdkN http://pastebin.com/8NR1EdkN
- wskinner 14y agoThis appears to be javascript. Lots of games use scripting languages for certain components. However, it is pretty surprising that they would implement a supposed "security" feature in such a way.
- seanalltogether 14y agoThats the thing, its not a security feature at all, all you're doing by disabling that feature is extending the length of time you can play before checking in with the server, but if you quit the game without reconnecting you will still lose everything. Maxis must've decided that 20 minutes was the threshold before people would be really pissed that they might lose their progress.
- ryusage 14y agoJavaScript doesn't get compiled into binary. The human readable source code file just gets processed directly by an engine that executes each command. You're right though, the fact that this is in a form that's so easy to read is extremely surprising. Normally what's done with script languages like JavaScript is to obfuscate the file by processing it with a tool that would rename everything to be meaningless, and change spacing, line breaks, etc in a way that is still executable, but overwhelmingly tedious/difficult for any human to read and understand. Did they really ship the game with such open sourced code? For a company so concerned about preventing piracy, I find that pretty hard to believe. It's like they didn't even try.
- derefr 14y ago> JavaScript doesn't get compiled into binary. Well, it can. V8 and other Javascript engines do Just-In-Time (JIT) binary compilation, meaning that they start by interpreting and executing each line of code as they read it, but when they see a function getting executed a lot, they convert just that function to native machine code as a performance optimization for the next time it gets called. And, because this does happen, you can ship compiled Javascript--by dumping the memory-image of the Javascript interpreter after running it for a while (JITed routines and all) and then reloading it on the client end. node-webkit (an application framework similar to the one EA/Maxis uses for SimCity's UI) has a good example of this concept in action: https://github.com/rogerwang/node-webkit/wiki/Protect-JavaScript-source-code-with-v8-snapshot https://github.com/rogerwang/node-webkit/wiki/Protect-JavaSc...
- munificent 14y ago> meaning that they start by interpreting and executing each line of code as they read it, but when they see a function getting executed a lot, they convert just that function to native machine code as a performance optimization for the next time it gets called. Technically V8 does not have an interpreter pass at all. It always JITs to machine code. It does have two compilers though: a fast JIT and a slow JIT. The fast one gets code running as quickly as possible so your app starts fast, but doesn't generate optimal code. The slow JIT kicks in for hot code and spends more timing compiling it to something that will run faster.
- pixl97 14y agoThe Glassbox engine was designed to be easily moddable. The problem is the games 'online' nature leads EA to ban people from making mods to keep people from cheating. There was a huge disconnect in the grand vision somewhere.
- bashinator 14y agoI always figured they meant moddable by EA, for the purposes of developing and selling DLC.
- reductive 14y agoAs far as I can tell, this idea is popular but it is flat-out wrong. I seriously don't understand how this criticism makes any sense. The first Kotaku article you link quotes Maxis general manager Bradshaw: "GlassBox works by attributing portions of the computing to EA servers (the cloud) and some on the player's local computer." She was speaking in the context of online play and region play. There is a bit of ambiguity here, but suffice to say given the context and a modicum of common sense that the servers run the region-level simulation. Nobody has ever presented a single shred of evidence to refute that claim. The servers run the region-level simulation. That is why the region level simulation is not playable in offline play. Because the game isn't playable offline. Because the servers run calculations. I was upset that I couldn't play Sim City when it came out, and I am still upset with continuing region sync issues. The pathfinding code for agents (vehicles and utilities) is abysmal. There are lots of valid reasons to dislike this game. But misrepresenting online-only play isn't among the things EA did wrong. EA built Sim City around region play and they told the truth about that. They say it doesn't work if you're not connected to the region, and when some folks show that, indeed, the region sim doesn't work when you disconnect from the internet, it's total bullshit to construe this as evidence that EA lied about whether it works offline. It doesn't. Are people simply upset that EA won't make some kind of boneheaded mea culpa? "We built the game around online-only region play as cynical ploy to prevent piracy." Yeah right.
- jaggederest 14y ago> That is why the region level simulation is not playable in offline play. Because the game isn't playable offline. Because the servers run calculations. I guarantee you that within a couple weeks, someone will have reverse-engineered the server responses to fake that bit client side. The data it sends and the responses are pretty much just integers. If modders can do it, there's no reason why the authors couldn't.
- deleted 14y ago[deleted]
- joeguilmette 14y ago