I agree that we need some smarter unit control. If some people want to micromanage their units to death, fine - they'll still get a big advantage since they are smarter than a computer (hopefully).PicassoCT wrote:The more epic Spring gets - if 100 Units are moved , the more the real strategy disappears, and the Units send over the Map (even when moving at speed of the slowest) just form a huge bulk - easy to attack, self blockading and not controllable. With simple Formation you archieve a sort of controll, but i still saw AntiAir & Con Units in Front while the Warriors stood far behind.
Therefore i like to ask if one of the Programmers is up to the Task of Producing a Advanced Formation AI.
SupCom has already implemented something similar to what you say. In the beta, ctrl-right-clicking makes unit move in formation, with units placed somewhat smartly. You can even change formations by left-clicking while you're still holding the right button.
Maybe this can be implemented with somewhat smart unit behavior rather than a real formation. Units should be aware of others that share the same orders ("group"), and if ordered by the player, should try to stay rougly as a group. That is, the group should not cover more than a certain area, depending on how many units are in, and on a tight/loose setting (that's for those who are afraid of being vulnerable to area of effect fire). Then the following behaviors should happen by themselves within the "group":
- tankers tend to face known enemy positions and especially to get between them and weak units.
- artillery and large missile units try to get in range of enemy positions, but without leaving the cover of tanker units.
- vulnerable units such as constructors, jammers, radar, etc generally try to stay safe (far from enemies and surrounded by friendlies)
- scouts and fast units should act as skirmishers, as you said, to provide LOS, kill mexxes, and harass slow units while drawing enemy fire. But they should not be suicidal, ie. they don't wander more than a certain distance from the group, and they return to it when in serious trouble.
All this should feel very natural, and doesn't prevent you from controlling your artillery (or *insert favorite unit here*) yourself by keeping it in a separate group. These behaviors above would emerge especially when you send a hodge-podge group of units at the enemy.They will act as if they had some will to survive, that's all. And you'll still have control of how much they move within the group with the hold position/roam/manoeuver setting.
As far as CPU use is concerned, I think a lot of the above can be done with flocking behavior, that Spring already incorporates, at least to help units avoid each other. Basically it works with attractors/repulsors: currently units tend to move away from each other (like electrons), but this force decreases a lot with distance. So add attraction/repulsion points toward the edge of the group, known enemy positions and the safest spot in the group, and you've pretty much achieved all of the above. I doubt that using the current pathfinding system in a different way would result in much more overhead, even though there are more variables to take into consideration.
Now if I was a programmer (I'm learning, maybe one day).....