Archive for the 'FPS' Category


Strife: Rising Action

There’s a pattern you can see in a lot of games of a sort of repeated crescendo of rising action. Each chapter builds up to a boss fight, and when it’s over, a relatively subdued segment allows you to catch your breath. So it is in Strife.

The chapters in this case don’t correspond directly to levels. Rather, a new chapter introduces a new hub area, where you can shop for equipment and wander unmolested as long as you don’t shoot anything. Somewhere off the hub is a boss fight that is your objective for the chapter, but it’s inaccessible until you complete a sub-goal or two in other areas, some of which are what I’ve been thinking of as stealth missions.

Please understand that I use the word “stealth” here in a very broad sense. This isn’t Thief we’re talking about here. I mean missions in which the regular guards (or Acolytes of the Order, as they’re called) won’t attack you on sight, but which contain either alarmed areas, or creatures that will attack you, prompting you to attack back and trigger an alarm by shooting. Triggering an alarm eventually is inevitable, but you can try to put it off for as long as possible, and lessen the alarm’s effect by killing Acolytes in advance: the crossbow, when loaded with poison bolts, kills them instantly, and is the one weapon that doesn’t raise an alarm. (It’s completely ineffective on anything mechanical, of course, which includes pretty much everything other than Acolytes and innocent bystanders.) When you’re firing the crossbow through a window into an alarmed area that you’re going to go through later, this can feel very much like a stealth game. On the other hand, when you walk right up to a guard and shoot him point-blank in full view of a bunch of other guards who just stand there and watch, it just feels like you’re taking unfair advantage of a gameplay mechanic that wasn’t thought out very well.

After stealth mode comes Doom mode. The monsters become tougher and/or more numerous, especially as you near the boss, and you bring out your heavier weapons. The idea here is, I suppose, to soften you up — to make sure that you don’t enter into the boss fight in peak condition. Strangely, this is probably helps the player overall, because it means that the boss is calibrated to provide a challenge for a hurt player with depleted ammo, and thus skillful play beforehand can put you ahead of the curve. I’m comparing this in my mind to the endless boss fights in Serious Sam, which were generally preceded by a roomful of supplies and even spawned more supplies during the fight, just to extend the experience.

Since the binding goal of the game is to collect the five pieces of the Sigil, you’d probably think that each piece comes at the end of a chapter of the sort I’ve just described. And that’s more or less the case, except for two, which are pretty much outside the chapter structure. After you obtain the first piece, Macil sends you to find an Oracle who will help you get the rest. The Oracle tells you how to get one more piece, then tells you that Macil has the next piece and that you should kill him. This is a major branch in the plot: you can choose to trust the Oracle, or you can choose to trust Macil. In fact, they both have pieces of the Sigil, but killing them both immediately seems to break the plot. At any rate, they’re both located in places you’ve already been to by that point, so there’s no ramping up of the action just to reach them.

Macil’s death was something of a disappointment. When you kill him, he emits a Spectre, a cloud-like entity that can only be hurt by the Sigil, and the entire resistance movement immediately realizes the truth: Macil was an agent of the Order all along, and was betraying them. This is an unnecessary development, unless you want your morally-tricky world, with its lesser-of-two-evils allies, to resolve into simple black-and-white. Which is what happens. With Macil’s corrupting influence purged, his second-in-command takes control of the Front, and suddenly they’re just good guys. I suppose I shouldn’t have expected otherwise.

Strife: Accidental Exploit

Monsters in Doom generally start the game in a dormant state. Only when you make them aware of your presence — by walking where they can see you, or firing a weapon where they can hear you — do they start moving around and attacking. The saved games apparently don’t record information about which monsters are dormant and which are active. When you reload a saved game, all monsters reset to dormant. It’s sometimes possible to exploit this to make the game easier, but this is obviously cheap.

Now, for all I know, Strife may not share this bug. Or perhaps it did originally, but not when played under ZDoom. But maybe it does. I haven’t been exploiting it deliberately, but there’s a section where I might have triggered it accidentally. I’m just not sure.

