Similar to The LEGO® Ninjago Movie Video Game my primary role on this project was looking after the game's combat system. Design wanted to take the successful elements of Ninjago's combat whilst also finding new mechanics we could introduce. Due to how we had designed the new combat systems and mechanics, it was a fairly straightforward task to port them over from Ninjago.
One of the major new features we introduced was the Super Attacks. This new combat mechanic was triggered by building up a number of combo points over a period of time before unleashing a devastating attack designed to clear the area of enemies and smashable props. As we knew we wanted a large variety of different attacks we structured them as four different base attack types with a large number of customisation options designed to give animation, vfx and audio as much freedom as possible.
With a number of our combat mechanics from Ninjago making their way into this game we wanted to also focus on a number of areas where we could improve the workflow moving forward so we devised a couple of solutions for this.
The first of these was improving our hit detection through the use of "hitboxes": spheres we could attach to character and item locators, joints and attachments. Rather than simply having a single frame to trigger the hit detection as with previous titles, animators could now specify a frame range for the hit detection as well as which "hitboxes" to enable for a given animation. Further control was added so that design could specify what kind of feedback should be triggered by different hit boxes and to allow vfx and audio to easily manage how different hit types should be handled from an effects point of view.
Another major area we wanted to tackle was improving the Script department's workflow when it came to combat encounters. Our new "Encounter System" allowed the script team to define an encounter, register the combatants to it and define an area the encounter takes part in. After setting up this encounter script would simply need to check if a player had entered the encounter area and set the goons into their attack state at which point the code would manage all aspects of the combat until it finished.
On top of combat responsibilities I provided code support for the game's fourth level: Elastigirl on the Case. which included a number of puzzle elements a Boss Fight.