Basically this is the place to post to say how you want units to behave in the game, from pathfinding to formations to attacking a target. It's better to add new ideas than to criticize those of others, since in the end the SYs will pick what they like.
My own hopes:
- you can define precise paths: have units move through a precise space, instead of just telling them to move from one point to the next
- the ability to define a waypoint as an area: tell units to occupy a specific space in a specific formation (i.e. in range to bombard a target area you define) when they reach their destination
- you can define priority targets for All units, and also for a specific group; in that system you should be able to define priority between suicide (destroy the most priority targets before dying) or fighting (destroy serious threats before priority targets), and similar choices. These priorities should be managed with a simple queues, i.e. moving important items to the top by click-and-drag
- when attacking, units share the job efficiently to destroy priority targets first, i.e.:
--- no overkill: 50 flashes won't fire all at the same time at the same metal extractor, because 10 of them destroy it in one shot anyways; instead, 10 of them will attack the first one, and the remaining will intelligently attack the next mexx.
--- no useless turret turning: units won't start turning to attack a target if other units are firing at it and it will blow up even before the turret faces the target.
--- take into account the status of friendly units: if a target is being attacked from friendly units but it looks like they'll get destroyed before finishing off their target, more units get assigned to attack that target.
--- keep moving if there's room to manoeuver: moving around generally confuses enemy turrets/units, so units shouldn't stop when they're in range of the target; they should circle/try to avoid enemy fire, while keeping aim on their target.
--- evaluate their chance of success according to the priorities: if the goal set by the player it to destroy the most enemy units, your tanks won't all gang up on a Krogoth theyno chance of destroying; they'll rather avoid firing at him and shoot at smaller units they can destroy before dying. On the other hand if the priority is to damage tough units, your task force will damage the Krogoth as much as possible: of course the poor grunts don't know why, but you know that you're preparing a bombing run to finish him off.
--- distracting/drawing fire: if facing units with a low rate of fire, and still out of their firing range, a single unit of the squad should purposedly move forward to draw fire from all enemies, allowing his friends to march forward and fire at the opponent who is reloading. Of course this depends of how many units there are on the squad, and how valuable they are. It makes sense to sacrifice a flea, maybe not a goliath.
- Construction units working on the same queue should also share the job efficiently: especially with small structures that build very fast, constructors should not attempt to help out a construction that's about to finish (i.e. they don't even have time to get there/open their nanolathe before it's finished), or that they can't reach: they should just move on to the next thing to build. You have to be able to send a group of idle constructors to join in the work of others already working, so that they all try to finish the same build queue
- When being fired at by an unseen enemy, your units should try to calculate the position of the enemy from the trajectory, and fire back with low accuracy. If there's any weak scout around, he should probably go look for the offender. That's another thing to set in your priorities: how much you want expendable units to sacrifice to scout/draw fire from the enemy.
- Priority zones to defend: if you have identified a corridor of attack against your base, it would be a nice feature to be able to tell your base defenses to watch this area in priority - which means they'll stay aimed in that direction when idle, instead of resetting back to a default position. If you don't define a priority zone, your units should remember from which direction the enemy comes more often and aim there.
- Preparing: if your units see a large force coming up on radar, they should prepare to receive them, by preparing their aim, with patrolling units that cover that area coming back, and vulnerable construction units fleeing the site of the coming carnage.
- Hard to express but important: waiting to fire: if a column of tanks is moving up a canyon and there's a detected target on the left side, which you can only fire at through a small breach, units should not fire at it while their LOS is blocked, as they do in TA. Since they are ordered to move forward, not to attack that target, they can only fire at it while they pass in front of the breach, so each tank will get a single shot: if they don't turn their turret in advance and wait for the right time to fire, chances are they won't be reloaded and won't be able to shoot the target.
- When on the move to some place, if the location of some enemy unit/radar tower is known (i.e. a peeper just flied above it), your units will try to avoid getting detected by moving just outside its LOS/radar range. Of course they shouldn't deviate much from their path to do that, but sometimes you get an idiot who tries to go around the others, instead of waiting to go through a tight place, and then he gets shot at by an enemy which was already known.
In the same way, when travelling with radar jammers, units should try to stay within the jammed area.
- Radars should probably be able to detect and identify each other as such, on the minimap and game map: you can't send a stream of waves to bounce off the enemy and stay hidden at the same time. In the same way, jammer effects should probably be shown as a shroud or shimmer on the minimap, instead of being totally invisible. Of course this is a gameplay issue, it could make jammers less useful.
- Unit collisions should cause damage, and units should use this feature to ram lighter units if possible, and to push out of the way wrecks or enemies lighter than them to make way for the rest of the army. Fast units such as fleas could kamikaze on enemies if that causes more damage than their puny laser. Planes should also crash on enemy buildings instead of randomly, if possible.
When coming down a slope, units should "brake", to avoid coming down too fast and losing control - unless they have the opportunity to ram enemy units at the bottom of the slope, in which case they should go crazy. This works better for tracked/wheeled units than with Kbots, of course.
- Repair units should automatically repair surrounding damaged units. Here again, a priority queue would be very useful: it could contain very general items such as "repair armed units first", or specific ones such as "repair flashes first". You could override the queue for a specific unit/group. Creating an item in that queue would be a simple matter of clicking on something from the map, or selecting from well-organised list or treee.
- Repair units should be able to repair "on the move", without constantly opening and closing their nanolathe when their target is moving. The target being repared and the repair units should try to synchronize their movement to allow for the repair.
- Units moving together should collaborate to clear the path: if there are rocks in the way or trees don't fall as soon as you touch them, units with appropriate weapons should destroy the obstacle without player intervention.
-*Important*: An appropriate way of overriding all these automatic behaviors has to be devised, so that if your units are doing something stupid (which will happen, as it does with real soldiers), you can immediately take over. Something that gets me crazy when I play Warcraft III is that when you want to retreat units on the default agressive setting and you click away from the enemy, your units will often turn back to attack them, and get killed. Sometimes you just want manual control!!!
Yay a long list! I hope you help me make it longer.
