PROTOTYPE: MinUnion: What if Minions went on Strike during a Boss Fight?

Inspiration

I was rewatching Avatar: The Last Airbender, and the scene came up where Mai and Ty Lee both betray their leader and best friend, Azula, finally standing up to her after years of being subtly tormented and coaxed into her schemes. It was a moment with a lot of energy because without them, the main characters would not have been able to escape to safety. At the same time, I saw on the news that flights to the UK had been delayed because of airport workers’ strikes, demanding better working conditions. I was struck by an idea!

Drafting Designs

Between the Azula betrayal and the airport workers’ strikes, I was inspired to create a boss fight where his minions could be turned against him. I also wanted the player to have an incentive to use this mechanic, so I also made it so the boss was invulnerable, unless hit by projectiles thrown by the minions. The idea was that the boss would be able to damage his own minions mid-fight, losing him their alliance, and you could even provide them with “health kits” to help them and gain their trust. These health kits can also be used to heal yourself, putting the player in a position where they have to strategize. I started drafting some short comics, exploring how the scenario would play out:

Behavior Trees to create a Boss

Once I had established how I wanted the scenario to play out, and how enemies should react to various situations I started prototyping using behavior trees. In order to keep the prototype simple while still getting the idea across, I went for a “Ring of Fire” type format where enemies surround both the player and boss in a circle arena while throwing projectiles, with minions being represented as stationary cubes that change color with allegiance: Red means they side with the Boss, and the more Blue their shade becomes, they side with the player.

I used Behavior Trees to create the Boss’ AI controller that directed him to follow the player and hit him with a baseball bat. The enemy would attack the player when he was within range, and push the player if he landed more than 3 attacks on him consecutively.

Building the Minions

I created the Minions using primitives and had them stay in place, altering their rotation to face whoever they were targeting and throwing projectiles in that direction on a set timer. Next, I worked on a reputation system, with specific conditions that would change the minions’ allegiance:

Actions that got them on the Players’ side:

  • Giving them health kits

  • The enemy attacking them

  • If the enemy killed one of them, ALL the minions would shift to the players’ side

Actions that got them on the Enemy side:

  • The player attacking them

  • If the player killed one of them, ALL the minions would shift to the players’ side

If a Minion died, the Minion Spawner game object would receive a message that it has been destroyed with a location input, add the location to an array which acted as a “Que” of Minions to replace, and spawn another Minion that would “Move To” the previous Minion’s location to replace them, fully aligned towards the Boss again.

Dialogue Additions

To communicate the scenarios to the player, I created mini bits of dialogue that gave the player indications of how the Minions reacted to their actions, such as being healed, hit, or having one of their comrades killed!

Last Thoughts

After putting all the elements together, the Minions turn to face whoever their current target is, get affected on an individual and group level by various actions, and have the only tool that can be used to defeat the boss! The idea was that choosing to help your enemies can actually make them respect you, especially when those around them don’t give them respect, and that can be used to stand up to evil bosses!

Previous
Previous

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

Next
Next

DEV LOG: Fire Raiders: I showed the Game at LaMama NYC!