Saturday, January 28, 2012

The Build from Hell: Part VI: Batman: Arkham City

Isn't it nice when things just work? You get in your car, turn the key, and the engine doesn't tell you that your log in information is incorrect. You pick up the phone, push some buttons, and don't have to enter your 20-digit hexadecimal product code to complete the call. You turn a knob on a faucet and don't get a message that you've used water in the maximum number of approved sinks.

This is the way computers should be and, until recently, the way they had been working for me. That all changed with The Build from Hell.

Back in part I, I mentioned that one of the things I wanted to do on the new HTPC was be able to play vidjimagames. A nice new processor, with a good graphics card would make it faster than my desktop, and ideal for playing any games that support a controller.

Around this time, I was working my way through Batman: Arkham City, sequel to the game-of-the-year Batman: Arkham Asylum. I loved Arkham Asylum and pre-ordered Arkham City on Steam as soon as it became available.

The Resident Batman-lover, that is Anne Marie, forbade me from playing either game without her present at every moment. This usually meant me sitting at my desk, with her sitting behind me, looking over my shoulder. A workable solution, but not ideal. This seems like the perfect game to be able to sit on the couch and play with my wireless controller.

So I install Steam on HiFi and begin downloading the many billions of bytes necessary to play the game. While it's downloading would be a good time to explain Steam Cloud.
Valve, in their infinite wisdom, has implemented a feature in Steam called Steam Cloud. Basically, game data, such as saves, preferences, and configurations can be saved to The Cloud, or on Steam's servers. The advantage to this is that you can then move from one computer to any other computer and retain your saved games, or keyboard configuration, or player customizations. Arkham City supports this, so I can easily move from my desktop to the HTPC, and pick up where I left off in the game.

And this feature works exactly as advertised, so after I install Arkham City on the HTPC, I try to play. This is where I crash head-first into the dark and shady side of what is otherwise such an amazing piece of game design: Games for Windows Live.

A quick word of advice on games that use the GFWL service: do not buy a game that uses the GFWL service. Or if you absolutely must, buy it, then downloaded a cracked version of the game and play that.

For those not in the know, GFWL is Microsoft's answer to Steam. With Valve having a huge market share of digital content sales and distribution, Microsoft decided they wanted a piece of that pie, and came out with GWFL. Of course, GFWL is hopelessly, hilariously broken when compared with Steam. As Shamus Young says, "Six years after Steam claimed the entire New World of digital distribution, Microsoft is still fumbling around trying to figure out how to use the internet. If this was a game of Civilization, then Gabe Newell is working on stage three of his spaceship to Alpha Centauri, and Bill Gates has just showed up to attack him with a catapult and a spearman."

The more observant of you may have noticed that I mentioned I purchased and downloaded this game through Steam. Since GFWL is merely a competitor to Steam, offering essentially the same service, why would I need to use GFWL to play the game? Isn't this a bit like buying your groceries from Albertsons, then having to activate them at Vons before using them? Yes. Yes it is.

Let me fill you in on how the process of installing and playing Arkham City.

  1. Download the game from Steam. (Note that Steam, itself, acts as copy protection, since the game is locked to your Steam account, which can only be logged into on one computer at a time).
  2. Copy the CD Key to the clipboard, which Steam readily supplies you. The CD Key is a 20-digit alphanumeric code (OK, why do I need a CD Key? There is no physical CD. And these things are used for copy protection, which... Steam.)
  3. Use SecuROM (?) to enter your CD Key and activate (??) the game online (???). For those not in the know, SecuROM is a program which Sony claims is not a rootkit, designed to prevent copying/pirating of a software product. It works by running a background process on your computer that scans for any other processes that may be used to examine source code as it is run. If it detects a process which it thinks is trying to copy or reverse engineer the program, it will prevent the game from running. It does have a false-positive rate, and is known to prevent game execution when certain legitimate tools are used, like debuggers, disk drive emulators, or SysInternal's Process Explorer. It also does not work if you have certain brands of optical drive. In SecuROM's more nefarious incarnations (which is what Arkham City uses), it also requires online activation. You are limited to five activations, which means once you've installed the game on five computers, you cannot install it any more. It is copy protection a billion times more restrictive than Steam.
  4. The game will now actually run. Sign in to GFWL with your GFWL account. If you do not have a GFWL account, you must create one, or you will be unable to save your game. Once you have signed in, you will be required to enter your CD Key (again). This will lock your copy of Arkham City with your GFWL account. You will not be able to play the game with any other GFWL account. Kind of like (say it with me) Steam.
  5. GFWL will be, by definition, out of date. You must download and install the update to GFWL before playing. Downloading it requires a restart of the game, and if you're unlucky, the computer itself.
  6. You may now re-run the game and sign in to GFWL. You can now play the game.
