Medieval Demo

This project was created with Unity HDRP, aiming to showcase high-fidelity graphics. This project also features melee combat and more advanced enemy AI.


AI

To make AI more intelligent in this demo, enemies possess an adjustable field of view, as well as modular states. 

 

Each state is a standalone script, containing a start, update, and end method. This allows for modularity and flexibility, as each state does not depend on another unless specified.

Animation

To make the game feel more alive and interactive, animation rigging and inverse kinematics is used. For example, when pulling levers or opening doors, the player's hands are placed correctly on the interactive object.

 

Animation blend trees are used to make the movement feel more fluid. These blend trees can then be easily manipulated through code.

Combat

Combat takes a different approach in this demo. Instead of using script-based combos, the system utilizes animation events. During each animation, a small time window is opened and closed. If the player presses the attack button during this window, the next attack animation will play.


What I Learned

Throughout developing this demo, I've learned a few valuable lessons. The primary lesson being that high-fidelity graphics combined with complex mechanics takes a great deal of time and polish to pull off. The second lesson being about animation-based combat: it does not work as well as you might think. Combat tends to feel clunky with this approach, with the only positive aspect being animation blending.

Code

Below is the code used for AI behavior.