It’s harder to tell in Strife because the rules are more complicated. If I sneak into a high-security area wearing an enemy uniform, I can generally walk past the guards unnoticed. Eventually, I encounter something that isn’t fooled by the disguise. If I fight it, save the game, die, restore, and walk past the same guards again, I don’t know for sure if they’re still docile due to the bug or if it’s just because they never got woken up.

Strife: Doom Engine

[Update: Looks like a lot of what I say in this post is false. See the comments.]

Strife is the only game on my stack that uses the Doom engine, so let’s talk a little about what that means.

Back in 1994, I spent a few months working for one of Id Software’s competitors, Looking Glass Technologies, working on their texture-mapping routines. Given the coordinates of a polygon and their corresponding positions in a texture image, we had to render the the texture onto the polygon in perspective as fast as possible. These days, this sort of operation would be handled in hardware and abstracted through a library like Direct3D or OpenGL, but we didn’t have those things. Instead, we wrote highly-optimized code to loop over the polygon, scanline by scanline, find the appropriate point in the texture, and copy the pixel color over.

Overdraw was our nemesis: each polygon was expensive enough to render that it was a big waste whenever we rendered a polygon that was covered up by something else. Even when a polygon was only partly covered-up, it was worthwhile to try to figure out how much of it was visible and only render that part.

Sometime in the middle of all this, Doom was released. It was clear that it didn’t have all the capabilities of our library — we were rendering polygons in perspective at arbitrary angles, while Doom seemed to be only capable of horizontal and vertical surfaces, and could only rotate the camera about a vertical axis (no tilting up or down). But it was really fast. Faster, in fact, than could be entirely explained by the simplification made possible by using only horizontal and vertical surfaces. Add to this the complication that they were using highly irregular map layouts: instead of using a grid of map tiles, like Wolfenstein 3D or Ultima Underworld or System Shock, the map was a collection of walls of arbitrary length at arbitrary angles, which more or less defeats the means we had been using to eliminate overdraw.

By now, the secrets are well known. They had in fact managed to completely eliminate overdraw through a single stroke of genius: they didn’t render polygons at all. They rendered the entire scene at once, in vertical scanlines. For each horizontal position, the engine goes pixel by pixel, rendering ceiling until it hits wall, then rendering wall until it hits floor. I’m glossing over a lot of details, but that’s the essence of the Doom engine right there.

This has a couple of consequences. For one thing, it’s basically impossible for a Doom-engine game to take advantage of modern 3D hardware, because modern 3D hardware is all about rendering polygons. I can imagine someone making a Direct3D version of System Shock by taking the source code and remapping all the graphics functions to Direct3D equivalents. It might not be a perfect fit, but I imagine it would be doable with a little massaging. But there’s basically nothing in the Doom engine that even vaguely resembles a Direct3D call.

Second, the fact that the view was always horizontal in Doom wasn’t just a matter of the programmers not bothering to implement it, as with jumping and crouching. It is in principle impossible for the Doom engine to tilt the camera, because that would ruin the vertical scanlines — suddenly you’d have them intersecing the edges of walls and so forth.

strife-distortionAnd yet, Strife allows the player to look up and down. It manages this by cheating: instead of tilting the camera up, all it really does is render a higher-up slice of the same horizontal view. This isn’t quite the same thing as moving the camera upward. Rather, it’s an unnaturally distorted view, more like what you’d get by taking a photograph with the camera tilted and then looking at the photograph at an oblique angle, or something like that. (I’ll try to find or make some illustrations explaining this better.)

It’s easy to interpret this distortion as mere perspective, though, unless you’re really close to something, which makes it more noticable.

Strife: After the Programmer

With the defeat of the Programmer (is that like the Death of the Author?), I obtained the device he was using to call down those nasty lightning bolts, like Megaman wresting new attacks from his fallen foes. It drains my health when I use it, so I’m not sure whether it’s ever actually worth using — perhaps if I found myself short on ammo and long on healing items. I can only assume that the Programmer had it rigged so that when he used it, it drained someone else’s health instead.

