Episode 2 Fixed

By Shamus
on Nov 22, 2007
Filed under:
Video Games

As a follow-up to yesterday’s ranting about Steam breaking my game: They fixed it last night. Whew. I was going to be quite angry if I had to go through my day off without access to my game. Sigh. I’ll probably never get used to the Jeckyl & Hyde face of Valve.

How the bug happened is somewhat interesting. They didn’t actually make any Episode 2 – specific changes. Instead, they patched the Source engine itself to fix problems with Team Fortress 2, which I don’t even own. I guess all these games share a single codebase of Source, and not forked variants. (It’s very annoying that they named their graphics engine “Source”. That’s like naming a car “Engine”, or “Design”. When you want to talk about the design of the Design it gets to be confusing.) What I’m not clear on is if the games all share a single version of Source on the user’s computer, or if they simply make it a practice to keep all the versions of Source identical.

This is an interesting approach, and I can see it would have many advantages from a development and support standpoint, although it also leads naturally to the problems I witnessed yesterday. As the number of Source-based games proliferates, problems like this will be harder to avoid. Making many divergent games share a single common engine leads naturally to cruft, since all new versions of the engine must be fully backwards compatible with the old games. At first this is easy, but as graphics technology changes and rendering paths change in nature the thing will naturally become more convoluted. It happens slowly over time, but eventually battling cruft can consume a very large percentage of development costs. The further back you want to go, the harder it is to have one set of code that can serve both the old and new purposes. This I know from experience.

Certainly the folks at Valve know this. Eventually the benefits of having an all-things-to-all-platforms engine will be overshadowed by the disadvantages of maintaining that system. They will probably fork the project at that point and make – I dunno – “Source Engine 2” or somesuch. I would guess that they would take this step when they begin work on Half Life 3. That would be a logical point to do it, and would let them start with a clean slate and not worry about breaking stuff in a four year old game with every change they make.

I still wish they would do more Episodes, though. I’d rather a ten hour game every eighteen months as opposed to a twenty-five hour game every four years. I could care less if the engine gets a little stale in the process. The thing still looks fantastic to me.

In the meantime, I’m going to take another try at getting Steam to always run in offline mode to keep this from happening again. I’m glad they fixed it quickly, but it would have saved me a lot of hassle if it hadn’t happened at all.

UPDATE: As Ian points out below, it looks like they forked the Source source this year. There is a directory for original Source, and one for Source 2007. That seems like a pretty good approach to me. They can create distinct “generations” of Source games that share a common engine, but not worry about accumulating too much cruft.

Enjoyed this post? Please share!



20121 comments. Blackjack!

