When designing a strategy game (or one in a similar genre), how do you avoid having your players focus almost entirely on micromanagement? What should be done and what avoided in gameplay mechanics?
From left field:
Don't allow the player to give direct orders to his units
The idea is that you give the player's troops the same AI capabilities as the enemy, and then provide him with a goal setting system and a state toggle system.
The player can set goals/objectives attached to enemy units or map locations, such as:
- Destroy this
- Guard area
- Clear out area
These "objectives" can be more sophisticated, and can be revealed to the player progressively during the game so that she isn't overwhelmed by new options.
Then, allow the player to switch the state of the units:
The unit AI then decides how to act. For example, reserve units might decide to spontaneously reinforce a failing defense objective, or patrol areas that the player marked as "To Guard", without the player having given any orders.
You could also set up a threshold system for units (for example, defensive units could have a low "repair damage" threshold, meaning that they return for repairs when they lightly damaged, whereas attack units would have a high threshold, exiting from a fight only when in a critical state.) Giving the player the option to customise states based on these threshold would give great re-playability and strategic depth. The player could then create new unit states to suite her gameplay.
This would eliminate the following complaints:
my troops won't kill weak units before targeting stronger ones, they won't target high dps units before lower dps units, they won't concentrate fire to take out individual units
Since those would be customisable thresholds and preferences.
A good analogy to what I am proposing is that in conventional RTSs, the player gives order to units on a battlefield, whereas in this system, she sets the doctrine of combat and the objectives, leaving the immediate tactics to subordinates (AI, in this example). In essence, she is teaching the AI her command style so that she doesn't have to make immediate tactical decisions.
Don't allow it. Give the player a specific role, and that's it. The guy who gives the orders to attack a group of enemies to the north isn't sitting there at the fight telling each guy who to shoot, he's back at base giving more orders to other soldiers.
For a more realistic/immersive experience, and to discourage/prevent micromanagement, allow the player (to choose(?)) a well-defined role, and don't allow actions that aren't part of that role.
I agree with thedaian but would like to expand upon his point. Most micromanagment is done to make up for the AI being inefficient. When I micro its usually because either: my troops won't kill weak units before targeting stronger ones, they won't target high dps units before lower dps units, they won't concentrate fire to take out individual units (kind of goes back to the kill low hp units before high hp), or they block other units from entering the fight.
The last point is my biggest gripe and the source of most of my micromanagment in Starcraft. Darn buggies will make an impenetrable ring around the enemy units that doesn't allow my shorter ranged and slower units though. As a result I'm having to move buggies 10 feet forward to let my infantry though.
There's simply no point in micromanaging if the AI is efficiently utilizing the available units.
Our life is frittered away by detail . . . simplify, simplify. (Henry David Thoreau)
My answer is similar to those that suggest picking a clear role for the player. What they're really saying is to simplify I think.
The reason micromanagement happens is because there are very many choices to make during play, and in general they only really matter in aggregate, if at all. "Strategy" as a game genre doesn't mean "an almighty pile of things to fiddle with," it means "making decisions with consequences that don't arrive for awhile."
I'll give two very classic examples. Chess and Go are known for very deep strategy but both in both cases it results from very simple rules and very simple mechanical decisions. The state of a chess game can be summarized into, what, thirty-two pairs of very small integers? And your turn is to change the value of one of those pairs!
And yet, Chess and Go are both very well-loved by real military strategists, and have been for a very long period of time. Surely that's saying something important to us armchair generals with our gee-whiz digital chessboards.
Another big problem with strategy gamers is that they have no understanding of how large groups of fighting units actually work together. I've heard an aphorism, that "armchair generals talk tactics, real generals talk logistics."
Think it over. Say I can position a particular starfighter in a space 4X game. Starfighters work in squadrons, and breaking them up to has dramatic logistical and organizational consequences. So why does the game let me move around an individual starfighter? That'd be like the President of the United States calling your math teacher to give her suggestions about the day's lesson. I'm the grand admiral of a mighty space fleet, so my units to move about the board should be task forces and battle groups.
There are ways to let players work on organizational choices though. For instance, paper war games use "operational turns" which only come around once every several "tactical turns." I can't recommend paper wargames enough for understanding good strategy game design. James F. Dunnigan has written extensively on this kind of thing; his Complete Wargames Handbook is very insightful, provided you're willing to see past the datedness of some of the discussions.
If you want players to just focus on managing resources, economy, etc. you can do what Startopia did. Which is, the player recruits or produces units and then builds structures for them which they'll inhabit automatically. As for combat, player can set up points of interest for the troops to gather at or attack (if it's an enemy unit or building) and assign values to these points so the AI can decide which unit goes where.
If you're making a "hardcore" RTS like Starcraft, then it comes down to "either you learn to manage your economy or you'll get overrun", it's a matter of balancing the difficulty level, you won't stop 20 Hydralisks with 5 Marines no matter how good you are, etc. In multiplayer it's survival of the fittest, either you macro or you lose, so i wouldn't worry about that part.
Instead of click-speed limiting how many orders a player can send, make it an in-game resource. Click too fast and you run our of orders and have to wait to accumulate new ones. Order single units and you can only afford to move a few per minute, but make big group moves and you can keep your entire army moving. There would still be a benefit to micro-manage, but it would be much more expensive in terms of leaving all other units without orders for a long time.
The in-game limit could be some abstract command-point counter (as used in several board wargames) or you could make it more part of the game world, eg by having messengers running/riding/flying to deliver orders. When all messengers are busy the player simply has to wait for one of them to return before being able to send a new order. Depending on theme it could be more or less difficult to make the limit fit in nicely.
Consider dividing the player's focus such that micromanagement is only available at a level of extreme focus. In Starcraft or like games, the interface is the same whether you're building buildings or directing units. However, if there were a context shift between resource management, camp development, large-scale strategic unit deployment, and small-scale tactical unit management, then staying too focused on any one of those areas could be detrimental to the others.
In short, make it so that when a player is engaging in micromanagement techniques, or when those actions are afforded by the UI, other (vital) information isn't visible. This would give your player the opportunity to squeeze the most out of their combat units when they wanted to, but would make such micromanagement untenable over a long period of time.
The common suggestion seems to be to not allow the player to directly control the units at all. However, if you want the player to still have some control over the units, you can take some people's advice of making the AI good enough that micromanagement isn't necessary, or you can try my initial idea, which is to make units that just don't have a lot of micro potential. Some examples of this in StarCraft 2 would be the siege tank, and of course, the colossus.
Make Unit-Orders have a cost per order - regardless of unit size.
Let's say you give the player 10 "tokens" of something per turn - then giving orders to an individual unit costs one token, and giving orders to an entire squad also costs one token. If they have 10 squads, they can give every squad a group-order - or they can give 3-4 single units precise orders, at the cost of some squads getting zero orders.
In other words: let the player balance the decision on when to micro-manage, and when to not. If the AI is good enough for most squads, most of them time, then the player will use that - until a situation calls for finer-grained control than the group AI, then they can give individual units specific orders, at a cost.
This basically turns player Focus, into another resource to be managed.
Don't make a game in such a way that you need to tell your players to not play it a certain way. The controls you give them are there for them to use, and they will assume they are supposed to be using it. Decide what you mean by 'micro', and ensure that players do not control their game units on that level.
You could give short, but noticeable, and random, time-delays for each order given to a unit before it reacts. You could also add a longer transition time for units to switch from one order to another, making them vulnerable to enemy attacks while they prepare to follow a new order. That would also be a bit more realistic than units reacting in an instant to every click
Give them too many units. If you have a hundred units in a battle, not even a skilled RTS player can micromanage all of them. And secondly, make macromanagement more important. For example, in Warcraft 3 micromanagement was very important because macro was weak- low food cap and that upkeep malarky. This is what you want to avoid doing if you want to keep a focus away from micro.
Making the player's army reasonably self-sufficient will help with this. If the army already does what you want, you don't need to micromanage it. For example, special abilities might be 'auto-casted' by default, preventing the player from spending too much time worrying about triggering each ability usage, and more worried about making sure they have the right mix of units to achieve the goal. Strong AI will also be extremely helpful here.
On the engine level, it would help to have units be able to move AND attack at the same time. This means players have much more trouble playing using micro-heavy harassment and animation-cancelling styles well seen in games like Warcraft III (and by extension, DotA) and Star Craft/Star Craft II.
Make the units disposable. If a player doesn't feel the need to keep his/her units alive than they'll likely not waste time managing them as much when they could be doing other things.
Make them cheap in resources. The cheaper units are the less likely a person will spend time trying to keep them alive if they know they can just reproduce them easily. Similarly, make them quick to build. The faster units are being produced the more time a person has to spend actually producing them as opposed to giving them orders. Especially if they're cheap units, this turns the overall strategy of trying to keep units alive to out producing your opponent.
I also agree with automatizing your units as best as possible. Applying general orders of what to do. For example, if an enemy unit comes into range, should they attack? Hold position, should they use any special abilities they have, etc. This, of course, can get pretty tricky, so it could even just be a simple, hold, defend something, or attack. The only issue with this is how far back does it go aggroing units.
Another problem that arises and causes people to micro is path finding. Design your boards to be more linear and open. You can still have elevation but try to avoid cliffs and things that would prevent units from moving in a straight line whenever they're told. A lot of them time in RTS games when units are given a command to move somewhere that is blocked or up a hill they get confused. Path finding has gotten much better recently but it's still an issue in almost every RTS game I've played. This way people can give orders are know that their units are going directly to where you told them.
I'd also suggest making it easy to give general orders without having to turn your attention towards the units. A rallying system would be a sufficient place to start but it'd need to be expanded upon. Perhaps incorporating the passive commands into it so units that spawn automatically are given an order, such as defend or hold position when they get to where they were told to go.
One last thing I'd suggest is making it easy to give general orders without turning your attention away from whatever it is you're doing in the game. Make it possible to give orders to all the units on the board at once, make it easy to select all the units of a given type on the board very easily, etc. Maybe even tie this in to the structure that's building the units. Instead of giving all the orders by selecting the units, select the buildings that make them to give orders to all the units of that type.
Giving the ai all the micro decisions tasks would be the best way. Think about how guerrila fighters work in cells. A leader gives a general order, send the closest cell to x to do x, and then the cell does the actual planning and execution of the task in the way that best suits it's own members and skillsets. Tell a squad or team of units to assassinate a target, and a group of trooper types with machine guns might storm the building they are in, or they might wait till they are on their drive home, be standing in the road, and fire away, but the AI decides that. A cell composed of say, more subtle types, might approach it another way, and a team that has an explosives expert might just explode his house in the night or something. But all the player has ordered is "make that dude dead." And the team that got the order decides how to approach that very general task.
The player is a commander, a leader of a greater force, that level of planning doesn't happen with him. The general just tells his captains to take hills and so on, then the captains tell the soldiers in their squads more specific orders based on the situation on the ground right? And the commander in chief is commanding the generals just to go accomplish a general goal with the forces they command. So...decide where in the hierarchy the player is, and only give them the tools that a person in that position would have. Then say, have a "general" ai give troop movement and general orders, and "captain" ai's managing each squad(take that house, lay mines here defend this location, set these traps, dig a trench and so on), and "individual" ai handling a unit's special abilities (say, deciding to throw a grenade, fight on, flee in terror, go into hiding if his squad is destroyed, to make it back home safe, make a last stand, or whatever)and how to interpret the captains orders. So...layers of Ai that put the player in the position of a SINGLE part of the command chain. So, depending on the command structure your units are in, determines what kinds of ai and how they interact.