And with this, the game’s overarching goals appear, and start to give the game a structure. It seems this device is just one piece of a five-part megaweapon called the Sigil. Macil, the rebel leader, has tasked me with finding the other pieces, supposedly to keep them out of the Order’s hands. Thing is, putting them in the rebels’ hands might not be much better. Talking to Macil and his troops (the Front, as they call themselves), it’s pretty clear that getting rid of the Order is just phase one of his master plan for world domination. They’ve already gone and moved their headquarters into the castle we just stormed, and are all set to lord it over the commoners like its last occupants. There are supposedly three endings to the game, so I assume that I’ll be called upon to make a decision about what happens to the Front at some point.

Now, even though this is the point at which the overplot kicks off, I’m also noticing the game becoming more and more FPS-ish. The first several missions were rather amenable to combat-light play, with lots of avoidable alarms and guards you could simply outrun rather than engage, and they were relatively short, which meant I returned to the hub to interact with NPCs, shop for equipment, and otherwise engage in non-Doom-like behavior fairly frequently. Now that the missions are longer and the enemies are tougher and more numerous, it all feels much more like a traditional FPS, and that’s affecting how I play. In an RPG-like environment, you typically don’t have the option of pursuing every opportunity: everything you decide means something decided against. So as long as the gameplay felt more or less like a RPG, I didn’t feel like I had to explore every avenue, kill every monster, find every secret. (There aren’t a lot of secrets in the game that are officially counted as such, but there are a lot of hidden caches of equipment.) But once it feels more like a FPS, my sense of completism takes hold. There’s a cave you go through that has two paths through it, one guarded by lots of enemies, the other involving tricky jumps on small platforms. Even when I had finished what I had come to the cave to do, I had to go back and try the other route.

Strife: Graphics

strife-pipesStrife is of course crude by modern standards, coarsely pixellated, made of broad, flat surfaces and low-res bitmaps. One of the first things you see in the game is a bunch of sewage pipes with perfectly square cross-sections, with a texture map that tries and fails to make them look round.

The game plays at a default resolution of 640×480, which is the maximum resolution in the original engine. ZDoom gives you the option of higer resolution, but I haven’t been taking advantage of it — in fact, until I checked for the purpose of this post, the sense of smoothness you get from a higher framerate had me convinced that it was in a higher resolution already. One of those tricks of visual perception, I suppose: once the flow of new data to the brain reaches a certain threshhold, the brain finds it a lot easier to interpolate details that aren’t there. So it lets you interpret the environment with less strain, which helps in unexpected ways. In some places there are doorways with a pale green border, indicating that crossing this threshhold will trigger an alarm and make the guards start shooting you. I don’t remember noticing this mechanism the last time I tried playing, but it seems very clear now, and I think this is mostly because the green border looks better-defined.

Still, the texture maps are coarse no matter how clearly you perceive them, and the enemies and other bitmap objects are even worse. Doom, it strikes me, got away with this better because most of the bitmap objects there were monsters, and for the most part you viewed them from a distance, or tried to. In Strife, you’ve got NPCs, as well as ornamentation like candles set on tables in the tavern — things you see close up and blocky.

But you know something? It still works.

strife-programmerI’ve just got through my first major boss battle, against an entity called the Programmer, one of the key figures in the Order’s hierarchy. He flies around on a little flying saucer with spikes on it and calls down small lightning storms that hurt a lot. He’s small enough and fast enough that you can easily lose track of where he is, and if you ever stop moving for even a second, he will kill you. It’s a very adrenaline-surge-inducing fight, and while it was going on, I absolutely did not care about the blockiness of the graphics. The graphics did their job.

Strife

strife-outdoorsDenied the opportunity to continue with Half-Life 2 Episode 1, I found myself still craving some FPS action. This seemed like as good a time as any to bring out the oldest FPS on the Stack. Released in 1996, Strife was one of the earlier attempts at making a FPS that was more than just a FPS, like Deus Ex four years early. It’s the only game I know that uses the Doom engine for something resembling a RPG: it’s got non-combatant characters with conversation trees, stores where you can buy equipment, even a couple of upgradable character stats (maximum health and shot accuracy). (All of which Ultima Underworld had in 1992, but that didn’t use the Doom engine.) It has a stealth component, with alarms that you can try to avoid setting off. And it’s got a story. Not just a premise that gives you an excuse to shoot stuff, but a story that you interact with and which, to some extent, you influence with your decisions.

