Bermudos is my first serious game project, developed after completing the Unity 2D Dungeon Gunner Roguelike Development Course. It represents a deliberate effort to apply and push beyond the fundamentals covered in that course.
Genre: Adventure, ARPG
Unity Version: 2022.3.44
Play on itch.io: https://quygdb.itch.io/bermudos
Bermudos is a mysterious island, rumored to grant any wish to those who uncover its secrets. The player takes on the role of Ryu, an explorer drawn to the island by its legend — navigating its dangers, confronting its trials, and slowly piecing together what the island truly hides.
Boss behavior in Bermudos is built on a Behaviour Tree, giving the boss a structured and reactive decision-making process. Its behaviors include:
- Reacting to incoming damage
- Transitioning between combat phases
- Selecting skills based on the player's current state
Inspired by the Bash mechanic from Ori and the Blind Forest, this ability was redesigned to fit Bermudos' combat style — functioning as a long-range parry rather than a close-quarters redirect.
Trajectory rendering with LineRenderer
The projectile trajectory is drawn using Unity's LineRenderer. A formula is used to calculate the tail position of the arrow relative to its current direction and velocity.
Projectile homing behavior is driven by AnimationCurve evaluation, with both X and Y axes normalized to the 0 → 1 range. The core idea is to evaluate the curve's Y value and multiply it by the distance from the projectile to the player, steering the ammo along a defined arc.
Problem encountered: The projectile could not compensate for the positional offset between itself and the player when they did not share the same X or Y axis — causing misaligned trajectories.
Solution: A second curve, Axis Correction, was introduced to offset this discrepancy and keep the homing behavior accurate across all relative positions.
Allin1Shader — Shader toolkit used for visual effects including glow, dissolve, and hologram rendering.
TMPEffect — Adds animated text effects on top of TextMeshPro, used for dynamic UI and dialogue presentation.





