Spite: Catharsis
TGA Project #6
Engine: Feather Engine (custom inhouse engine)
Spite: Catharsis was a combination of the 5th and 6th projects I partook in at TGA.
My Contributions
Level loading
Navmesh navigation, switching and shaping
Player character
Level Loading
Getting rotations right, calling on the asset store to get the correct meshes, applying the classes that gameobjects needed, and seeing to it that what the level designers put in became reality.
This was done through a scenemanager that handled most of the game logic including updating, deletion, and rendering of the gameobjects.
Navmesh
Making the navigation work for both the player and enemies. Along with allowing them to take their intended height from it at any time.
Currating the navmesh itself so the logic applied upon it could work. Other than that I made it possible to switch navmeshes with triggers allowing the stage to go underneath itself and also make the mesh navigation a lot cheaper for the game to run.
Finally I spent quite a lot of time in blender refining the navmeshes both subdividing them and getting rid of unnecessary or plain incorrect corners and holes.
Player character
Everything from movement to fighting, writing the logic to allow everything to be imported from a player settings json which gave the animators direct control over how soon an animation could be interrupted for another action to give the game better flow.
Lessons learned
During this project I had to learn the rough lesson of not taking on too much work from others. Even if it allowed the project to succeed it took me crunching at unreasonable times, taking care of more issues than listed here and costing me time for personal studies.
Other than that I learned to talk with the other disciplines much more to ensure assets come through cleanly and workable to reduce stress on both ends.
And lastly I learned to not just always assume the error is in my own code, how worthwhile it is to ask other teammates about their code and seeing if there’s something else I should discuss with them to find errors in interactions.