So to count, we have three layers of copy protection, where the third is identical to the first, offering no additional security beyond it, and the second layer is so draconian that it drives people to pirate the game to avoid having to deal with it. You must jump through all three layers to play this game. Three layers which, ironically, haven't prevented any pirates from downloading the cracked version and playing the superior hoop-free product. It's like putting a solid steel bank vault door on a bamboo hut.

To explain how this works to those less game-savvy, let me illustrate by way of an analogy. You want to read a book. A company called Valve, which is known for its very good books, has created a system that allows you to buy and read books without going to a bookstore. You simply use your home teleporter to materialize a book from Valve's central library. Once you are done reading, you teleport your book back to the central library, which will remember what page you stopped reading at. You may also check out the book from the library and take it on the road with you, but you will be unable to check it out at any other location unless you first check it back in. This simultaneously allows you to read the book wherever you want, and prevents others from pirating and reading your books (since you can only check out one copy of your book at a time, and no one else can log in to your book account).

An author named Rocksteady has published a very good book called Batman: Arkham City, which you want to read. To do so, you must:
  1. Log in to Valve's central library, as you normally would, and teleport your copy of the book to your home.
  2. Along with the book, Valve will give you the combination to a pad lock.
  3. The book comes with a SecuBOOK branded padlock on it, which prevents the book from being opened. To open the padlock, you must use the combination provided. The combination provided will only open the padlock in five different rooms. If you try to open it in a sixth room, the combination will no longer work. So long as you always read in the same room, this shouldn't be a problem, but heaven help you if you like to read in different rooms, or move to a new house frequently. Also, the padlock contains a very advanced sensor that will attempt to detect if there is a photocopier in the room with you. If it detects one, then it will not allow you to open your book, although it sometimes confuses dishwashers for photocopiers.
  4. Once you have opened the padlock on the book, the pages of the book will remain blank, except the first page. You must read the first page to get to the second, the second to get to the third, and so on. If you ever close the book, all the pages will go blank again. If you would like all the pages to be visible every time you open the book, you must link the book with your account with Microsoft's central library. It does not matter that the book is coming from Valve's library, and not Microsoft's. It still must be registered with them. Now, Microsoft is not as sophisticated as Valve, and instead of using teleportation to deliver your book, they deliver books by strapping them to the backs of field mice and turning them loose. However, since you aren't getting your book from Microsoft, you don't need the field mouse to deliver it, but a Microsoft-approved field mouse will still need to verify the book, to make sure you are authorized to read it.
  5. The first time you open your book to read it, the Microsoft field mouse will inform you that it's not the right breed of field mouse, and that you need a more up-to-date field mouse to verify that you're entitled to read your book. Microsoft will happily send another field mouse your way, so long as you close the book and, potentially, take off your reading glasses.
  6. Once the new Microsoft field mouse has approved you, the pages of the book will remain visible after you read them, so you can close it, then re-open it and pick up where you left off. Although, due to a particular bug that sometimes infects these field mice, the pages may sometimes randomly all turn blank again, with no way of turning them back on without reading through them all again.
Now compare this to the version of the book you can get off the shady guy in a trenchcoat at the end of your block. The steps required to read his book are as follows:
  1. Ask the kind of creepy looking guy for a copy of the book. He will give you a perfect copy of the book for free, but all the pages will always be available, you can read it wherever you want, don't have to worry about having a teleporter available, or what room you are sitting in, or if there is a photocopier or a dishwasher nearby.
This gives us a hint at something publishers can do to help in their fight against pirates. This would be (are you listening, publishers?):
  1. Offer a superior product to the pirates.
So far, publishers are losing on this point. Badly.

Why any company would want to shackle their product so horribly with such an onerous system is incomprehensible to me. The only thing I can think of is that Microsoft must have driven one of their name brand dump-trucks-full-of-money to the publisher.

So anyways, that's my complaint with Arkham City generally. I haven't gotten to the problem specifically with how it failed for me.

After I jumped through all the hoops and got the game running, I noticed that it did not have any saved games. I checked with Steam, and it said it was synced with the cloud. I found a post on the Steam forum for the game that told how to locate the saved files, and I made sure that it was there. I actually found several threads detailing problems with Arkham City saves. It turns out that, randomly, GFWL will sometimes delete all your save games. Forever and all time. Woe unto you who had 99% of the game completed.