That story is, however, pretty comic-bookish. It’s the story of a medieval-looking city taken over by evil cultists with anachronistic technology. The Order (as they call themselves) have achieved their dominance by obeying the voices they started hearing in their heads after a nearby meteorite strike. This sounds like a job for the Meteor Police from Maniac Mansion, but since they’re not around, expelling the Order is left to an underground rebel group that the player joins shortly after the start of the game.

This game is old enough that I had some difficulty getting it working. Setting the executable to use Windows 95 Compatibility Mode got it to stop hanging up my machine, but there was no sound, and sound is actually pretty important in this game — sometimes you get audio-only messages from your contact in the rebel alliance. Even when I set it up with the right IRQ for soundblaster compatibility, the sounds were distorted by micro-pauses. Running it under VDMSound seemed to undo the effect of Compatibility Mode. DOSBox got the sound and music working, but trashed the framerate, unless I turned up the emulation speed a lot, at which point it started becoming unresponsive to the keyboard. Eventually I discovered ZDoom, a very nice modern re-implementation of the Doom engine that’s completely compatible with Windows XP and supports Strife‘s data files. Playing under ZDoom isn’t a perfect replication of the original Strife experience: you lose the ability to examine inventory items, the sound clips on exiting the game don’t play, and a few other minor details assume their Doom defaults rather than their Strife customizations. But it’s a lot closer to the intended experience than I was getting by any other means.

Half-Life 2, Episode 1

hl2e1-alyxAfter playing episodic adventure games, it seems only fair that I follow up with the noble failure of the episodic FPS. The confusingly-titled Half-Life 2, Episode 1 has of course been on the Stack since I purchased the Orange Box, and for stack purposes I’m counting it as a separate title.

The episode begins with an intro sequence that essentially says “never mind” to Half-Life 2‘s epilogue and puts you right back into the situation you were in at the end of the final boss battle. Alyx Vance, sidekick and presumed love interest, seems to be a more or less constant companion this time around, and the designers put some effort into coming up with gameplay that takes advantage of her. In one segment, you’re attacked by alien bugs, which can be killed most efficiently by flipping them over on their backs with the gravity gun and letting Alyx shoot them while they’re helpless. Before that are a few scenes in darkness with lots of zombies. You have a flashlight built into your hazard suit, but limited ammo. Alyx has a different gun than you and loads of ammo for it, but no flashlight. So you spend most of that part just shining your light on things for Alyx to shoot. (In restrospect, it would have been simpler to trade guns, but I can’t blame Alyx and Gordon for not thinking of that, seeing how I didn’t.)

These things remind me of using the pheropod to send antlions after enemies in Half-Life 2. Although this is a shooter, you’re not always doing the shooting yourself. Sometimes you’re just directing it.

Another thing that reminds me of the pheropods: If you catch a rollermine with the gravity gun, Alyx can hack it to attack the enemy. This is the sort of thing she’s been doing all along, really — there were scenes in Half-Life 2 where she pulls similar tricks on automated gun turrets — but rollermines are mobile, and seek out things to attack, which makes them seem more like monsters than weapons. So this seems like an extension of a theme I noted before, the enemies switching sides 1One example of this I failed to note in my previous post: Dr. Kleiner has a defanged headcrab that he keeps as a pet., except this time applied to something purely mechanical.

At any rate, it looks like I’ve gotten as far as I can get in this episode for the moment. From near the beginning, it has sometimes crashed to the desktop when it loads a new area, and now I’ve reached a point where this happens consistently. The worst part is that it crashes slowly. It’ll spend a minute or so with the word “Loading” on the screen, and I won’t know whether it’s actually loading or crashed. Then the screen will go black for a minute, and then, even when the desktop comes up, it’ll be another minute before it actually displays a dialog box with an error message in it. Upgrading my display drivers has not helped, so it’s time to hit the support forums. The slowness is the sort of thing I associate with running out of memory, so maybe slapping another gigabyte into the machine would fix it, but I’d like some confirmation of this before I pony up the dough.

   [ + ]

1. One example of this I failed to note in my previous post: Dr. Kleiner has a defanged headcrab that he keeps as a pet.

Half-Life 2: Ending

