A third person online multiplayer brawler.
In Knightly Knockout, the AI doesn’t use a Behaviour Tree. Instead, it checks for a couple of parameters for movement, and performs actions by using an Utility system. It’ll take the distance from it to the target, and consider the amount of damage the target has taken, then use an action appropriately.
For navigation through the various height challenging stages, there were off-mesh links placed for the AI to use.
Accounts + Purchases + UI
Each Player that logins into the server has to create a Playfab Account, and future logins will require that account. The UI for the shop displays characters that can be purchased, and as well, a lobby that checks rooms that are opened is there.
Once entering a room, the various UI prefabs are enabled and sends RPCs when needed to update info across all across users.
Also, by making use of the server database, players could purchase characters and a new portfolio icon.
Within a networked room, the players pick a character each and choose a stage. They can also chat to each other – this was done through sending a RPC whenever a chat message was sent to everyone. The animator variables are synced for everyone, and the animations contain events inside that call locally to show colliders, particle fx, and other required stuff.
The character controllers are all physics based, and will always be fighting against the knockout force if they are getting hit a lot. The positions and rotations of the characters are lerped to display as smoothly as possible without using much data.
Role : Unity Developer
For Knightly Knockout, I developed primarily in C# inside of Unity. Git was used for source control.
The character controllers for the characters are physics driven, however, the velocity is only applied to any hit velocity the character may have gotten.
I coded the gameplay systems, and by using PUN (a Unity Plugin for online multiplayer), the online multiplayer functionality was implemented.
The gameplay system was inspired from other popular fighting games. I developed the skills and attached appropriate PhotonViews