Wednesday, March 27, 2013

Welcome to the Next Gen™ (Same as the Last Gen, but better lit)

So footage for the next installment in the "Battlefield" series was posted today, and it's got a lot of people excited. For good reason too, it's gorgeous! Totally worth your time to watch the full 17min preview:

Much respect goes out to the engine developers and artists, those are some pretty pixels!

Too bad the gameplay doesn't look like it got a similar overhaul. This is basically the same game we've been playing since Call of Duty: Modern Warfare in a new coat of paint.

For starters the enemy AI looks pretty braindead. They can't seem to aim, don't notice people running around 3 feet behind them, tend to stand in open "scope-approved" places, and don't really move around much. Yawn.

But that's okay, because the real point of playing a game like this is to be shuffled from one tightly scripted, minimally interactive set piece to the next. Right? Of course at some point that stops becoming a game, and that's what's got me a little down.

It's very interesting that this preview starts out showing us the ending, then bounces back in time to show how we got there. Flashbacks can be a very effective literary technique, but in the context of a game it carries some unwelcome subtext: "Nothing you do over the next hour matters, because you will always end up right here." And why not? After all, the animators spent a lot of time on that scene, the artists custom built an "upside down car underwater set" just for the occasion, the script writers agonized about the precise placement of all those swear words to convey the appropriate panic with a "mature" feel. There was a lot of blood, sweat, and tears (and money) that went into that 5 minutes of barely interactive cutscene, it would be a tragedy if the players missed it!

And as a result no matter what you do you're going to end up upside down in a car underwater. You'll never be able to outrun that helicopter, you'll never be able to save Soldier 3's leg, never be able to successfully defend the pickup point, and never spare your helicopter support her untimely end. What you can do (the "interactive" part) is fail to live long enough to witness yourself failing to do all these things. Did someone order a side of fatalism with their escapist hobby?

Maybe it's just me, but I was hoping that the next generation of game consoles would let us get away from these kinds of on-rails experiences. And yes, maybe that would mean that some game designers would have to give up on their secret Hollywood aspirations, but I'd have a lot more fun with the end result. I'm not saying games can't have a well-written narrative, but I'd really like to play a more active role in shaping it. By all means, have the helicopter pilot radio in and say "Extraction point is that building, go!" And then let me figure out how to get there. Sure, throw the enemy chopper at me right before I escape. But rather than forcing me into some pre-scripted "hanging off the building" scene, let me ACTUALLY defend the building! Wouldn't be awesome to be ducking around that shell of a structure, desperately trying to get pot-shots off, while the helicopter systematically rips the building to shreds around you? And if I or my teammates die in the process, so be it. It will be far more meaningful to me if I knew I could have saved them, rather than knowing that they're doomed from the start.

And hey, go ahead and keep that whole underwater car thing in there! There's a decent chance I'll be forced off the road anyway while swerving to avoid the hellfire raining down above me. It would be extra cool to know that the developers planned for that and didn't just throw up a "game over" screen when the car hit the water. But let me actually escape sometimes too!

Emergent gameplay is a tricky thing, because by necessity it's not going to be nearly as consistently intense as a carefully curated experience (though our increasing technological capabilities allow it to be more interesting). The times where it all comes together just right, though, are the moments that we as gamers remember forever. Those are the moments that we post to YouTube and rave about in forums. Those are the moments we share with friends the next day with giddy excitement. Rather than "Hey, have you reached the helicopter scene yet?" "Yeah! That was awesome!", which is a great reaction in it's own right, it becomes something personal, but with just enough shared context that everyone can relate:

"Hey, so you know that helicopter scene? So get this, I'm trying to fight it back but right before I fire my RPG the building supports get shot out and the whole floor starts to topple over! My shot goes wide, and I'm trying not to fall while desks and boxes and stuff are sliding past me. Then the chopper swings back around and I think I'm toast, but the RPG that I fired earlier hit that smoke stack off to the side, and it fell down right on top of him right as he began to fire! I had 8 health left! It was incredible! And so then I..."


  1. Couldn't agree more. I really enjoyed watching the demo, but only as a short film, not as a game. I loved how open Battlefield 1942 and Battlefield 2 were. They've lost so much by trying to be just like Call of Duty.

  2. Didn't (at least one of) the Red Faction games manage to support exactly the kind of emergent gameplay in your last paragraph?

    1. I did, to a limited degree. As I recall you could blow holes in (most of) the walls, destroy bridges, etc. But I don't remember there being much in the way of physics, and damage was limited in kinda quirky ways. It was a cool start, but modern tech could push it much MUCH further!

  3. your point of view sounds like the original deus ex... i like the original deus ex for these very reasons... you are awesome :P

  4. Desaturated and lens flare is the old hotness. Good gamma correction and lighting is the new hotness.

  5. You said it all: I really miss when games were games, not B movies...

  6. Hey mate,
    Any possibility of adding inverse mouse to your Quake3 WebGL demo?

    Code is (replacing function moveLookLocked):

    // When i is pressed, toggle invert look.
    var lookInvert = 1;
    document.addEventListener("keydown", function(e) { e.keyCode == 73 && (lookInvert *= -1); }, true);
    function moveLookLocked(xDelta, yDelta) {
    yDelta *= lookInvert;
    zAngle += xDelta*0.0025;
    while (zAngle < 0)
    zAngle += Math.PI*2;
    while (zAngle >= Math.PI*2)
    zAngle -= Math.PI*2;

    xAngle += yDelta*0.0025;
    while (xAngle < -Math.PI*0.5)
    xAngle = -Math.PI*0.5;
    while (xAngle > Math.PI*0.5)
    xAngle = Math.PI*0.5;