I'm returning to a fundamental theme of my first entry: the tension between the need (or desire) to tell a story in a particular way, and the need to keep the player involved and immersed - by maintaining the consistency and believability of the game-world. Once again I have specific Halo examples in mind - the boss-battles in Halo 2, and Halo 3. Obviously, this means Halo 3 Campaign spoilers, so stop reading here if this is a problem for you.
What exactly is a boss-battle? Looking at Halo 3, each Scarab encounter might be considered a boss-battle, and the final encounter with 343 GS is most definitely a boss-battle. In each case, you're fighting an opponent with vastly superior fire-power and very specific vulnerabilities. That's about as good a definition of a boss-battle as I think we're going to get. Personally, I find that the Scarab-battles are enjoyable to play, whereas 'fighting' 343 GS is a chore which detracts from my enjoyment of, and immersion in, the game.
The critical differences between these encounter-types seem to boil down to flexibility and consistency. Taking flexibility first; though there's ultimately only one way to destroy a Halo 3 Scarab (by attacking the power core), there are so many ways to achieve this that the player has great freedom of action and scope for tactical invention. There's only one way to kill 343 GS, one weapon which can do it, and one place from which it can be done. That's not gameplay - it's ritual.
The consistency issue is rather less clear-cut. Though the Scarab's tactical weaknesses and vulnerabilities (for example, the slow traverse speed of the main cannon, the squat-when-legs-damaged behaviour and the rear armour weakness) are slightly artificial, they're not flagrant violations of the physics and conventions of the game-world - just typical examples of compromises which must be made to balance gameplay and stay within hardware limitations.
The case of 343 GS, however, is significantly different. Guilty Spark's beam-weapon is so powerful that the player can only survive by dodging. In order to make this easy and convenient, Guilty Spark's normal ability to pivot rapidly on the spot has to be degraded so far that he'd have trouble tracking an elderly tortoise with his all-conquering red death-ray. Then there's his irresistible field, which could so easily push the player straight over the edge of the catwalk, if 343 GS just moved a few metres to the side. This field seems to exist primarily in order to keep the player confined to one small area so that he'll be able to pick up the Spartan Laser from Johnson before Guilty Spark recovers from the first blast - which has such notably different effects from the subsequent ones. This encounter isn't just artificial and contrived - it's blatantly artificial and clumsily contrived.
Before going on to the questions I've just begged - why Bungie would do this, and how they could have avoided it - it's worth comparing my two examples with their counterparts in Halo 2. Halo 2's Scarab could only be boarded from tall structures (requiring very specialised level-design), and was completely invulnerable to the player ("Bullets won't stop it, rockets won't stop it - we may have to use
nuclear force scripting and a cutscene!"). The Halo 3 Scarab has been comprehensively redesigned with an eye to improving gameplay, reusability and functional transparency, and I think most players would regard it as a resounding success. How does Halo 3's Guilty Spark boss-battle compare with its Halo 2 counterparts; the encounters with the Heretic Leader, Prophet of Regret, and Tartarus? My own reaction would be - it's easier, quicker and less annoying. Clearly, that's an overall improvement, but it's also rather faint praise - especially when we consider why the Guilty Spark boss-battle should exist in the first place.
We can now answer that last question with some confidence, thanks to N'Gai Croal's recently-published [url=http://blog.newsweek.com/blogs/levelup/archive/2008/01/15/the-joseph-sta... with Joe Staten. Staten's comments regarding the Halo movie attracted the most attention at the time, but the following section was what caught my eye:
"I think that was one of the more satisfying moments in Halo 2: jumping on the Prophet of Regret's throne and beating him up while he's yelling at you. That was something we always wanted to pull off in the first game, but didn't have a chance to do that."
Joe Staten's idea of fun is obviously a little different from mine, but the implication is clear. Staten. and presumably others at Bungie, consider that the player will so thoroughly enjoy taking personal revenge on certain characters that it's worth expending developer effort on special-case code - and completely violating the canons of Halo gameplay - in order to achieve this. While most of us would probably agree that - in the abstract - personally fighting and beating an arch-enemy could be satisfying, I'm fairly certain that for many of us, 'satisfying' isn't the adjective which springs to mind when we think of these encounters. In the case of Guilty Spark, the combat is so heavily constrained (presumably to minimise player frustration) that it becomes, quite simply, perfunctory. The lack of challenge translates directly into lack of satisfaction, thus rendering the whole encounter largely pointless.
As for the alternative to a boss-battle, that's obvious - a cutscene. Truth's death is handled that way, and though I don't rate that particular cutscene very highly, I still think it's preferable to Player vs. Regret, Round 2. The Guilty Spark battle is, in fact, already just a brief interlude of (limited) player control between two cutscenes - and I'd argue that the whole sequence would work better, and be more involving, if the combat was represented as a climactic action scene. By way of compensation, the cutscene could end after Johnson's death, leaving the player to press the final, fateful button and make his own way to the door.
Some (perhaps many) of you may wonder why I've expended this much time and effort on this subject. There are two parts to the answer; the first is that I've enjoyed the Halo series so much that any perceived blemish - especially if it's the result of a design decision - is especially disappointing. The second part of the answer is that this is a good example of a type of error (as I see it) which I observed many times in my own games industry career. Sometimes I was been able to talk people out of it, sometimes not. This final section is effectively a compendium of all the things I wish I'd said in the course of those arguments.
Fundamentally, I dislike the Guilty Spark boss-battle because it's clumsy and inelegant - the relevant paragraph above spells out why, and I won't repeat it. It's a multiple violation of the most basic maxims of design, valid in literature, art, engineering, formal logic and many other disciplines - [b]economy of means[/b], and [b]self-consistency[/b]. These two concepts are closely related, and in practice it can be hard to draw a dividing line between them. The first principle turns up everywhere from Occam's razor (Do not multiply entities beyond necessity) to the [url=http://en.wikipedia.org/wiki/KISS_principle]KISS rule[/url]; 'Keep It Simple, Stupid'. The second principle - self-consistency - is an absolute rule in any rigorous or quantitative discipline, but also appears in many artistic contexts - the [url=http://en.wikipedia.org/wiki/Classical_unities]Classical Unities[/url], the scorn visited upon an author who lazily introduces a [url=http://en.wikipedia.org/wiki/Deus_ex_machina]deus ex machina[/url], and the [url=http://gaslight.mtroyal.ab.ca/vandine.htm]'fair puzzle' rule[/url] of the classic detective story, for example.
Neither of these maxims is an absolute in game design (or any other artistic endeavour), but experience suggests that you should think long and hard before - and after - you break them. It's worth remembering that when programmers do this kind of thing, the resulting code is almost always infested with bugs. Restating my point (one last time) in terms specific to game-design: Whenever you're tempted to include a feature which will require special-case code, used nowhere else in the game, treat this as an urgent warning sign. Red lights should be flashing and sirens whooping in your head. Step back and think about what you're trying to achieve in broad terms, rather than blindly pursuing one specific scenario. Is there really no way to accomplish your underlying purpose within your existing game systems? Or is there a consistent way to extend these systems which will pay off in richer gameplay throughout the game? Since this sort of case should usually be identifiable early in the design process, there should be time available to come up with a superior solution.