From the Archives:

  1. Ian says:

    Funny you should mention that; from the look of it they already released a “Source 2” of sorts.

    After I purchased the Orange Box I took a look at my Steam game cache and found two distinct packages — Source and Source 2007. It’s pretty safe to assume that the later edition is used for the Orange Box and newer games while the normal edition is used for the older stuff.

    …unless, of course, they updated all games to use Source 2007 and neglected to clean up. That would make me sad.

  2. straechav says:

    Actually, I think they diverged it at Episode One (I think). I don’t have any hard data to back me up at this point, but I have seen plenty of mods for Half Life mention something in the effect of “Source Base Engine 2”. It’s still same engine, I suppose, but I understand there’s some differences. For example my bet would be that, if there’s an update for Episode One & Two that will f*ck those games up, it won’t affect Half Life 2, which uses the old base engine.

    This is my impression, and definitely not backed by any hard data. I’ll see if I can find anything related to this. Too bad I am not a modder for Source.

  3. Primogenitor says:

    IIRC from a valve interview (or commentary track), the episodes ARE half-life 3.

    HL:EP2 rewrote the particle system which makes a big change (look at blood splatters for example). Therefore I believe Portal, TF2, and EP2 (and EP3) use the newer version, and HL2 & EP1 use the older version.

  4. Quadir says:

    From what I understand, they forked the engine when they dropped support for the lowest DirectX levels that they were still supporting when Half-Life2 originally came out.

    Because of the hardware survey through steam they knew exacly how many people still ran said systems and what dropping it would mean. It sounds like they forked the engine when they did it so at least those people wouldn’t have to upgrade to keep playing.

    It’s interesting you saying “it still looks great”. Valve has release a huge number of graphical upgrades since half-life2 shipped, and applied it retroactively. Since you’re just now playing through this stuff, it looks good because it is recent, not old. Episodic and Steam let them release small graphical upgrades chunks at a time over the course of development, like HDR.

  5. straechav says:

    Actually, HDR doesn’t have any (AFAIK) effect on the original Half Life 2 because it requires developer input in the maps. You can’t just slap it on. So HL2 is still without HDR, whereas EP1 and EP2 have it. In fact, after playing HL2 and then playing EP1 I actually went “Whoah!” at how much better it looked, yet looking same. EP2 looks even better, it’s still undeniably that Half-Life look, but just better.

  6. Shamus says:

    Quadir: I know they have been tweaking a lot of little things in the Episodes. I guess I should have made it more clear: Original HL2 still looks great, (to me) even without HDR (which I can’t use on my system) and some of the new lighting tricks.

    If they keep up with these baby-step improvements I’ll be happy. I’m just worried they will vanish for another 4 years to write a whole new engine. The only reason I’m worried about this is that I head that Episode 3 will be the last, at which point I assume they will try to make another quantum leap forward.

    It’s just conjecture on my part. I keep hoping they will keep the regular episodes coming.

  7. Andre (xero) says:

    Shamus, I’m glad you’re feeling a little better about all this. I can understand your frustration at not being able to play the game on your day off (and when I say I can understand, I mean that I experienced much the same thing myself before), but I think you overreacted quite a bit yesterday. The automatic update feature is part and parcel of the Steam distribution method. It’s inseparable from this new dynamic in gaming. You’re approaching all of this from a point of reluctancy, and your rant yesterday made it seem as though every time you hit a snag, you’re going to jump up, point the finger at Steam and shout “SEE, I TOLD YOU THIS WAS A BAD IDEA!”

    What happened yesterday exhibits both a drawback and a strength to Steam and the distribution method it engenders: yes, an update was released that broke the game for a number of people. That was an unforeseen consequence, as I’m sure it was meant to address a problem that other players were having. Unlike other big developers (Bethesda, for example), Valve had the benefit of Steam in place to quickly fix the problem… again, automatically. They didn’t sit on their collective arses for months before thinking about working on getting around to looking at the problem.

    Bugs happen in games. What’s important to me is how the developers and publishers address said bugs. In my opinion, Valve has handled this bug (and all others I’ve experienced or read about) perfectly.

  8. Andre (xero) says:

    Also, I’m getting an ad for “bestringtones4you.com”. Ugh.

  9. Andre (xero) says:

    and now “www.godstilllovesus.org”

    Google is really butchering your ads lately.

  10. Shamus says:

    Andre: I stand by what I said yesterday. I don’t want anyone changing the software on my system without asking first, and if they do I want to know what they did. If Steam was just nice enough to be polite about this there wouldn’t have been a problem.

    This isn’t a problem with the IDEA of steam, it’s a problem that they refuse to respect the user. All I need is a little flag by the game’s icon: “Hey! There is an update available. Here is what it does. You want it?”

    That’s all I need. It’s a fundamental but important difference.

  11. Shamus says:

    Thanks for the info on the ads, too!

  12. Ian says:

    Sweet, I got a mention in a Twenty Sided entry. :)

    As far as Steam goes, it would be a lot better if they at least allowed some way to roll back should something fail. I didn’t get to see the Episode 2 issue first-hand (partly because I didn’t even play through Episode 1 yet, haha) but I did have a similar experience before. An update to the Source engine caused Garry’s mod to stop working, so I was essentially unable to play a mod that I’d purchased for several days while the problem was worked out. Not a life or death situation, but definitely annoying when you want to sit back, relax, and put together idiotic contraptions.

    It’s also an annoyance waiting for the game to update when you just want to sit down and play. It’s one thing to require people who wish to play multiplayer games to update (for obvious reasons) but when I want to just sit down and play a game of Portal, I don’t want to wait three minutes for my games to update before I can start it.

    That said, Steam has improved considerably since HL2’s launch.

  13. Gahaz says:

    On another note….

    They have said that Ep:3 will be the end of the Gordon story arc. What in the world will they use after that? Without Gordon there is no Half Life. Maybe an original IP is in the works, that would be one heck of a surprise but it seems like they would want to. Can’t be fun from a coder’s point of view, or designer, to go to work every day for so long with HL and Gordon staring them in the face. Sure the moneys good, but seems like they would eventually want to do something new.

  14. Alex Ponebshek says:

    The same problem of backwards compatibility can be seen clearly with a lot of open-source libraries. There are improvement updates and then there are compatibility breaking major version updates. Package managers will make sure you have installed the major versions needed for the software you have. I’m glad to see valve is doing the same thing (although this by no means means I like steam, of course).

  15. RodeoClown says:

    Shamus,
    if you right click on a game in Steam, and then select ‘properties’, in the Updates tab you can choose to not have the game automatically updated.

    This is great for people like you and me, who like to know what is being done to their system (although if you stop multiplayer games updating, don’t complain when you can’t join someone else’s game :)). I guess they have set the default for the lowest common denominator though – it makes sense for the average game playing guy, who doesn’t understand how his system works, to just have his game fixed up for him (or her) without any manual adjustments.

  16. ArchU says:

    Groovy. Glad it works.

    Interesting if they can continue to do forking engine updates dynamically (I shall dub this term FEUD!). It’d be an outstanding design achievement for futureproofing games and other applications.

  17. RPharazon says:

    Just a bit picky here, but Valve said that Ep1, Ep2, and Ep3 should be considered Half-Life 3.

    That’d be kind of weird for the general audience.
    HL1, HL2, HL2: Episode X, HL4.
    If they do make a HL4.

  18. Chris Arndt says:

    I’ll just not buy Half-Life 2 then.

    I’ll stick with my Half-Life Platinum Collection and stop there. No way I am screwing around with this shite.

  19. Arndt says:

    Okay… the Orange Box is 15 bucks at my Circuit City.

    There is seven copies left.

    What now?

  20. Arndt says:

    I bought one of the last five or so for 15 bucks.

    That makes it… three dollars per game.

  21. Blue_Pie_Ninja says:

    Here in the future, Valve has finally released Source Engine 2, which is a massive improvement on the Source Engine to meet current standards!

    HALF-LIFE 3 CONFIRMED!!!

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *

*
*

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>