Iron Man 2
Mission 6 – Operation Daybreak. (Screenshot taken from IGN.)
I started at Sega, 6 weeks from the Alpha milestone, and was assigned to Mission 6, a War Machine centric level located on the Helicarrier. The mission at the time consisted of the proxy Helicarrier, a hero start, and a single destructible to destroy and end the level. I had 6 weeks to learn the editor and hook up all the mission logic. Mission logic included objectives, spawns, markers, key destructibles, robot voice, and save points. Mission 6 was the second mission to reach Alpha approval, after the vertical slice level. This lead to me being assigned Mission 7, to salvage and get it working as smoothly as Mission 6.
One of the tasks for Mission 6, was to determine the best way to inform the player of the incoming enemies and their direction of origin. The Helicarrier served as a 360 degree battlefield and we could never guarantee that the player would be in a spot to see them or see the enemy markers. At the time, we did not intend to do a radar so I came up with about 50 barks to be recorded by the SHIELD Soldiers that would play based on the spawn location of the newest wave of enemies. Here is a short list of a selection of these barks.
- Incoming aft!
- Incoming forward!
- Port turret batteries under heavy fire!
- Starboard turret batteries under heavy fire!
- We’re getting shredded back here!
- AIM Drop Ships incoming! Blow them up before they release their payload!
- Intercept the next wave!
- Another wave incoming!
- Attack Run incoming!
- Taking heavy damage on the port aft turrets!
- Taking heavy damage on the port forward turrets!
- Taking heavy damage on the starboard aft turrets!
- Taking heavy damage on the starboard forward turrets!
- Armiger stunned, focus on attack forces!
- That thing is moving again!
- The Armiger is priming weapons again!
- AIM Silos! Take em out before they get in range of the command tower!
- Take it out War Machine!
- Draw em down into the turret’s firing arc!
- Command Tower is taking damage!
- Armiger headed aft!
- Armiger headed forward!
- Watch out for the Armiger!
- Focus your fire on the drop ships!
- Focus your fire!
- Assist on War Machine!
Once a selection of these lines had been recorded and added to the game by the audio guys I was then tasked with hooking them up in the logic so that they would play on the correct spawns.
Here are two waves, with their spawns hooked up to randomizers that would choose one of 10 lines for those two spawn locations. Due to the random spawns, and 6 different spawn locations, it was required to have rather complex overlapping logic to hook the lines into the spawns, without having to add the voice files multiple times to the level. In the end, it saved a great deal of space and worked flawlessly.
Once this was in the game it added quite a bit to the over all feel of battle. I also increased the rate of spawns and the pace of the level picked up to the target I was working towards. However, we found that even having barks with directional queues, the players would rarely listen and be surprised when discovering a large cadre of enemies headed towards them from the other end of the ship. This level was the only one that had taken further steps in situational awareness other than enemy objective markers. Using this level as the example design was able to finally convince Programming that we had exhausted our options and we needed a radar. After a week, the rough prototype radar was in the game and proved to be an immediate improvement and later was dubbed as one of the best late game additions.
My other level was level 7, the Arc Armiger escort Mission. When I was hired, it was the “problem” mission and was unable to be played from beginning to end. Once my level was at Alpha, there was a meeting among the leads on Friday to determine tasks. The discussion of level 7 came up and they discussed cutting it, since it was still unplayable. My lead came to me and asked me to spend the weekend looking into it and possibly fixing it.
By Monday morning, I had the level not only running to completion, but also at the target frame rate.
The mission was mostly plagued by unnecessary physics checks and trigger volumes. By optimizing things and making sure the level cleaned up after itself, I was able to salvage the level from being cut.