hl2-factoryThe original Half-Life memorably begins as a literal “game on rails”, with the player confined 1Actually, you can get out while the car is in motion if you really want to. You just die immediately. to a train car as it passes by various scenes you’ll encounter later in the game. It’s essentially a cross between a theme park ride and machinima.

The equivalent scene in Half-Life 2 comes toward the end, when Gordon rides around the invaders’ cavernous citadel in a coffin-like restraint hanging from a network of rails, a device seen earlier hauling prisoners around. Where the Half-Life train was a vehicle of foreshadowing, this is one of recapitulation and recontextualization, as you’re shown the things you’ve been fighting against — the gunships and tripod robots and cyborgs (for that’s what the Combine soldiers are, as the player certainly suspects by this point) — as mass-produced components of a vast, inhuman war machine that Hitler could only dream of.

It would be daunting to stand alone against all this if it weren’t for the fact that you know the game is ending soon and all you really have to stand against is a final puzzle-boss. The game powers you up for the last few battles, doubling your maximum “energy” (armor) and granting you a last-minute Ulitmate Weapon, after destroying all your other weapons to make sure you use only the Ultimate one.

The crazy thing is that the Ultimate Weapon is a powered-up Gravity Gun. The Gravity Gun is one of three special-purpose weapons in the game, the other two being the Pheropod that controls the bugs, and the rocket launcher. (A rocket launcher may not sound like a special weapon — it’s part of the Doom-standard arsenal, after all — but Half-Life 2 turns it into a special weapon by (a) only letting you carry three rockets at a time and (b) providing enemies that can only be killed by hitting them with more than three rockets. Thus, it’s not so much a weapon as a device the designers use to make you run around looking for ammo while getting shot at.) The Gravity Gun’s merits are basically that it can thump headcrabs at a slightly greater range than the crowbar, and that you can throw it into reverse to attract objects. The latter function is much more useful than the former: throughout the game, one can use it to pick up supply boxes lodged in unsafe or inaccessible spots, and there are specific scenes where you can use it to do things like pull the plug out of a force field generator while on the wrong side of the force field. In short, it’s more tool than weapon, and appropriately goes under the same hotkey as the crowbar. It’s a clear precursor of the Portal Gun in both its non-combat utility and its three-flanged design. But after receiving a shot of alien mojo, it becomes capable of hurling enemy soldiers about like rag dolls.

I talk about “aliens”, but the game is oddly non-specific about what the “benefactors” are. You see lots of clearly alien technology, but you never see what’s behind it. There are aliens, sure, but the only ones you see are mere animals (like the headcrabs and antlions) or on your side (like the Vortigaunts). The ultimate enemy in the game is not one of the invaders, but just their quisling, Dr. Breen. Breen is a transhumanist apologist for alien atrocities who seems to have bartered control of Earth for protection against the creatures unleashed back in the first game. Breen is also a personal acquantance of Gordon from Black Mesa. Towards the end, it’s mentioned that Breen was an administrator there. This makes so much sense.

Breen is also the only other character who hints that he knows about the enigmatic G-man, the Agent Smith-esque prime mover behind all the events of the series (it’s implied that he supplied the “anomalous materials” that Black Mesa was conducting research on, which would explain how he met Breen). Occasionally throughout the games, the G-man can be seen watching you from inaccessible locations, as if checking up on your progress, and in the ending of Half-Life, he offers you employment, although if you refuse his offer, you simply die alone in an alien world. Half-Life 2 apparently begins with the G-man waking up Gordon and re-inserting him into normal time, and ends with him freezing time to remove Gordon until he’s useful again. Even within his role in the game, he almost seems meta, which makes Breen’s knowledge of him seem a little Metal Gear Solid-ish. I saw an article somewhere arguing that the G-man is the personification of Valve Software: he sets everything up, he’s omnipresent within the game, he takes you away from the Half-Life world for years at a time between scenarios, and he offers you a mere illusion of choice — something he acknowledges outright in the ending scene of Half-Life 2. The Vortigaunts call Gordon “The One Free Man”, which is supremely ironic, given both the gameplay and the story. On the other hand, he’s also the one character in the game who isn’t controlled by a computer.

   [ + ]

1. Actually, you can get out while the car is in motion if you really want to. You just die immediately.

