Friday, February 26, 2010

The Awful Anti-Pirate System That Will Probably Work

The Awful Anti-Pirate System That Will Probably Work
JEFF VOGEL

So, when I read that Assassin's Creed 2 for the PC would fight piracy by requiring a live internet connection all the time when you were playing, I thought it was a joke. Sort of a dry, post-modern satire of the whole idea of DRM. Then I learned that, if your internet connection broke while playing it, the game would freeze. What's more, if the connection didn't return soon enough, the game would quit and your progress would be unsaved. This convinced me that the whole thing was a joke.

Then I learned, as explicitly confirmed by Ubisoft representatives, no. Not a joke. Not at all.

Of course, this is pretty harsh medicine, and the many reasons this set-up is hostile have been ably discussed. What if you have an inconsistent internet connection? What if servers ever go down? (Due to malfunction, bankruptcy, or no longer wanting to pay to maintain them.)

Also, you don't hold onto your saved games anymore. They do. This part is really significant. That's why the game needs the net connection all the time. It's not just for their amusement. The constant contact is necessary because your game is saved on their machine. Not yours. They are claiming that this is for your convenience, because then you can get at your saved games from any computer anywhere, but nobody is fooled.

But, in all the writing and bitching on the topic, everyone seems to be missing the most significant detail of this new system. Everyone always assumes that all DRM will be broken immediately and pirated versions will appear instantly and anti-hacker measures never work. But this system (and I know saying this will immediately get me written off as an idiot, but bear with me) is the one that will finally do a good enough job of holding off pirates. It won't hold them off forever (I think) but it will hold them long enough for the game to get its sales.

Here's why ... This is how hacking usually works. A game (or word processor, or operating system) is programmed to, say, check in at launch with the home server to make sure it's a legal copy. The hacker goes through the code and looks for that line of software and disables it. Snip. And the program is cracked and ready to be sent to the Torrents. This is a bit of a simplification, but it gets at the heart of the thing. Most hacking require disabling a small chunk of the program, and that is not hard.

But Assassin's Creed 2 is different. Remember, all of the code for saving and loading games (a significant feature, I'm sure you would agree) is tied into logging into a distant server and sending data back and forth. This vital and complex bit of code has been written from the ground up to require having the saved games live on a machine far away, with said machine being programmed to accept, save, and return the game data. This is a far more difficult problem for a hacker to circumvent. What are the options?

1. Make your own, free saved game server and alter the application code to use it.

This means a lot of work and expense, both to duplicate Ubisoft's game saving code and to set up and maintain the servers. Won't happen.

2. Trick the Ubisoft servers into believing you have a legit copy, so that they will let you save your game.

OK, the hackers will probably eventually come up with a keygen program. This is tricky, because the software that generates the keys will be in Ubisoft's hands, far from prying eyes. But they could possible do it, given a bit of time. But if they ever figure out you have a fake or duplicate key (and I bet they have their ways), poof. Your account and saved games disappear. I don't think this will work.

3. Hack the game to not need to save games on a remote server.

This means a hacker has to figure out the saved game format, somehow jam into the application new code to write the saved data and new code to read it, TEST IT, and get it to work. Doable. But it will take time, and I bet you'd get some bugs in the process.

So this will be a tough nut to crack.

Remember what it takes to get DRM to work. It doesn't have to be uncrackable. Nothing is. All it has to do is delay the hackers long enough for the game to get a couple months worth of sales. And by turning a key part of their game into a MMO ("We, like WoW, control the saved game, not you."), they have come up with a clever and brutal way to do just that.

But this will make everyone hate them.

Perhaps. Make no mistake. Ubisoft will lose customers and earn much nerdrage over this. But they are engaged in a grand experiment. They are seeing if an adequately pirate-proof game can make money. Will keeping cracked copies off the Torrents for a month make extra sales? And enough extra sales to make writing PC games worthwhile? Because the current system, where 90% of the copies out there are pirated and only megahits that could turn a profit on that 10%, doesn't seem to be working.

But it's an amazingly harsh system. As much as I hope for someone to come up with an anti-hacker measure that can reliably hold off the thieves for a few months without ticking the entire planet off (so that I can start using it), well, I wouldn't buy a game with the system Ubisoft is using. I really sympathize with what they're trying to do, and I can't join in with the (almost) unanimous chorus of rage. But this doesn't feel like the answer.

People might buy more copies of Assassin's Creed 2, but this is the sort of measure that can sour people on PC gaming as a whole. And that hurts everyone. Including me.

No comments:

Post a Comment