<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>David R. Lorentz</title>
	<atom:link href="http://www.davidrlorentz.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davidrlorentz.com/blog</link>
	<description>Games from my Head</description>
	<lastBuildDate>Fri, 15 May 2009 15:59:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Incredible Hulk Diary: Mission 2.2.2</title>
		<link>http://www.davidrlorentz.com/blog/incredible-hulk-diary-mission-222/</link>
		<comments>http://www.davidrlorentz.com/blog/incredible-hulk-diary-mission-222/#comments</comments>
		<pubDate>Tue, 05 May 2009 05:30:05 +0000</pubDate>
		<dc:creator>David R. Lorentz</dc:creator>
				<category><![CDATA[Incredible Hulk Diary]]></category>
		<category><![CDATA[hulk]]></category>
		<category><![CDATA[hulk diary]]></category>
		<category><![CDATA[incredible hulk]]></category>
		<category><![CDATA[mission design]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.davidrlorentz.com/blog/?p=189</guid>
		<description><![CDATA[[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&#8217;re not Giving Up &#8211; Part 2
 
Summary
Here&#8217;s a quick summary. For those of you who like [...]]]></description>
			<content:encoded><![CDATA[<p>[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, <a href="http://www.davidrlorentz.com/blog/hulkdiary-intro/">click here</a>.]</p>
<h2>Mission 2.2.2: We&#8217;re not Giving Up &#8211; Part 2</h2>
<p><img class="alignnone size-full wp-image-191" title="222_1" src="http://www.davidrlorentz.com/blog/wp-content/uploads/2009/05/222_1.jpg" alt="222_1" width="290" height="197" /> <img class="alignnone size-medium wp-image-190" title="222_2" src="http://www.davidrlorentz.com/blog/wp-content/uploads/2009/05/222_2.jpg" alt="222_2" width="290" height="197" /></p>
<h2>Summary</h2>
<p>Here&#8217;s a quick summary. For those of you who like to read, hit the jump for a truckload of detail.</p>
<ul>
<li>This mission is about protecting Rick Jones in a helicopter as he travels from rooftop to rooftop disarming bombs.</li>
<li>The mission ended up very fun and memorable; this is mainly because the mission is built around a fun and novel challenge&#8211;jumping from rooftop to rooftop.</li>
<li>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.</li>
<li>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.</li>
<li>I decided against adding peripheral challenges like protecting Rick himself when he leaves the helicopter; these proved a confusing distraction from the mission&#8217;s main trajectory.</li>
<li>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&#8217;s position on the ground. As a one-off event, this added some variety to the mission without throwing it off kilter.</li>
<li>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&#8217;ve accomplished this, throw a wrench in the works somewhere for a little unexpected variety.</li>
</ul>
<p>For much, much finer detail, please read on!</p>
<p><span id="more-189"></span></p>
<h2>Details</h2>
<h3>Story and Background</h3>
<p>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.</p>
<p>As I&#8217;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 <em>Incredible </em><em>Hulk</em> (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.</p>
<h3>Early Layout</h3>
<p>There are a lot of missions in <em>Incredible Hulk</em> that involve Rick Jones running around and disarming bombs. On paper, this mission didn&#8217;t seem a lot different than those&#8211;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.</p>
<p>We recognized early in development that rooftops were some of the best locations in the city&#8211;the skyline vista is beautiful, and jumping between rooftops can be lots of fun. (Of all the minigames in <em>Hulk</em>, my favorite is the one that has Hulk jumping among rooftops for as long as possible without falling.)</p>
<p>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.</p>
<p>I was lucky enough to find a solution to all these criteria in a selection of five skyscrapers in Midtown East. It didn&#8217;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&#8211;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&#8217;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.</p>
<h3>Design</h3>
<h4>Establishing a central challenge</h4>
<p>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&#8217;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&#8217;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 <em>could</em> ask the player to survive challenging brawls, to protect Rick&#8217;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.</p>
<p>I decided to focus the challenge on the locomotion between rooftops, which I knew to be both a fun activity and something that wasn&#8217;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&#8217;s final form: for each rooftop, Rick&#8217;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&#8217;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&#8211;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.</p>
<h4>When adding challenges is a bad idea</h4>
<p>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&#8211;it required a second health meter, one for the helicopter and one for Rick. Furthermore, this challenge detracted from the central premise I&#8217;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.</p>
<p>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&#8211;it was hard enough just to get the helicopter to move around and land. Since Rick&#8217;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 &#8220;remotely.&#8221; 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.</p>
<h4>When adding challenges is a <em>good </em>idea</h4>
<p>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&#8211;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&#8217;t be enough.</p>
<p>So I added a separate objective late in the mission, which comes as a surprise to the player: Rick&#8217;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 &#8220;oh, awesome!&#8221; 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.</p>
<p>This is an example of when it&#8217;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 <a href="http://www.davidrlorentz.com/blog/incredible-hulk-diary-mission-113/">the tank escort mission</a>, it was the sudden appearance of a drop ship. Here&#8217;s what I&#8217;m saying, my recipe for a compelling mission: <strong>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&#8217;ve accomplished this, throw a wrench in the works somewhere for a little unexpected variety. </strong>Bake it just right and you will find you&#8217;ve cooked up one tasty mission.</p>
<h4>Technical Challenges</h4>
<p>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 <em>any</em> of these requirements, let alone all three, was a challenge through most of the dev cycle, for several reasons.</p>
<ul>
<li>The enemy and weapon data underwent continuous tweaking throughout development, without ever getting locked down. I&#8217;m not complaining&#8211;this is pretty much necessary under such an accelerated development schedule&#8211;but it makes the mission designer&#8217;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.</li>
<li>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&#8217;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&#8211;the brawls got crazier and more substantial, with greater variety both in enemies and in pacing.</li>
</ul>
<p>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&#8217;d laid out all our gameplay&#8211;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&#8217;m very glad we made that happen.</p>
<h3>Lessons Learned</h3>
<p>Lesson 1: If you discover an awesome moment in your video game, make sure you construct a mission around that awesome moment. You&#8217;ll achieve a unique and compelling mission&#8211;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&#8217;s not central to the story&#8211;rest assured the player will make his own story out of it.</p>
<p>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&#8217; iterations can and will require you to change everything once, twice, <em>x </em>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.</p>
<p>Wow, this is starting to sound like the transcript of a motivational speaker. I better stop.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrlorentz.com/blog/incredible-hulk-diary-mission-222/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash, Flash Games, and FITC</title>
		<link>http://www.davidrlorentz.com/blog/flash-flash-games-and-fitc/</link>
		<comments>http://www.davidrlorentz.com/blog/flash-flash-games-and-fitc/#comments</comments>
		<pubDate>Mon, 04 May 2009 20:17:55 +0000</pubDate>
		<dc:creator>David R. Lorentz</dc:creator>
				<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[actionscript.org]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[FITC]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.davidrlorentz.com/blog/?p=174</guid>
		<description><![CDATA[Dear readers,
I returned from Toronto a couple of days ago. Toronto was really great. Everyone was riding bikes around&#8211;and as a means of transportation, not as a sport. How refreshing. Ji-Ming and I thought the busy, happy urban atmosphere felt a lot like Taipei; of course, we were staying in Chinatown.
I was up there for [...]]]></description>
			<content:encoded><![CDATA[<p>Dear readers,</p>
<p>I returned from Toronto a couple of days ago. Toronto was really great. Everyone was riding bikes around&#8211;and as a means of transportation, not as a sport. How refreshing. Ji-Ming and I thought the busy, happy urban atmosphere felt a lot like Taipei; of course, we were staying in Chinatown.</p>
<p>I was up there for <a href="http://www.fitc.ca/" onclick="pageTracker._trackPageview('/outgoing/www.fitc.ca/?referer=');">Flash in the Can</a>, a very fun Flash conference. This was my first Flash conference, and it was very interesting to discover how the Flash community is different from the game development community. Their terminology is all backwards&#8211;they say &#8220;developer&#8221; instead of programmer, and &#8220;designer&#8221; instead of artist. Oh, and there are actually women in the Flash community.</p>
<p>What I didn&#8217;t like is that Flash developers tend to be so reverent of advertising. Someone might say to me, &#8220;yeah, my company worked on campaigns for Nike and McDonalds,&#8221; and they expect me to be impressed. I know that ads drive most of the money in the Flash world, but it makes me uncomfortable to think about this. One of the reasons I first went into game development, having happily left careers in science and education, was because I wanted to make things for real people. I wanted my paychecks to come from people who pay for my stuff<em> because they want it</em>, rather than because I convinced the government or some agency that what I&#8217;m doing is valuable. Of course, once I got into the AAA game industry, I quickly realized how shallow and non-artistic it is, and (like most people in the industry) I yearned to break off and go indie. So now I&#8217;m doing small games on my own, and I&#8217;m doing whatever I want, even if that is sometimes an experimental train wreck like <a href="http://www.ludumdare.com/compo/tag/closing-my-eyes/" onclick="pageTracker._trackPageview('/outgoing/www.ludumdare.com/compo/tag/closing-my-eyes/?referer=');">this</a>. But in order to actually make some money, I find myself signing contracts and making deals with marketing companies. So without realizing it, I&#8217;ve started drifting back toward the situation I fled&#8211;I&#8217;m making things for agencies rather than real people. Maybe I&#8217;m just complaining too much, but I feel very conflicted! I mean, for heaven&#8217;s sake, back when I had functional convictions I subscribed to Adbusters! Now look at me, making art for ad men who live in L.A.</p>
<p>Okay, I&#8217;m done. Back to FITC. I was attending the conference as a representative of actionscript.org, and I ended up posting a bunch of blogs over on their site. Here they are:</p>
<p><a href="http://www.actionscript.org/resources/blogs/23/FITC-Day-1-The-intersection-of-math-and-art.html" onclick="pageTracker._trackPageview('/outgoing/www.actionscript.org/resources/blogs/23/FITC-Day-1-The-intersection-of-math-and-art.html?referer=');">FITC Day 1: The intersection of math and art<br />
</a><a href="http://www.actionscript.org/resources/blogs/24/FITC-Day-2-Flash-in-Console-Games.html" onclick="pageTracker._trackPageview('/outgoing/www.actionscript.org/resources/blogs/24/FITC-Day-2-Flash-in-Console-Games.html?referer=');">FITC Day 2: Flash in Console Games<br />
</a><a href="http://www.actionscript.org/resources/blogs/25/FITC-Day-2-Running-a-Freelance-Business.html" onclick="pageTracker._trackPageview('/outgoing/www.actionscript.org/resources/blogs/25/FITC-Day-2-Running-a-Freelance-Business.html?referer=');">FITC Day 2: Running a Freelance Business<br />
</a><a href="http://www.actionscript.org/resources/blogs/26/FITC-Day-3-Dimension-Wars.html" onclick="pageTracker._trackPageview('/outgoing/www.actionscript.org/resources/blogs/26/FITC-Day-3-Dimension-Wars.html?referer=');">FITC Day 3: Dimension Wars<br />
</a><a href="http://www.actionscript.org/resources/blogs/27/FITC-Day-3-Cool-Japanese-Stuff.html" onclick="pageTracker._trackPageview('/outgoing/www.actionscript.org/resources/blogs/27/FITC-Day-3-Cool-Japanese-Stuff.html?referer=');">FITC Day 3: Cool Japanese Stuff</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrlorentz.com/blog/flash-flash-games-and-fitc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Incredible Hulk Diary: Mission 1.1.3</title>
		<link>http://www.davidrlorentz.com/blog/incredible-hulk-diary-mission-113/</link>
		<comments>http://www.davidrlorentz.com/blog/incredible-hulk-diary-mission-113/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 00:21:56 +0000</pubDate>
		<dc:creator>David R. Lorentz</dc:creator>
				<category><![CDATA[Incredible Hulk Diary]]></category>
		<category><![CDATA[hulk diary]]></category>
		<category><![CDATA[incredible hulk]]></category>
		<category><![CDATA[mission design]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.davidrlorentz.com/blog/?p=58</guid>
		<description><![CDATA[[This is the first 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 1.1.3: The Enclave and Rick Jones &#8211; Part 3
 
Summary
What follows is a brief summary of the much [...]]]></description>
			<content:encoded><![CDATA[<p>[This is the first 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, <a href="http://www.davidrlorentz.com/blog/hulkdiary-intro/">click here</a>.]</p>
<h2>Mission 1.1.3: The Enclave and Rick Jones &#8211; Part 3</h2>
<p><img class="alignnone size-full wp-image-152" title="Mission 1.1.3: Hulk Protects a Tank" src="http://www.davidrlorentz.com/blog/wp-content/uploads/2009/04/113_1.jpg" alt="Mission 1.1.3: Hulk Protects a Tank" width="290" height="197" /> <img class="alignnone size-full wp-image-151" title="Mission 1.1.3: Hulk Encounters a Drop Ship" src="http://www.davidrlorentz.com/blog/wp-content/uploads/2009/04/113_2.jpg" alt="Mission 1.1.3: Hulk Encounters a Drop Ship" width="290" height="197" /></p>
<h2>Summary</h2>
<p>What follows is a brief summary of the much longer essay that follows the jump. If you are in a reading mood, feel free to skip past this summary and jump right into the meat.</p>
<ul>
<li>Mission 1.1.3 is an escort mission in which Hulk protects a tank as it travels through a series of Enclave roadblocks.</li>
<li>I took over this mission very late in the dev cycle, so I had no access to additional VO or tech.</li>
</ul>
<p>When I received it, the mission was in very rough shape:</p>
<ul>
<li>The basic setup: Tank moves continuously forwards, with enemies spawning in random positions.</li>
<li>This design created boring gameplay due to our AI and systems design&#8211;enemies would have trouble reaching and keeping up with the tank.</li>
<li>Hazy mission objectives. The player had no idea what to do, whether to stay with the tank or hunt down the soldiers.</li>
<li>Overall, no excitement, no challenge, and a lot of homogeneity.</li>
</ul>
<p>My redesign centered on one core concept: breaking the mission into a series of constrained encounters with clear objectives.</p>
<ul>
<li>Instead of spawning randomly, all enemies are hand-placed at intersections, forming roadblocks.</li>
<li>The tank comes to a stop at each roadblock, and does not move on until all enemies are defeated.</li>
<li>The player is told explicitly to defeat all the enemies.</li>
<li>The player is also told to bound ahead to the next roadblock as soon as the current roadblock is cleared.</li>
<li>As a whole, these edits discretize the mission into a series of brawling scenarios (at roadblocks), interspersed with a series of locomotion scenarios (between roadblocks). This provides a basic heterogeneity to the mission flow, as well as establishing clear objectives and rewards for the player.</li>
</ul>
<p>The mission played much better at this point, but monotony remained an issue. I did my best to maximize variety as follows:</p>
<ul>
<li>Varying the enemy types, numbers, and positioning at the different roadblocks (as much as I could).</li>
<li>Adding a drop ship encounter in the middle of the mission. The drop ship is placed at the end of a long corridor down Broadway, which naturally draws the player&#8217;s eye to the surprising reveal.</li>
<li>Adding several waves of enemies at the final encounter (after the tank has arrived at its safe house), to provide a longer, more challenging fight as a climax.</li>
</ul>
<p>Reasons why this mission (and the game in general) thrived on carefully scripted encounters like these rather than more open-ended objectives:</p>
<ul>
<li>Unpolished systems due to the compressed dev cycle; rewarding gameplay could not be left to chance, and had to be carefully scripted.</li>
<li>Basic gameplay in Hulk was a very focused brawler system without extraneous elements; there is rarely more than one way to accomplish a given task, so why confuse the player with vague objectives?</li>
<li>The game&#8217;s target audience is the mainstream audience of the film, quite the opposite of core gamers. Thus, careful player direction was a priority.</li>
</ul>
<p><span id="more-58"></span></p>
<h2>Details</h2>
<h3>Story</h3>
<p>Rick Jones has stolen a tank and is attempting to drive it to his safehouse in midtown Manhattan. Naturally the Enclave (enemy military) is attempting to stop him. Hulk&#8217;s job is to protect the tank and clear out the enemies at a series of Enclave roadblocks.</p>
<h3>Background</h3>
<p>I took charge of this mission very late, just two or three months before the game shipped. This may sound like no time at all in the dev cycle of a AAA game, but this game was so rushed that those two or three months were when everything got done. The previous owner of this mission had been so busy with other tasks that it was still in an embryonic state when I took over. This was actually a good thing, because I didn&#8217;t have to worry about her being too attached to her baby and I was free to totally overhaul the mission&#8211;which I did.</p>
<h3>Design</h3>
<p>A basic escort mission, right? Well, yeah, I guess so. But that doesn&#8217;t mean it was easy to design or implement. Generally, escort missions tend to be boring or frustrating (or both). So I had to make it interesting and forgiving, somehow. I also had to deal with a myriad of constraints in our engine and gameplay systems, which I&#8217;ll detail below.</p>
<h4>Before I got my hands on it</h4>
<p>I will be saying a lot of negative things in the next few paragraphs about the state of the mission when I received it. I want to emphasize that none of this is a criticism of the other designer&#8217;s work&#8211;she had simply no time to work on this mission. Given the little time she had, it is actually impressive that the mission functioned at all. So what I&#8217;m describing here is an example of institutionalized neglect, not bad design.</p>
<p>When I first took over this mission, it was fully playable but deeply boring and tedious. The mission had mostly been laid out at an early stage of development, before any of our gameplay systems were functional&#8211;and it showed.</p>
<p>The gameplay had been laid out as so:</p>
<ul>
<li>The tank was set on a path from the NY Public Library through Midtown to Rick&#8217;s safehouse on the West Side.</li>
<li>The tank was set to move forward at a constant speed from start to finish, without stopping.</li>
<li>The mission was completed when the tank reached the safehouse; the mission was failed if the tank was destroyed.</li>
<li>Roadblocks consisted of barricades, crates, and other destructible objects placed in intersections along the tank&#8217;s path.</li>
<li>Enemies were set to spawn randomly near the tank as it progressed, and attack the tank.</li>
</ul>
<p>In this design, the designer had used a very light touch, allowing the tank, the enemies, the barricades, and the player to interact as they will, and utilizing very natural-seeming complete and fail conditions. I would describe this design as extremely optimistic&#8211;in the ideal open-world game, perhaps, game systems (AI, physics, and combat mechanics) would work together to create interesting behavior from an open setup like this. But of course, this was not the ideal open-world game. Generally, as I had learned, our systems did not work together on their own in any way, unless they were carefully laid out and scripted to do so.</p>
<p>Here is how the mission played:</p>
<ul>
<li>Due to lots of issues with physics and vehicle behavior, the tank regularly got stuck on obstacles and ended up stationary or driving in circles until Hulk smashed the detritus.</li>
<li>Enemies, spawning in random locations near the tank, had similar pathing problems, and tended to be very slow in reaching the tank; even if they did reach the tank, their movement speed was about the same as the tank. As a result, the mission experience consisted of one or two soldiers straggling along loosely behind the tank, meekly firing off shots as the tank barreled onward. Obviously not the most exciting (or challenging) of scenarios.</li>
<li>The player had no idea what he needed to do&#8211;should he hunt down the enemies stuck on hot dog carts and scaffolding at the edges of his minimap? Should he focus on the enemies tagging along behind the tank? Or should he focus on smashing the obstacles that the tank kept getting hung up on? There were no clear objectives, and in any case it didn&#8217;t much matter, since it was almost impossible to fail the mission.</li>
<li>The mission was long and repetitive; there was no variety at all in the gameplay.</li>
<li>When the tank did finally reach its destination, the mission would end abruptly, even if Hulk was busy fighting enemies.</li>
<li>One thing I liked: the path of the tank, which took the player on a dramatic trip through the Times Square area, one of the most beautiful areas in our game. This was only the fourth mission in the game, so for many players this would be their first time in the neighborhood.</li>
</ul>
<h4>After I got my hands on it</h4>
<p>I spent a few hours playing through the mission, and getting others to play it as I observed. All the while I took down lots of notes, which culminated in a list of what worked and what didn&#8217;t, very similar to the list above. As I planned out my redesign, I was careful to address each of the negative points individually, so that I would have a way to hopefully deal with them all when I sat down to rebuild the mission.</p>
<h5>Discretizing the gameplay into a series of encounters</h5>
<p>As a result of many iterations of redesign, I came up with a number of design decisions to address the issues I&#8217;d identified. In general, my redesign had restructured the mission as a <em>series of encounters with strictly defined objectives.</em></p>
<p><em><span style="font-style: normal; ">Here are the two fundamental decisions that inspired the redesign, in detail:</span></em></p>
<p><em>Design Decision 1: Spawn all enemies in clusters at intersections, at hand-placed spawn points instead of random positions. Set the enemies&#8217; AI to guard their spawn positions until the tank reaches them.</em></p>
<ul>
<li>This addressed the issue of enemies getting lost and stuck, because enemies would not leave their post until the tank arrived in front of them.</li>
<li>The clusters of enemies provided a nice visual representation of a roadblock, so I was able to remove the barricades and other obstacles that had been tripping up the tank. Good riddance&#8211;other than visuals, the only possible gameplay function the obstacles could have served is to require the player to smash them, which isn&#8217;t fun.</li>
<li>Spawning all of the enemies in groups provided some ebb and flow to the action, which is always extremely important in an action game. When enemies are continually spawned at random positions and a fixed spawn rate, the mission feels monotonous; when enemies are spawned in groups with a short lull in between, things instantly get a lot more exciting.</li>
</ul>
<p><em>Design Decision 2: Have the tank stop moving when it reaches each roadblock, and not start moving again until all enemies are defeated. Provide a clear text objective to the player to &#8220;defeat all the enemies so Rick can continue.&#8221;</em></p>
<ul>
<li>This prevented the very unexciting effect of enemies feebly chasing after the tank.</li>
<li>This also provided a clear objective for the player. This was very important, due to the confusion and frustration the player would feel otherwise.</li>
<li>When the tank arrived at a roadblock and stopped, I was able to tell its AI to begin attacking enemies. This added a lot to the &#8220;awesomeness&#8221; of the mission&#8211;seeing the tank take out the final mutated soldier at a roadblock with a well-placed cannon blast can be very cool. This had not been possible in the previous design, because the game&#8217;s AI is not capable of reliably following a path and fighting at the same time.</li>
<li>This design further emphasized the burst in action at each roadblock; when the tank actually stopped instead of continuing on its way, a static encounter was created for the player, which was full of action and alternated with less frenetic scenes, for a nice roller-coaster effect. I had learned as a mission designer (as I will discuss at length later on) that creating fun within the auspices of Hulk&#8217;s game mechanics depended on carefully defined encounters like this.</li>
<li>Continuing with this design pattern, I made the obvious decision to require the player to defeat all the enemies at the safehouse before the mission completes. The alternative, ending the mission immediately when the tank reaches the safehouse, is anticlimactic and illogical.</li>
</ul>
<p>To implement these changes, I had to dump the mission script and start over, as well as laying out a series of separate tank paths instead of one long path. I did keep the overall path from the original design, because it offered such a dramatic path through Times Square. Once implemented, these changes instantly made the mission much more exciting. It had a nice rhythm to the action, the player was no longer confused, and with some tweaking of the enemy spawns and tank health, it could have some real challenge appropriate to this point in the game. It was finally a solid mission&#8211;nothing to be ashamed of.</p>
<p>Of course, it wasn&#8217;t perfect yet.</p>
<h5>Adding more variety and polish</h5>
<p>To begin with, the ebb and flow of the action was too severe&#8211;there was a lot of action at the roadblocks and then a complete absence of action as the tank drove between roadblocks. I smoothed this out by pointing out the next roadblock to the player ahead of time. As soon as one roadblock is cleared, the next roadblock is roundeled and added to the minimap, so that the player can run ahead and try to take out as many enemies as possible before the tank arrives.</p>
<p>With this design, the action of the mission never dies down entirely, though the <em>quality </em>of the action alternates between heavy combat and rapid locomotion to the next roadblock. The player is always given a chance to take a bit of a breather if he needs it, before locomoting to the next checkpoint. In my experience, this is a critical trait of compelling scenarios in action games: the gameplay never lets up for long, but the <em>quality </em>of the gameplay constantly varies. In an FPS like Half Life 2, this can mean alternating between shooting scenarios and gravity gun puzzle scenarios; in a brawler like Hulk, it means alternating between combat scenarios and locomotion scenarios. The player doesn&#8217;t get tired from doing one thing repeatedly, nor does he get bored from doing nothing.</p>
<p>At this point the mission was in pretty good shape, but with six roadblocks all containing similar encounters, it still felt rather monotonous. It was especially difficult to incorporate any variety to the enemies, because at this point very early in the game, only two types of Enclave soldier had been exposed to the player. I did my best to vary the numbers and proportions of these two enemy types through the different road blocks, but this wasn&#8217;t quite enough.</p>
<p>To further address enemy variety, I utilized the one available enemy vehicle, a huge drop ship that flies in and drops enemies. A drop ship is a pretty serious encounter, so I didn&#8217;t want more than one in the mission. I thought about it for a while, and came up with an excellent reveal position for the drop ship. Several of the mission&#8217;s roadblocks lie along a long, open stretch of Broadway that runs through Times Square, forming a corridor. The player&#8217;s eye is naturally guided down this corridor, so I spawned the drop ship around a corner toward the end of the corridor, and sent it after the tank as it approaches the roadblock. I tested the mission on some colleagues around the office, and was very happy to discover (pending some tweaks to positioning and timing, of course) that in most cases, players would spot the drop ship just as it rounded the corner and barreled toward the tank, and exclaim either &#8220;awesome&#8221; or  &#8220;shit.&#8221; This was exactly what I had hoped to achieve, so I added a target objective and called it a day.</p>
<p>In addition to adding some enemy variety, this change also added a little bit of gameplay variety&#8211;this is the one case in the mission where the tank is attacked while in transit. Thus, the player needs to decide whether to bound ahead to the next group of enemies, or hold back and destroy the drop ship first. This one minor tweak to the rhythm of the mission did a surprisingly great job of breaking up the monotony.</p>
<p>I made one more small tweak to the mission flow: at the final encounter at the safehouse, I decided to spawn several waves of enemies in addition to the enemies initially placed at the roadblock. This is a subtle change, but it has a noticeable effect on the feel of the action. I had experimented with spawning waves at other roadblocks, but I scrapped this because it made the encounters too slow and static. I wanted the persistent movement of the tank to drive the mission, and long encounters detracted from this. But at the final safehouse encounter, the tank has already reached its destination and is waiting for Hulk to finish off the enemies. This provided an opportunity for a more drawn-out brawl; here I spawn three waves of guys, and tell them all to attack Hulk rather than the tank, for an all-out brawlfest. I tweaked this encounter to be slightly more challenging and about twice as long as the other roadblocks; thus it serves as a climax for the player. It&#8217;s always a great idea to provide a climax like this, because in addition to providing a satisfying end to the mission, it gives the player something a little different to do (even if the only difference is extra challenge).</p>
<h5>Missteps</h5>
<p>So far so good, but not everything went so well. I made lots of missteps, most of which were easy to identify and fix through copious playtesting. One thing I ended up wasting a lot of time on was an aborted branch toward the end of the mission. I spent a day or two setting up an elaborate scenario in which the path of the tank branches away from the path of the player, but later the tank is ambushed and calls the player back. In my mind this was an awesome scenario, and I had a lot of fun playing through it.</p>
<p>Of course, I&#8217;d made the classic designers&#8217; mistake&#8211;I was assuming players would all play the game the way I do. I also had a story in my head for why the tank was branching off, which made perfect sense, but I had done a terrible job of relating this story to the player. It was far too late at this point to request any new VO, so I had cobbled it together from existing VO and objectives; for me it worked, but for everyone else it didn&#8217;t. So the player was left confused about what to do, unclear about why the tank was branching away from the mission objectives. This became clear immediately once I tested the mission on other players. I had wasted a couple of days on it, but when I scrapped it I knew I&#8217;d done the right thing. There was already enough awesomeness in the mission, anyway.</p>
<h5>Done at Last</h5>
<p>Once all these fixes were in place, the mission was very solid. It was exciting and varied, and everybody enjoyed playing it. At this point the game was going to ship in like a couple of weeks, so the mission was quickly signed off by the senior designers and locked down. I was done with it, and pretty satisfied.</p>
<h4>Lessons Learned</h4>
<p>As I had learned time and again in my missions, creating fun within the systems of Hulk depends on creating tightly constrained encounters with clear objectives. Some games thrive on open-ended objectives; Hulk is not one of them. Here are some of the reasons why:</p>
<ul>
<li>Being a movie game, Hulk was inevitably unpolished and rushed. Its various systems (environment, AI, locomotion, combat) did not work together smoothly; the only way to create reliably entertaining gameplay was to script it carefully. I could have ignored the lack of polish in the game&#8217;s systems and tech, set up a looser, more open-ended mission, and blamed the terrible gameplay on the systems and tech guys. Instead, I treated this issue as a constraint and did my best with it. By carefully scripting constrained encounters, I could ensure that the player would experience the game&#8217;s fun side.</li>
<li>Simple brawlers, even of the open-world variety like Hulk, don&#8217;t naturally lend themselves to open-ended gameplay, because from a gameplay perspective there usually isn&#8217;t more than one way to accomplish something. Hulk consists of a straightforward combat system and a locomotion system, without a lot in between; no secondary or tertiary combat mechanics, no car jacking, no gravity gun, no stealth. This is a good thing for a primal game like Hulk, because it allowed us to develop a tight, satisfying combat system without extraneous distractions. To support this core experience, it was necessary to construct appropriately restricted missions.</li>
<li>On top of this, we were making this game for kids and the mainstream audience of the film. We had to be especially careful not to make hardcore assumptions and lose the player. This was no place to take risks with loose player direction.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrlorentz.com/blog/incredible-hulk-diary-mission-113/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Incredible Hulk Diary: Introduction</title>
		<link>http://www.davidrlorentz.com/blog/hulkdiary-intro/</link>
		<comments>http://www.davidrlorentz.com/blog/hulkdiary-intro/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 18:53:59 +0000</pubDate>
		<dc:creator>David R. Lorentz</dc:creator>
				<category><![CDATA[Incredible Hulk Diary]]></category>
		<category><![CDATA[hulk diary]]></category>
		<category><![CDATA[incredible hulk]]></category>
		<category><![CDATA[mission design]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.davidrlorentz.com/blog/?p=52</guid>
		<description><![CDATA[Last year I worked as a mission designer at Edge of Reality in Austin, Texas, on &#8220;The Incredible Hulk,&#8221; a multiplatform title that came out with the Edward Norton movie. Things were incredibly rushed (as dictated by the immutable law of movie games), and I never got much of a chance to keep track of [...]]]></description>
			<content:encoded><![CDATA[<p>Last year I worked as a mission designer at <a href="http://www.edgeofreality.com/" onclick="pageTracker._trackPageview('/outgoing/www.edgeofreality.com/?referer=');">Edge of Reality</a> in Austin, Texas, on &#8220;<a href="http://incrediblehulkthegame.com/" onclick="pageTracker._trackPageview('/outgoing/incrediblehulkthegame.com/?referer=');">The Incredible Hulk</a>,&#8221; a multiplatform title that came out with the Edward Norton movie. Things were incredibly rushed (as dictated by the immutable law of movie games), and I never got much of a chance to keep track of my designs and document them for posterity. I left the company when Hulk was completed, and totally overlooked the value of taking some dev screenshots or documents home with me&#8211;which would have been useful not just for my professional portfolio, but also as a way to remember that very busy, over-caffeinated, and tumultuous period in my life.</p>
<p>Therefore, in lieu of any physical documentation of my labors on Hulk (save the game itself), today I venture to document what I recall from some of the missions I designed and scripted&#8211;the things that worked, the things that failed, and my reasoning.</p>
<p>I don&#8217;t want to spend these posts griping about the shortcomings of the publisher or the developer; that would be easy and probably quite satisfying, but my intention for this series is to focus purely on design, as experienced by me personally. Target audience? Anyone interested in how design works on a major console video game, and/or how David R. Lorentz approaches scenario design.</p>
<p>I will pick several of the more interesting missions, create a unique post for each, and link to them here once they&#8217;re done.</p>
<p><a href="http://www.davidrlorentz.com/blog/incredible-hulk-diary-mission-113/">Mission 1.1.3: Escorting a Tank<br />
</a><a href="http://www.davidrlorentz.com/blog/incredible-hulk-diary-mission-222/">Mission 2.2.2: Escorting a Helicopter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidrlorentz.com/blog/hulkdiary-intro/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