Half-Life 2: Level Transitions

If there’s one thing the Half-Life games do well, it’s keep the player playing. Partly they do this by keeping the gameplay varied, following up an intense firefight with a puzzle area, or a tunnel crawl where headcrabs leap at you from close up with a rooftop scene where you have to take down a flying gunship by means of steerable missiles.

More insidiously, though, they keep you playing by simply never giving you permission to stop. Most FPS games divide play into levels, and make it very clear when you go from one level to the next, usually in advance, making it easy to say “I’ll just finish this level and quit”. In Portal, for example, level transitions are signalled by arriving at an elevator. When you get in the elevator, the next level loads, as signalled by the word “Loading…” appearing in the middle of the screen. When you emerge from the elevator, the first thing you see is a sign indicating what level you’re on — the idea of levels is part of the story as well as part of the underlying technology. When you reach the point in the story where the levels stop, you no longer get the elevators, but you still occasionally get that “Loading…” message as you walk along.

And that’s mainly what happens in Half-Life. The transition is something you don’t see coming, and once it happens, you’re already in the next level, so you might as well keep playing. Beyond levels as unit-of-loading, the game is divided into Chapters, which are units of story and which are often themed around new gameplay elements (kind of like in DROD). But even the transitions between chapters are subtle, only signalled by a chapter title briefly overlaid on the screen while play continues as normal. The new weapon or monster or whatever that defines the chapter doesn’t necessarily show up right away, either.

The game is not without obvious stopping points — every once in a while there’s a Resistance base where you can replenish your ammo and listen to people talking plot. But I’ve been finding that I don’t stop at those places. I stop when I’m repeatedly failing to get through a fight. I figure that if I’m making no progress, it’s because I’m approaching it wrong, and should try it with a fresh mind later. This means that my typical session starts with a tough battle. This can’t be what the designers had in mind.

Half-Life 2: Women

Apparently the folks at Valve decided that one of the flaws in the original Half-Life was the lack of sex appeal. Every human (or apparently human) character is either a wrinkled scientist, a security guard 1known as Barney — yes, there are multiple security guards, but they’re all known as Barney with an unflattering uniform and a hick accent, a faceless enemy soldier, or a creepy probably-alien G-man. And with the exception of some special-forces ninjas who you hardly ever see (because they’re ninjas), they’re all male.

Half-Life 2 corrects this by (a) handsoming up Barney and making him into a hero of the resistance, and (b) introducing the young, attractive, tough-as-nails Alyx, daughter of one of the scientists and occasional companion to the player on missions. Alyx provides essential technical support as well as essential dialogue, driving the plot whenever she’s present. She’s handy in a firefight, too, helping you to flank the enemy: there’s one bit where she suggests that you surprise some CP troops by coming through two different doors at once, and it works beautifully if you follow her advice. And when you part ways, she says “Gordon… Take care of yourself” in a tone of voice that makes it clear that she’s the action hero’s designated love interest.

But personally, my heart belongs to another: the nameless resistance sqaddie who, alone with me in a courtyard littered with dead soldiers, spontaneously shared with me an incredible insight into her character. “Sometimes,” she said, “I dream about cheese.”

I’m probably not doing justice to the profundity of that statement. The delivery probably has a lot to do with it. But this is a person who’s living in a battlefield, who has to fight for every moment of her existence. And still, sometimes, she dreams about cheese. It was just a strange and beautiful moment.

The tragic thing about nameless squaddies, in both Half-Life and Half-Life 2, is that they always die. They come to you with great faith: you’re the famous Gordon Freeman, hero of the Black Mesa incident! With you on their side, they stand a fighting chance! And then they start following you around, and they help you survive encounters that would have been very difficult otherwise, and then, one by one, they either get killed because you told them to go somewhere, or get killed because you didn’t tell them to go somewhere. But I took some personal interest in Cheese Girl, hoping that she, if no one else, would survive until we parted ways. No such luck. She was, in fact, the first to die. Later, though, thanks to the fairly small NPC pool, I met her again. And she joined my team again, and got killed again. It’s just like Silent Hill 2.

   [ + ]

1. known as Barney — yes, there are multiple security guards, but they’re all known as Barney

« Newer PostsOlder Posts »