How do I make a horde of enemies not run in a straight line?

I’m looking for tips in how to create better AI, I am just looking for recommended paths because I have tested a lot of things and am low on ideas. I have a bunch of enemies that are going to charge at the player. the problem is that if the player is far enough away, they will eventually just merge into a straight line. Do I need to do some sort of EQS system? I have tried detour crowd AI but that isn’t working so am I doing something wrong with the agent radius? Any tips or information would be helpful.

Give each enemy a random location that is close to (but not) the player and have it so once they reach that location (or get within a certain radius) directly charge at the player. The simplest way would probably be to generate these locations to the left and right of the player at a specified distance and then generate a new location for X number of enemies at the same specified distance from the player.

Hope this isn’t helps and isn’t too confusing.