My focus for this project was on the game's combat system. This first of all involved working closely with design to examine the current state of combat in LEGO® games and determine which areas we wished to retain, which areas we wished to modify and of course new combat mechanics we wished to add. We also wanted to ensure that the new systems created would be easy to port into any future projects as part of a plan to improve combat across all LEGO® games; something we managed to achieve over the course of this project and the next. A preview of some of the game's combat can be seen in this trailer for the game.
When approaching combat development for this game, we wanted to focus on a few core areas: improving the accuracy and control when in combat, empowering the player and providing rewarding and satisfying moments in combat. We were able to achieve these through a combination of analysing the underlying combat code within the engine to identify potential improvements and also through the creation of some new bespoke combat mechanics.
Some of the major changes made to the underlying system involved modifying how target evaluation is performed providing and prociding design with additional controls for tweaking existing combat mechanics. These tweaked mechanics would find their way into the game in the form of the Arts of "Striking Rabbit", "Rushing Boar", "Swooping Hawk" and "Floating Butterfly" (standard combos, dash attack, double jump slam and homing attack). These combat attacks would tie into the new combo system in the game designed to empower players and provide additional in-game rewards based on combat performance. These rewards included a stud multiplier which would continue to increase with higher combos and the option for players to unleash the "Skyward Dragon": a devastating finishing move designed to finish any enemy off in a visually spectacular manner.
The core "Goon" AI tasks that enemy characters use when in combat was heavily rewritten for this project to provide both a simpler base set of behaviours and easier integration with any new ones. Part of this base behaviour was the use of the "Combat Grid": a system which would generate potential positional data around the player characters which the AI characters would evaluate using a number of methods. These methods all included values and weightings which design were able to tweak to achieve desired behaviour for different enemy types. A number of special behaviours were also implemented for the mini-boss enemies throughout the game. Each of these behaviours was written in a manner that allowed simple integration with the base AI task with minimal dependencies. This gave design the ability to build any combination of enemy behaviours with no additional code support required.