Enemies in a 2D Metroidvania have to be readable before they’re interesting. A player who dies to something they couldn’t see coming blames the game; a player who dies to something they misread blames themselves — and tries again.

Attack mechanics and damage

Responsive attacks with damage tracking, and animations locked to the frames where damage actually applies. The alignment matters more than the numbers: a hitbox that opens before or after its visible swing makes combat feel arbitrary even when the balance is fine.

Pathfinding

Enemies navigate the level rather than patrolling fixed routes, which matters in a Metroidvania where the player can approach a space from several directions and at several points in the game.

Dynamic responses

The part worth building. Rather than cycling a scripted pattern, enemies respond to what the player is doing — distance, approach, whether they’re mid-attack. It costs more than a pattern and it’s harder to tune, but a fight against something that reacts is a different experience from a fight against something on a timer.

The Acid Fluff

One of the enemies I’m fondest of: it attacks from above with acid rain rather than closing distance, which forces the player to think about vertical space in a genre that mostly trains you to think horizontally.