Stellar Fever Technical
Base Player Design Document
Main Menu Design Document
Polymorphism in the player
One design challenge that I faced was creating a Base Player that would contain all of the player code while also creating some unique special abilities for those players. Everything was going fine with 3/4 players. Just override the 'UseSpecial()' function. Except for 2 reasons. 1. I needed a way to keep the common code in the Base Player and 2. the fact that the Captain brings up a menu, which the can cancel.
I worked around this by making the UseSpecial() return a bool. This helped by calling the UseSpecial() in an if statement in the base player which allows all the common code to trigger IF it returns true. This allows the Captain to 'EnterTheMenu' 'LeaveTheMenu' and 'Teleport'; where entering and leaving returns false; and Teleport returns true to trigger the common code.
Animations in the Player
I also created a component that would allow for animation montages to player on the Third and First person meshes that the designers could throw in the montages they want to play. The component could be added and you give it a reference to the third and first person mesh. The animation blueprint could handle blending the animations the way they were supposed to.
The class diagram for the Player Module
The class diagram for the Main Menu
Check out more projects below