Up until now an enemy was a very simple state machine with a few basic behaviors. Random movement, basic targeting, basic attacks.
I didn't find the toolset I was using very easy to intuit or work with. So I worked on a custom behavior tree system called Agent Brains. This gave me all the control and flexibility and ownership I wanted over enemy behavior. I used this system to design a new more advanced agent, one that follows, tracks, predicts, and intercepts the player.
It's even smart enough to begin striking at a player who is moving so fast they'll flash past the enemy, but the enemy reads the player's velocity and knows strike timings to anticipate them entering their strike box at the right time. This helps make enemies able to actually be dangerous.
Then when a player breaks line of sight, the enemy remembers where they last saw their target and continues moving to that location to pursue them. So you have to break line of sight, and stay hidden to escape them.
Then enemy bases have begun to take shape as well. They now populate worlds