Since I joined the team right in the middle of development, the majority of my responsibilities lied in enhancing or rewriting current systems to fulfill new development needs. As new issues came up, I would prioritize fixing bugs and implementing new features that other team members relied on to complete their own work.
Character Controller Revamp
Prior to my involvement, the team had received feedback on the way the player character controlled. Addressing these concerns was the first thing I focused on. The previous system also did not use the new Unity input system, which I decided to implement in my rewrite.
The main focus of this rewrite was separating the script relating to character movement into different related scripts, as to follow the Single Responsibility and Encapsulation principles of OOP. Animation, Player Input, Character Movement, and Abilities were all put into their own scripts.
Character Dialogue Animations
To further immerse the player in the game world, the team’s artists had created animations for both the player character and all NPCs that were to play while the main character is engaged in dialogue with them. The animations are selected randomly between nodding and gesturing, with the script being written in a way where adding more animations in the future is nice and easy. They are set to play when the player advances the text, adding more life to the game world by giving the illusion that the character is speaking.