Key Learnings
Developed as a learning project to get familiar with some Unity's 2d features.
State Design Pattern For A.I
Implemented the state design pattern for the end boss fight and its different phases. Have since found this is by far my most preferred method for programming basic enemy A.I and even sometimes player states.
Physics Raycasting
Great way to calculate whether a player is grounded or not.
Camera Handling and Cinemachine
While my first Unity game used a simple static camera, this game features a lot more movement and a small cutscene before the boss fight. Implemented blending between multiple virtual cameras. Cinemachine is now my go-to way to handle cameras Unity
Unity 2d
Used tilemaps, sprite animations along with Vector2s and the Unity 2d view to get familiar with the Unity2d suite.