Dane. Designer.

Old Blog

Some musings on the Half-Life 2 source code theft

Well I think that I can get away with postulating the leak of the Half-Life 2 code to be the second biggest blow to the gaming community this year. The largest being the initial announcement that Half-Life 2 was going to rock our worlds this Q4 2003. And due to the extreme blockbuster-nature of Half-Life 2 and the high expectations that are rampant throughout the gaming community this is a truely unique and to some extend devastating blow.

And as can be expected speculation is as abundant the number of people posting on forums around the world. A quick look at the Shacknews, Slashdot, Steam or halflife2.net (pick a thread, any thread!) threads will give you pretty much all the conceivable conspiracy theories. Much of it is yammer, whitenoise, but some of it is rather intelligent and some of it even downright thoughtful. And really, how often does a situation like this crop up?

Here are what we think we know so far ordered chronologicaly:

  • E3 in May: Valve steps up to the plate and unveils what can only be vaguely compared to the unveiling of DOOM some 8 years earlier. The world is blown away and I almost drown in my own drool (not pleasant at all I might add).
  • Around September 11th: Someone started accessing Gabe Newell’s mail account.
  • Right after September 11th: Gabe’s machine started acting weird, suspecious activity appeared on his webmail account and a keystroke logger – a custom RemoteAnywhere it would seem – was installed on several Valve machines. Apparently via a ‘buffer overflow’ problem in Outlook’s preview pane.
  • On September 19th: supposedly this same someone makes a copy of the HL2 source code.
  • September 30th: The original release date for HL2.
  • October 1st or 2nd: The sourcecode hits the net big time. As with similar earlier leaks, like the Quake 3 or Doom 3 leaks, the spread is pretty much instantanious and pretty much anyone should be capable of getting their hands on a copy.
  • October 3rd: Gabe Newell lets the world know that the leak is real and asks the community for help.
  • Probably mid-December: The new release date for Half-Life 2.

First of all I think most of us were somewhat surprised that HL2 ended up being delayed past its original September 30th release date, but sort of wrote it off as one of those things that just sort of happens (Duke Nukem Forever anyone?). But looking at the events it suddenly seems much more likely that the leak was discovered just before the 23rd. Thinking that the leak could do irepairal damage to Steam and Half-Life 2’s multiplayer components Valve, possibly in unison with Sierra their publisher, decides to push the release date to “a holiday release”. This gives them 2-2½ months to somehow try and make the damage minimal by changing the Steam code and possibly make some changes to the network code.

What exactly was leaked then?

  • No content: There are no levels, models, textures or sounds in the leak. It’s just source code.
  • Vital files missing: I haven’t myself looked through the files as I have no interest in them (hey, I wouldn’t understand them if I tried!), but from what I understand vital files are missing and actually compiling the bastard is not possible.
  • Various odd code snippets: People have reported that they have found code from the first Half-Life as well as Team Fortress 2 – which is a surprise as I think most of us had written it off as dead.

So what trouble is likely to come of this leak?

  • Cheating: Pretty much all multiplayer games are marred by rampant cheating. Aimbots, transparent walls, model replacements and so on and so forth. I don’t personally believe that it’s possible to build a system that will be bulletproof, but nonetheless the knowledge that cheats can be devised before the game
  • Plagarism: While no companies can or are likely to try to release a game with the Source engine without paying Valve for the rights, Source is still the most important engine out there. Especially if it holds up to the high standards set by Half-Life’s Quake 1 ‘conversion’. A lot of their technology and knowledge is already available through various whitepapers, but nonetheless I’m sure a lot of things can be derived from how the Source engine, which is 5 years under way, has been put together.
  • Trojan’ing up Steam: Let’s hope it’s not possible for malicious hackers to piggyback ride into client machines through Steam.

Though not all the things that are to come from this are likely to be bad:

  • Steam: The Steam delivery system is an odd thing really. On one hand it will make updates and games easily available, and on the other hand it’s the core of the HL2 anti-pirating scheme. From what I know (not having the final copy of HL2 in my lap this can just as false as any other speculation, though evidence might exist) HL2 will discard the old CD-check in favor of a Steam-check instead, requiring you to be online for you to play the game. Honestly this sounds as stupid as Microsofts activation for Windows XP or Intel’s brilliant unique processor ID, but if it is true then the leak might spawn anti-measures against what I think is yet another layer between the user and his product.
  • Cheat-protection & engine improvements: Communities have before bred amazing things, like for instance the Falcon 4 leak. Or have a look at what the community is doing with the Quake and Quake II codebases (I merely have to mention Tenebrae really). And perhaps this leak can make the community an active asset in minimizing the damage caused by cheaters.
  • Hammer: From what I understand the complete source code for Hammer (level editor) is present. And if that’s the case, and it compiles and everything, this is absolutely fantastic news! GtkRadiant and Ydnar’s Q3Map (google it) are examples of what the community can accomplish with the sourcecode in their hands. Their combined effort has lead to what is probably the coolest editor and level compiler ever.

All in all however I doubt the positive effects will outweight the negative. If indeed the delay of HL2 was caused by this then the financial damages are already causing Valve (and Sierra, but I could care less about that) and their shareholders harm. This in turn might lead to all kinds of problems in the future for Valve.

And when you’re planning on becoming the new superpower in terms of gaming engines it must be like a crowbar to the back of the head to see your child out there for all the scr1p7-k1dd13s to devour as they see fit. The code however is ‘old’ and with Valve in hardcore crunch mode it’s likely to already have changed considerably.

I doubt this’ll hurt HL2 sales much in the long run, but their 2003 Q4 might not look as economically great as they had originally envisioned (and deserved I gather) if they could’ve sticked to their original release date.

I would love to be a fly on the wall in Gabe’s office these days!