Protection Mechanic
Shield
Prevents the player from taking damage when active.
A 2D action system with shield protection, basic movement, and different attack mechanics like close-range, projectile, and AoE skills with synchronized animations.
Shield
Prevents the player from taking damage when active.
Jump and Dash
Shares the same animation and supports double-jump for extra airtime.
Skill Look Up
A charged attack that launches a vertical projectile while the player holds a “look up” pose.
Close Range Attack
Spawns a Box Collider beneath the player on attack to detect and damage enemies, using tags to differentiate between player attacks and enemy colliders.
Launches a Straight Projectile
A one-time shot attack that disappears upon colliding with an enemy.
AoE Attack That Damages Multiple Enemies
Used DOTween plugin to animate the star projectiles with auto synchronizing 2D Box Colliders with the attack's active frames. The system spawns multiple stars in sequence with delays.
Implemented an enum-based system with customizable patrol paths and four states (Patrol / Chase / Attack / Idle), all inheriting from a shared enemy base for consistent behaviour.
Left, Centre & Right Waypoints
Enemies patrol between configurable waypoints while respecting movement bounds and turn-back logic.
Enemy Prefab
All enemies are instances of a base prefab that centralises stats, animations, and behaviour flags.
Chase & Attack Logic
State machine drives patrol, chase, attack, and idle transitions using distance thresholds and timers.
Used Blend Trees, Animator State Machines, and Unity Events to synchronize player and enemy actions with precise animation timing.
Player State Machine
Smoothly blends idle, walk, run, and airborne animations based on movement input.
Enemy State Logic
Controls transitions between patrol, chase, attack, and hit-stun states using parameters.
Player & Enemy
Uses events for attack hit frames, projectile spawn timing, and camera shake triggers.
Replaced Unity’s default camera with Cinemachine to create smoother tracking, predictive movement and reduced jitter.
Framing
Offsets the follow target so the player has more space in the direction they are moving.
Predictive View
Uses lookahead to shift the camera slightly in front of the player for better visibility.
Motion Smoothing
Reduces camera jitter by allowing small player movement without immediately shifting the view.
Designed a UI system with a main menu, settings panel, sliders, and health bars controlled through scripts and events.
Scene Manager
Handles scene loading, restart, and quit options from a simple main menu interface.
Audio & UI Control
Uses sliders to adjust BGM / SFX volumes in real time and saves values using PlayerPrefs.
Player & Enemies
HP bars update based on damage events, with colour and fill changes to show low health.