Game Development Experience - Jamman65/Game-Dev-Portfolio GitHub Wiki
Within my university course, I have learned a variety of techniques to animate characters from 2D to 3D such as movement animations within 3DS Max, animating within unity using animation events to perform specific user-created functions to apply certain actions based on the time of the animation which is perfect for fast-paced attacks since the damage of an attack will be applied precisely at the correct point. Also, I have learned how to key-frame face rigging a character for dialogue within games. Most of these skills have been developed using 3DS Max.
Specific animation principles that I have implemented into my own animations to use within my development:
- CAT Rigging - This involved skinning the character to a rigging mechanism within 3DS Max to allow the character to be animated by moving the bones of the CAT rig, this also involved a lot of fine-tuning to skin the character correctly and ensure that there were no major weighting issues within the final animations.
- Face Rigging - Face Rig development allowed me to learn how to create a different facial expression and animation for each sound within the dialogue. In my animation unit, it required me to create 12 different facial animations in order for the dialogue to perform realistically and key-frame each animation at the precise point of each specific word.
Game Engine Development
AI Techniques/Coding Techniques
I have developed and implemented multiple AI techniques within all of my projects to produce a realistic and challenging experience for all players depending on the difficulty using behaviour trees, Hierarchical Task Networks(HTN), Goal-Oriented Action Planning (GOAP) and State Machines to control the behaviour of the AI within my games. I have coded and scripted all of these techniques within Unity using C#
These AI techniques are very useful to develop realistic AI behaviour, for example, I have used state machines to control each action of the AI within the game based on the conditions within the environment such as dodging/blocking if the player is about to attack or performing a counter-attack. Each state is transitioned to depending on the player's actions towards each specific AI since bosses and more advanced enemies will have more complex state machines. State machines are perfect for reactive and fast-paced AI systems.
Example of HTN System
Below is an example of a Hierarchical Task Network that I have successfully implemented within my own project. HTN is best suited for complex systems where the world state and goals are known in advance and the AI needs to plan a list of actions to achieve a specific goal after all of the tasks have been completed.
Example of GOAP System
Below is an example of a Goal Orientated Action Protocol system that I have successfully implemented within my own project. GOAP is best suited to instruct an AI to reach a specific goal by completing actions in the order of priority set out by the developer to reach the final goal by completing all the predefined actions.