To check this wasn't the problem, I returned to my desktop and noted I still had my save game there. Another Steam forum thread said that sometimes the problem came because GFWL couldn't authenticate a save game. The save games are encrypted (???) and locked to your GFWL account (I guess so you don't share them with your friends?) which uses an authentication. The authentication is sometimes generated differently on different computers, so the save games may not be accessible on a different computer. The thread explained how to copy the GFWL folder (containing the authentication) from one computer to another. I tried this, and still no dice.

Let me describe the exact problem I was having in a little more detail. When I first started Arkham City, it would log in to my GFWL account, and I could open the GFWL dashboard. However, when I pressed the start button on the controller to play, it would ask me to log in again (?? This doesn't happen on my desktop). I would enter my log in details, it would sit for about 30 seconds, then tell me it couldn't log me in (despite that I was still logged in) and give me the "OK/Cancel" option, where OK would allow me to start a new game, which it assured me would not be saved, or Cancel, which asked me to log in again. No matter what I did, it would not allow me to log in, even though I already was.

Googling around brought me to a thread on the official Arkham City community forums that gave the final, actual solution. Are you ready for this?

The problem was that I was pressing Start on the wrong controller.

Seriously.

I have two wireless controllers for the PC, so Rie and I can play the Lego games together. One of them was assigned "controller 1" status, based on which USB port it was plugged into, and the other was assigned "controller 2" status. I was pressing start on "controller 2". There was no indication within the game which was controller 1 or 2. To find this information, you have to go to the Windows control panel.

I am told that, on an Xbox, your Xbox Live profile is associated with the controller. This is so if you are playing a game with a friend, he can use his profile with his controller, and have his achievements, gamer score, etc. saved to his profile. However, the more observant among you may notice:
  1. I am not playing on an Xbox, and
  2. Arkham City is a single-player game.
Apparently, they copy/pasted the Xbox Live code for the PC port, such that it was still associating profiles with controllers. Pressing start on the second controller meant I needed to log in with a profile for that controller. Since I was already logged in on my profile with controller 1, I could not log in again to play the game.

As I remarked to Rie once I figured out the issue here, the programmer responsible needs to be strung up by his testicles, to make an example of him.

Once I figured out the issue, I was able to successfully load my save games, and finish the game on the couch, with Rie able to watch. And it was good to enjoy it in full 1080p glory.

Some of you may be asking what this has to do with hardware problems and the Build from Hell. The answer is not much, other than to illustrate how the forces of fate have conspired against me such that even when all the hardware works perfectly, something else will come up to frustrate me.

2 Witless Retort(s):

  1. From what I have read on the internets recently, copy protection on PC games has gotten so bad lately that I don't want to mess them anymore. I read about one game (can't remember the name) that required a CONSTANT internet connection to play single-player, offline mode. That's right, you had to be online to play offline.

    The fatal flaw with SecuROM and other similar DRM schemes is what you've pointed out:
    1) they don't work (pirated copies of games are always available in less than a week after release), and
    2) they only cause problems for legal purchasers.

    Add to that the general terribleness of games that are ported from consoles to PC....

    As for the Xbox controller thing: on our Xbox 360 you create player profiles. When you play a game, your progress is saved to your player profile. If your game supports it, each player that plays in a game can log into their profile. For example, when Katie and I play Forza 4, it keeps track of achievements for each player separately. You sign into your profile from the controller, but the profiles are not stored ON the controller. You can use whichever one you like.

    Note that we don't have Xbox Live accounts, but according to thread, it actually works better on the Xbox than in your situation, so the programmers actually made it worse than the console version.

    The last two PC games I've bought are rFactor, which has a limited # of activations, based on hardware configuration, and Minecraft, which just requires that you log into the game while connected to the internet once, then you can play offline as long as you want (for single-player mode).

    I really want rFactor2, but I may not buy it due to DRM. The developer of Minecraft has promised to open-source the code once it's no longer in active development.

    ReplyDelete
  2. Assassin's Creed II was the game that broke news by requiring you to have a constant internet connection, despite having no multiplayer features. It pretended to be an MMO in the same sense that a car falling into a ravine briefly pretends to be an airplane. The DRM was eventually cracked on it.

    Diablo III will also have online-only single player. It is the way of the future. In an age when PC sales are falling farther and farther behind consoles, the publishers are trying their very hardest to make sure nobody buys PC games at all.

    ReplyDelete

All material on these pages is ©2003-2010 by Joe Belland, Dave Belland, Tom Adams, Cari Burud and/or Paul Harold except for the stuff that we blatantly stole from other sources. All rights reserved.