Incredible Hulk Diary: Mission 2.2.2
[This is the second entry in my "Incredible Hulk Diary" series, recalling my experience as a mission designer on "The Incredible Hulk" in 2008. For more information and links to the rest of the series, click here.]
Mission 2.2.2: We’re not Giving Up – Part 2

Summary
Here’s a quick summary. For those of you who like to read, hit the jump for a truckload of detail.
- This mission is about protecting Rick Jones in a helicopter as he travels from rooftop to rooftop disarming bombs.
- The mission ended up very fun and memorable; this is mainly because the mission is built around a fun and novel challenge–jumping from rooftop to rooftop.
- The first major design task was to find a suitable set of rooftops to provide compelling inter-rooftop locomotion. I found this in a set of unique skyscrapers in midtown west, which offered challenging and varied locomotion challenges.
- The next task was to settle on a central challenge for the mission. I quickly decided to focus the gameplay around rapid inter-rooftop locomotion. To achieve this challenge organically, I set the helicopter to circle each rooftop, continually damaged by enemies until Hulk arrives to save it. All of this emerged from the focused premise of rooftop locomotion.
- I decided against adding peripheral challenges like protecting Rick himself when he leaves the helicopter; these proved a confusing distraction from the mission’s main trajectory.
- I did, however, throw in some unexpected variety, in the form of an emergency crash landing late in the mission, accompanied by a special objective to carry the final dispenser to Rick’s position on the ground. As a one-off event, this added some variety to the mission without throwing it off kilter.
- Hence, my recipe for a compelling mission: Hone a central challenge for your mission that drives the gameplay forward and makes a story for the player, without extraneous challenges getting in the way. Once you’ve accomplished this, throw a wrench in the works somewhere for a little unexpected variety.
For much, much finer detail, please read on!
Details
Story and Background
This is a mission about bounding from rooftop to rooftop, smashing enemies and protecting a helicopter piloted by Rick Jones. There are some poisonous chemical dispenser doohickeys on rooftops, and Rick has to land his helicopter near each one and spend a few moments disarming it.
As I’ll describe below, this mission ended up working out really well with our locomotion and combat systems; when I speak with people who have played Incredible Hulk (which is rare), they always seem to remember this mission. Furthermore, like Jesus, this mission once died and was later resurrected. It had been part of an entire storyline that was cut from the game during Alpha, but we all loved the mission so much that we rewrote it a bit and squeezed it into a different plot.
Early Layout
There are a lot of missions in Incredible Hulk that involve Rick Jones running around and disarming bombs. On paper, this mission didn’t seem a lot different than those–yes, these bombs were on rooftops, and yes, Rick had to land a helicopter on each rooftop, but otherwise it seemed pretty familiar. As it turned out, though, the rooftops and helicopter ended up making all the difference.
We recognized early in development that rooftops were some of the best locations in the city–the skyline vista is beautiful, and jumping between rooftops can be lots of fun. (Of all the minigames in Hulk, my favorite is the one that has Hulk jumping among rooftops for as long as possible without falling.)
In the early phase of implementation, I spent a lot of time locomoting around the city, looking for a good assortment of buildings to maximize this experience for this mission. My selection criteria were primarily gameplay, secondarily aesthetics. I knew I wanted to make bounding between rooftops a compelling and central experience in this mission, so I spent a lot of time finding a group of buildings that were interesting and challenging (but not too challenging) to locomote between. I also needed these rooftops to be large enough to accommodate Hulk, a number of enemies, a bomb, and a helicopter. Finally, less important but still crucial, I wanted the buildings themselves to be visually interesting and offer great views.
I was lucky enough to find a solution to all these criteria in a selection of five skyscrapers in Midtown East. It didn’t take me too long to figure out that there were a lot of interesting buildings and locomotion options in this part of the city, but I spent plenty of time identifying the best buildings and the best order. I spent, oh, at least a day jumping around and around in this area, trying to find some interesting chains of rooftops. The chain of five buildings I settled on offered a nice mix of locomotion–sometimes jumping downward from a higher roof to a lower one, other times chaining jumps over one or two intermediate buildings, other times solving little puzzles about how best to get from one area to another. I’d purposely chosen some of the tallest buildings in the city, and as such most of them have unique models with interesting architecture; their height also offers great vistas, moving from a Central Park view over to an East River view as the mission progresses. So, I had satisfied my initial criteria for gameplay and aesthetics. Check and check. It was now time to start laying out the gameplay.
Design
Establishing a central challenge
In laying out and scripting the gameplay, one of the first things I needed to figure out was how I wanted to challenge the player. When laying out gameplay, it’s tempting to dump the whole bag of tricks on the player and give him 10 different challenges all at once; this is a terrible idea though, because the player will lose track of his objectives, and besides, he can’t make a story out of a mishmash like this. Instead you need to take on the much harder task of honing your challenges into one or two things that unify into a central, driving purpose. In this mission, I could ask the player to survive challenging brawls, to protect Rick’s helicopter, to protect Rick himself, to complete the mission within a time limit on the chemical dispensers, to smash some other chemical dispensers before they explode, to stop a group of enemies from reaching a rooftop, etc., etc. But that would have been too much.
I decided to focus the challenge on the locomotion between rooftops, which I knew to be both a fun activity and something that wasn’t used much in other missions. I played a bit with using timers to require the player to arrive at rooftops before chemical bombs exploded, but this felt arbitrary and gamey. A more natural solution, I realized, was to tie this challenge into protecting Rick Jones, which is the central narrative point of this mission. This led me to the basic mission structure that would survive in the mission’s final form: for each rooftop, Rick’s helicopter flies straight to the roof area and circles. The helicopter is vulnerable to damage, and its health meter is onscreen throughout the mission. Enemies spawn on the rooftop and shoot at the helicopter; the helicopter won’t land until the player arrives and defeats all the enemies. This is a simple setup for players to grasp, and it creates the locomotion challenge organically–needless to say, if the player does not quickly locomote from one rooftop to the next, the helicopter will be destroyed and the mission failed. With this, the need for contrived devices like timers is obviated by a challenge that emerges (or at least seems to emerge) directly from the story.
When adding challenges is a bad idea
I also spent a little time toying with additional challenges. In the initial design doc, Rick is vulnerable during the portions of the mission when he leaves the helicopter. (The plan was for him to leave the helicopter after landing, and go over and disarm the chemical dispenser.) I toyed with this, but it confused players–it required a second health meter, one for the helicopter and one for Rick. Furthermore, this challenge detracted from the central premise I’d established of protecting the helicopter as it pushes forward. So I was much happier to simply make Rick invulnerable and have all enemies target Hulk and the helicopter, rather than Rick himself. This worked just fine, and kept the player focused on the other challenges.
This decision was definitely for the best. The AI programming team ended up so overworked late in the project that we were never able to properly locomote Rick out of the helicopter after landing–it was hard enough just to get the helicopter to move around and land. Since Rick’s leaving the helicopter was not an essential part of the mission, it was easy enough to cut this behavior from the mission and say instead that he was disarming the chemical bombs “remotely.” Okay, this sounds a little odd, but it was not nearly as bad as seeing Rick materialize out of thin air next to his chopper.
When adding challenges is a good idea
I was pretty happy with the basic mission structure at this point; it seemed to offer these periods of intense brawling spaced out with different-feeling, but equally intense periods of rooftop bounding. I liked this flow a lot. But some of my guinea pigs said it felt monotonous after a couple of rooftops–after all, there were five rooftops at this point, all of them with similar objectives. I knew that some of the monotony could be alleviated by adding enemy variety, but that probably wouldn’t be enough.
So I added a separate objective late in the mission, which comes as a surprise to the player: Rick’s helicopter is hit and needs to set down on the ground, so Hulk is tasked with grabbing the chemical dispenser on the final rooftop and carrying it down to Rick. This provided that “oh, awesome!” moment that broke up the mission a bit and gave it some variety; everyone seemed happy with this, and so was I. Luckily this was still early enough in the project that I was able to request all the necessary VO to support this turn of events, and it worked out beautifully.
This is an example of when it’s a good time to add an extra challenge to your mission, something which deviates from your central premise: to add something unexpected to the mission flow. In this mission, it was the unexpected helicopter crash; in the tank escort mission, it was the sudden appearance of a drop ship. Here’s what I’m saying, my recipe for a compelling mission: Hone a central challenge for your mission that drives the gameplay forward and makes a story for the player, without extraneous challenges getting in the way. Once you’ve accomplished this, throw a wrench in the works somewhere for a little unexpected variety. Bake it just right and you will find you’ve cooked up one tasty mission.
Technical Challenges
I knew of course that rooftop brawling would be a critical part of the mission, essentially making up half the gameplay. The enemies needed to be (1) tough enough with projectiles to damage the helicopter; (2) tough enough to provide at least a little bit of a melee challenge for the player after he arrives; and (3) varied enough to keep things interesting throughout the mission. Satisfying any of these requirements, let alone all three, was a challenge through most of the dev cycle, for several reasons.
- The enemy and weapon data underwent continuous tweaking throughout development, without ever getting locked down. I’m not complaining–this is pretty much necessary under such an accelerated development schedule–but it makes the mission designer’s job pretty damn hard. I had no way of knowing, for instance, what the range of various weapons would be, or how much damage they would cause to the chopper. I could have put off balancing the mission till the last minute, but I wanted to have some assurance that the mission would actually be fun. So at several points in the dev cycle I made sure I balanced the mission to the current state of the enemies and weapons, making sure that fun was achievable.
- Throughout much of development, I was not sure whether I would be able to spawn enemies on rooftops. I and several other designers pushed hard for rooftop spawners (rooftop stairwell exits), but for a couple of reasons they were caught up in the art and programming pipeline for a long time. I had to script out the whole mission on the assumption that I wouldn’t get rooftop spawners. To avoid popping enemies in right in front of the Hulk, this meant spawning all enemies on rooftops before Hulk arrives. Any extra spawns had to be flying soldiers that could be spawned out of sight below rooftops. It worked okay this way, but I really wanted the flexibility to spawn extra guys from rooftop spawners; this could provide for more intense encounters when I needed them. Finally, within a week or two of final lockdown, we got those rooftop spawners, and I scrambled to re-implement the mission to accommodate them. It was totally worth it–the brawls got crazier and more substantial, with greater variety both in enemies and in pacing.
The rooftop locomotion provided its own challenges. From time to time, the environment team would move buildings around in the city. This drove the designers crazy, because this was the city where we’d laid out all our gameplay–our spawn points, our way points, our bombs and cleansing devices. At one point, one of my skyscrapers was moved. It had been so perfect for my mission that we got it moved back. I’m very glad we made that happen.
Lessons Learned
Lesson 1: If you discover an awesome moment in your video game, make sure you construct a mission around that awesome moment. You’ll achieve a unique and compelling mission–like this mission, which took the awesomeness of rooftop locomotion and ran with it. Never push the crazy, wonderful stuff to the periphery of a mission, even if it’s not central to the story–rest assured the player will make his own story out of it.
Lesson 2: As a designer, be flexible. Know that you may not get what you asked for (e.g., Rick leaving his helicopter), and your colleagues’ iterations can and will require you to change everything once, twice, x times throughout the dev cycle (e.g., the constantly evolving enemy data and the uncertain availability of rooftop spawners). Each time a new constraint requires you to rework your mission, treat it as an opportunity to improve your mission.
Wow, this is starting to sound like the transcript of a motivational speaker. I better stop.