PROTOTYPE: Surprise Attack! Superhero-Cartoon inspired Boss Fight

Inspiration

While I was watching Spectacular Spider-Man (2008) and in many of Spider-Man’s fights with his enemies. They will endanger civilians to distract him in order to get away or land an attack on him. I was inspired to create a boss fight that puts players in that situation, forcing them to weigh priorities and strategize against the Boss. I was also inspired by a Spider-Man villain, Chameleon, who cunningly disguises himself by stealing people’s identities, leading to the uncertainty of who he is in a crowd and where an attack might come from.

Drafting Designs

I started drafting the flow of how the fight would go on paper, and how the Boss would be making decisions. During the fight, the Boss fights the player, chasing after him and attacking with a melee hit, then at an interval decides on a random civilian to target. When the target has been selected, the Boss finds a clear position to shoot them, first aiming their sights, then firing. The player has the ability to push, so they have to run to the targeted civilians and push them out of the way before the Boss fires.

Civilians in Danger! Creating the Logic

To create the Boss’ logic I used Unreal’s Behavior Tree system. The Boss would have the player set as a target and create a list of all the civilians in the scene. On a timer, the Boss would change their state to find a civilian using the EQS (Environmental Query System), drawing a grid on the NavMesh and using it to determine the most visible spot to shoot the civilian from and running there. Once the enemy reaches the location on the map, he goes into a “Shoot” state that draws a line so the player knows who he is targeting, and waits for enough time for the player to make and act on a decision before shooting! The Boss also uses the EQS to find a spot away from the player to heal when he is low on health. 

Making an Imposter!

Now that the Boss successfully targeted civilians and had logic based around the player, I started prototyping the Imposter Situation, where “civilians” being targeted by the Boss were actually his minions in disguise, waiting for the player to come to the rescue before slashing at him, stealing a health kit, and bringing it back to the Boss to heal him. After healing the Boss, this character would act as an “Imp” type enemy, finding a place the player can’t see them, and essentially blending in with the crowd, before trying to attack the player again on a timer. The Imposter is linked to the Boss through their state machines. The Boss creates a list of all the Imposters at “Begin Play”, then when his Behavior State is called to “Fake Out Attack” he calls a random Imposter from the list, sets his sights on them, but doesn’t shoot, but “Activates” them. When the player is near the Imposter while they are “Activated”, they slash at them, and if they landed the hit, they gain a health kit and run to deliver it to the Boss. If their slash fails, they simply go into hiding for a bit of time before trying again.

Side effects of this experience may include: Stolen Health Kits, Betrayal of Trust, Civilians Caught in Crossfire, Enemies Running Away Then Coming Back to Annoy You

Here is the final version of the Boss Fight! Includes a Boss which targets civilians, attacks the player, and signals his minions that he is staging a fake out for the player. The Imposters have full logic to take orders from the Boss, steal player resources, and use them to help their Boss while also being able to go into hiding between attempts to attack the player!

Next
Next

PITCH: Retrospective: “Scribbler”, my narrative game pitch