Probably use line of sight to detect if player is in range of enemy. Then they seem to move when you move so have so have them move towards the player by a certain number of pixels on player movement. You'll need loads of detection though for what spaces are free on the level to move to, you could have a detection sprite around each charac to check for overlaps with walls and then pick a free square to move to each time. The enemies move in exactly the same way as the player right? So once you have the player moving as you want, it would just be the same movement. Also check for if player is colliding with enemy then once this happens you can enable the sub-battle system.