I’m using the most simple AI for my enemies, but it has some problems. Enemies follows the character and after some time they goes to one place. I don’t know how to explain it, so I made a simple scene, here is the video(imagine spheres are enemies): http://img201.imageshack.us/img201/6026/e1jkgkfvdbucbsqnfrxmcn.mp4(sorry for poor quality). Here is the code:
There is no bug, per se. It is doing what you told it to do. Every enemy is trying to reach the same point, moving at the same speed. That point moves, but still they are all essentially going to always end up on top of each other.
To avoid it you need more more variables in the system. For example, varying speeds of enemies might help some. But beyond that, you probably want some sort of steering behavior to try and keep them apart.
You could just stop them a bit away from the final destination but that would still keep them piling up one way is to check if there is something in front of the bot using ray trace and if there is stop the movement. That would not add much complexity to the game and keep overhead down to a minimum.
I hope this help.