Right now, when you set the units to avoid eachother, they sort of smash into eachother and come to a standstill before moving again.
I spent a while programming this. I couldn't figure out a better way. You could turn it off and try inventing your own system using invisible sprites as detectors.
[quote:1czmj3iw]Also, I want the units to kind of spread out at their destination. I tried making them move to a random point around the mouse when the player clicks, but often their destinations still overlap and they sort of try to "fight" for a specific spot.
That's the problem with giving them random positions to move to. You should try using a predictable algorithm which wont give overlapping destinations, like creating a regular grid of targets.
[quote:1czmj3iw]It'd be nice if I could have them move to a position around the destination based on where they were standing when they started, since that would fix my first problem as well, but I have no idea how I would pull that off.
When giving a move command, calculate the average position of all the selected units, then store each unit's offset to the average position in a private variable. Apply this offset to the clicked move spot and they'll keep their relative positions when moving. You'll probably need a few for each loops in a subevent to do that.
[quote:1czmj3iw]Basically my question is, what's the best way to set up RTS movement for human units from a top down perspective?
Fiddle with the RTS behavior parameters until they work for you. That's it really. RTS games are hard work to make. You picked probably the hardest first project you could've