Ashes of the Singularity has made a lot of progress, but I still feel it falls short of its initial vision of controlling huge armies with advanced command and control tools within the UI. Here are some ideas for improving command and control of armies within the UI.
Currently, it is necessary to manually issue build orders continuously to armies in order to take advantage of the feature of having factories automatically construct units. Additionally, due to UI limitations, it is difficult to organize your entire army structure using this feature because it is impossible to plan expansions of your army above its current size using this feature. Instead, you must construct new units manually using the traditional RTS production system, and form new groups, which you may then use with Ashes' new system to build units automatically which will merge with that army.
What should happen is that the player should be able to manage all their forces from the field, including directing an army to automatically produce units to increase its maximum size. It should not be necessary to turn the screen back to your base to manually manage production or reinforcements.
Repeat Build on Army
This should be a fairly straightforward feature to add. By adding a "repeat build" option on the army, rather than only on factories, it should be possible to define an army's composition only once, and have the game constantly create new construction orders based on whichever units are missing from that army. As the unit fights and loses units, its current size will thus be less than its defined roster, causing it to automatically add production orders to its queue to replenish casualties to return the unit to its previous size.
This should also allow players to queue up expanding the size of the army, by adding roster which does not currently exist in the army. Such as by forming a unit which does not currently contain a cruiser, and assigning a cruiser to the roster which will then be automatically constructed and added to the army.
This means that there are two kinds of members in an army; units which are included to meet or to match the unit's defined roster, and additional units which are added because they are available, to expand the army above its defined size, because those units are on hand, and because the player has defined the logic of where to assign these lower-priority extra units.
For example, if a player defines an army's roster as containing 30 of Unit A, and up to 60 of Unit A, then that unit will request replenishment if it contains less than 30 of Unit A, and a lower priority request for if the unit currently contains more than 30 of that unit type, up to a maximum of 60. If the units are around anyway it will incorporate them.
An additional use case of this is the "infinite repeat" for army expansion, useful for defining a "main army" which will forever maintain a bottomless list of low-priority requests to expand its size. Your army's roster might be of a certain, limited size, but your factories should not on any account stop production just because all your armies have reached their minimum required size.
Global production allows a player to define unit construction rules which will apply to all factories. These rules are a default which is a fallback in the event that a factory does not have any explicit orders.
In descending order of priority, factories should follow: 1) orders given directly to the factory by the player, 2) army-specific production requests, and finally 3) general global production requests.
The global production queue would look exactly like a factory build queue panel, except infinite repeat is always activated. Defining a global policy of a build ratio of 5 of Unit A, 3 of Unit B, and 2 of Unit C, means that a factory which has fallen back onto the global build orders has a 50% chance of selecting to build one of Unit A, 30% chance of selecting to build Unit B, and 20% chance of selecting to build Unit C.
Automatic Unit Assignment Stances
To assist in the automatic management of armies, units should acquire an additional "stance" referring to how armies should treat them. There are three possible states; 1) member of army, 2) unassigned and available, and 3) unassigned and unavailable.
Units which are already a member of an army are usually unavailable for automatic assignment to a different army (but this can be changed, either by the player, or automatically such as in the case of a reserve army). This includes units which are created specifically for an army that requests they be produced.
By default, other newly produced units should be "unassigned and available." This stance means that although the unit is not presently a member of an army, and an army that requires a unit of that type is allowed to grab it instead of always requesting a new unit be constructed.
The player could also choose to designate a unit as unavailable, despite not being a member of an army, such as for sending out a scout unit by itself or otherwise if the player wishes to send out only one or two units, and does not want an army automatically grabbing them.
A factory set to permanently auto-construct units of a particular type and rally to a target location will thus create a pool of available units waiting at that point. Armies which need units of that type should prefer to grab units which are already constructed rather than order a new unit to be constructed, unless it would take so long for the unit to link up with the army that it would be quicker to just build a new one from a closer location. These newly constructed units could form into "reserve" groups, which are largely the same as armies, except their stance allows other armies to steal units from the reserve army.
Garrisons & Army UI
In addition to armies, there should be several other types of logical combat groups. These are basically armies which have different behaviors.
A "garrison" refers to a group of units which are tasked to defending a capture point. An army that is assigned to guard a capture point will become a garrison army. Garrisons will engage enemy forces that approach the capture point, but will not roam too far away from their post. Garrisons have a HIGH priority for replenishment of casualties, but a LOW priority for getting additional units which will expand their army's size.
The UI panel for armies should be changed from a sea of icons representing the army's contents to a single icon for each army, possibly with a numerical indication of its current strength. The idea should be to have many different armies, without necessarily being constrained by the selection hotkeys of 1-9 and 0. Multiple separate armies controlled by one player participating in the same battle should be quite typical in larger confrontations.
The armies should be listed based on their type (although armies may switch types based on mission), including attacking armies which are moving around capturing points, as well as defensive armies/garrisons, and reserve armies being automatically assembled from newly constructed reinforcing units. It might be worthwhile to have an additional army type panel specifically for dreadnoughts, allowing players to click the icon and quickly zoom to the selected dreadnought, most likely with its attendant forces.
Queued Capture Orders
It should be possible to issue an army an order to capture a target area, and queue orders to capture more areas. If you do this right now, the army treats the capture point like a move waypoint and will move on after it moves to the target point, without waiting for the zone to be captured. The behavior this should execute it the army will move to the target capture point, wait until it is captured, and then go to the next capture point.
Allowing queueing of orders to capture sectors would make it much easier to manage large maps with many armies, since every army will not require player attention every time it successfully captures a zone. If a player's plan involves sequentially taking several sectors, the army should be able to execute those orders without further player intervention.
Currently the automatic build feature of Ashes does not really allow the player to keep their focus on their armies. You have to constantly form more groups and assign them more build orders, as well as manually manage factory production in order for those new groups to have members. And, to the extent that the player's focus is on the army, it is generally to constantly queue more units to replace casualties, rather than allowing true automatic production.
In a game where there are thousands and thousands of units on the field, manually clicking to enqueue reinforcements or build new groups quickly becomes a chore. Even manually managing individual factories, which is not as significant a task in a smaller-scale strategy game, would be much better to automate as much as possible.
It should be an objective for Ashes, as part of having an advanced command and control UI system, to allow for a higher level of automated unit production, and automatic reinforcement of armies by grabbing ungrouped units. Allowing automatic repeat queues from armies, setting global production orders for all factories, and having army UI streamlined to accomodate an arbitrarily large number of armies instead of just 10 selection groups, as well as different types of armies including garrisons, and automatically formed reserve armies, would all help tremendously in managing the production of tens of thousands of units.