Overview
Game:
G.I. Joe: The Rise of Cobra

Platform:
Nintendo DS

Developer:
Backbone Entertainment

Tools used:
Character behaviors were written in XML, level design elements all edited in Maya

Time taken:
This battle took approximately 30 days to build from start to finish, this includes the amount of time spent balancing and responding to focus test feedback


The Baroness was the first piece of major scripting that I did for G.I. Joe. I planned the battle, scripted the actors, wrote the dialog, and implemented the level scripting.
Because it was the first done, this boss battle was probably the most heavily focus tested portion of the game. Which was a good thing. We were building for a young audience and the timed aspect of this battle ended up giving them more trouble than I had assumed it would.
Battle mechanics
The Baroness is a fairly evasive boss. Since the fight is timed, I built her behaviors around playing out the clock rather than straight offense. She's invulnerable unless firing. Even her most powerful attack, throwing a grenade, is designed to allow her time to get off the player's screen again by forcing them to jump away.

     The Baroness
  • Her default behavior is to pick a waypoint and run straight for it
    • When she reaches the waypoint, she pauses to aim at the player
      • If the player is in range, she lowers her shields and attacks
      • If the player isn't in range, she restarts her default behavior
    • If attacked while moving, she dodges away from the player before returning to her default behavior

     As health decreases
  • At 2/3rds remaining health
    • Reinforcements begin spawning throughout the area
    • She begins throwing grenades at the player after dodging
    • Her aiming and shooting states get a little quicker
  • At 1/3rd remaining health
    • She begins throwing grenades at the player after shooting
    • Her aiming and shooting states get much quicker

Time limit
From the start of the fight, the player has 5 minutes to defeat the Baroness. The time remaining is always displayed, but I communicate the urgency through in-game messages and increasingly intense particles being emitted by the missiles the player is trying to deactivate.
  • A timer in the upper right corner of the screen counts down from 5:00 to 0:00
  • A message from base updates the player every minute
    • These messages do not pause the game
  • Particles advance through 4 stages of intensity
    • They increase in intensity every minute
      • At stage 3 the camera begins shaking throughout the level
  • If the Baroness hasn't been defeated before the timer ends, a failure message plays and the player is taken to the game over screen
    • The boss battles are handled as individual levels, so this has the effect of forcing the player to restart the fight but not of having to re-reach the boss
Interactive hint text
One of the biggest challenges of building this fight was coming up with ways to teach the player how to beat it without beating them over the head with the solution. The battle is timed and the player can potentially keep the boss in states where she will never take damage. I dealt with this through tutorials integrated into the level scripting that responds to the player's actions by becoming progressively more explicit.

     Baroness taunts
  • Every 4th time the Baroness dodges the player's bullets she randomly chooses a snide remark to make about their inability to hit her
    • These taunts do not pause the game, so that there aren't too many breaks in gameplay

     Help message
  • Every 4th taunt becomes a message where one of the Joes tells the player to watch the Baroness for an opening
    • This message pauses the game, which, even for text skippers, highlights that this information is important

     Positive reinforcement
  • After the player has seen the help message, I activate a new message that plays after they have allowed the Baroness to shoot, this message tells them how they can damage her
    • This message also pauses the game
    • After they have damaged her, a message plays to congratulate them
      • This message does not pause the game

It's a simple thing, but there was a point where major changes were considered to this fight due to the difficulty our focus groups were having beating it. Implementing these tutorials took us from 90% of testers failing the boss fight to 90% succeeding.
Player start point Boss actor Boss waypoints Enemy spawners
Effects emitters Camera node Door props Boss fight trigger