This is a bit of something I wrote on RTS games a while back.
It's a bit unorganized in a few place and by now perhaps out of date when it comes to certain things and there may even be games that already do this, but I thought I'd dig it up for the sake of sparking a discussion.
Strategy generally refers to an overall plan of how a campaign will achieve its objectives and involves things like movements of large groups of units and resource management
Tactics are methods use to solve more specific problems, such as moving melee units to the front and having units with ranged attacks stay back.
The problem:In real life, for the purposes of efficiency and effectiveness, these forms of planning are usually handled by different people.
However, the vast majority of Real-Time Strategy games to not differentiate between them, and so there lies one of the oldest problems in RTS games.
Turn-based games usually eliminate the problem by allowing the player really be in many places at once and perform many tasks, and in the case of a few games like the X-Com series, have seperate interfaces for Strategic and Tactical levels of gameplay.
RTS games do not have this luxury however, as the flow of time must keep going consistently.
While it can be argued that this is more realistic because in real life you need to make decisions quickly, this arguement doesn't work very well because in real life these tasks would be handled by a chain of command consisting of several people each handling different levels of micro and macro management. Obviously a lone player doesn't have a chain of command to divide up tasks for him.
What I find surprising is that there has been very little effort by the developers of RTS games to provide an effective solution to this problem, a system that would allow a player to fill the gap left by the lack of a chain of command effectively would be a big improvement to the genre and allow for far more strategic possibilities.
Such a system would need to have some level of autonomy in order to carry out its purpose but at the same time be controllable by the player, after all the player is there to play the game, not have the computer play it for him.
In short, one problem I see with modern RTS games that I think can be improved is the fact that such a large number of tasks are given to the player that would otherwise be assigned to completely different people. Of course, this level of control is part of what makes RTS games fun, so taking away that control is not really an option. However, perhaps there could be a system put in place that can accept more detailed instructions from the player and use them to fill in the gaps.
So how can this be fixed?:Perhaps the first place to start would be with individual unit autonomy. Currently, unit AI in most RTS games is very stupid and understandably so, as they need to be controllable by the player. Any added autonomy would need to be controllable by the player in some way.
In real life, there is the idea of "procedures", "tactics", "doctrines", and "drills". Perhaps a good way to address this problem would be to introduce these into the RTS.
Perhaps a good way to handle this would be to allow the player to create a set of "tactics" or "procedures" that a unit or a group of units can refer to when the player is not available to provide instruction. These "tactics" would consist of ways to respond to commonly occuring situations. For example, "if number of attacking enemy units exceeds [insert number] then retreat back [insert distance]" or "if enemy is present move [insert unit type] [insert distance] towards the enemy and move [insert unit type] [insert distance] away from the enemy". This would allow for traditional direct player control when needed but at the same time allowing the units to react much better to changing situations when the player isn't present using a set of orders defined by the player beforehand.
Such a kind of controllable AI would also be applied to more than just tactics and can be applied to simpler and more repetative strategic matters like resouce management and production. For example, you could give a set of orders that say "make [insert number] of [insert unit type] when [insert resource type] exceeds [insert amount]". Again, direct control would still be possible, but not necessary all the time.
In both cases the point is to have an AI that can follow a set of instructions given by the player, allowing the player to better fill the gap left by the lack of a chain of command. This wouldn't be taking control away from the player as the player still needs to provide instructions and can take direct controll when needed, but this would give the player a way to give a single more complex set of orders that can be carried out multiple times or in response to a given situation rather than having to give many smaller commands at different times.
These commands could be given through a simple interface that includes many commonly used templates where the player can simply insert numbers or unit types, like for example "retreat [insert distance] when enemy group of [insert number] is encountered". Perhaps for more advanced players a more detailed flowchart system can be provided as an option.
With this "chain of command substitute", the gameplay possibilities of Real Time Strategy expand greatly. The outcome of battles can be decided not just by whether one unit does well against another or by numbers, but by more detailed decisions such as how the units take cover or how they move in response to their enemy. Normally such detail in combat would overload the player with tasks to perform, but with a simple AI that can carry out more complex instructions given by the player, it becomes more of a possibility.
Wouldn't this be really difficult to put in a game?:Many games already have some kind of AI that already works on a system of commands that can be given by either by command line or flowchart. You could take an already existing system like this, simplify it, and give it a UI.
Also, when one looks outside the RTS genre, several examples of these ideas being used in-game that already exist.
There are already a few RPGs out there that use a similar system of tactics to control party members.
Game engines for first person shooters often have events and AI that can be controlled by flow charts. Crytek's CryEngine 2 does this to control events when making custom missions for example.
The point is that the technique is already out there, and re-applying it for this purpose isn't that far fetched.
Wouldn't this be a pain in the ass to use?:The interface could be made either very simple or very detailed depending on the kind of RTS.
For example, take a game like Starcraft for instance. Obviously for a fast paced game like Starcraft you'd need something quick, easy, and fast. Perhaps one that works on remembered formations that are triggered when an enemy is encountered that could easily be set by the player with a few clicks.
(In reality, Starcraft would NOT be a good candidate for an RTS that includes such a system, I'm just using it in this case as an example to visualize how simple the interface can be.)
Say I wanted the marines to stay bad and the firebats to stay in front whenever an enemy is seen. I could simply select the firebats and move them to the in front and select the marines and move them to the back. I could press a hotkey to bring up a tactics menu, then right click and drag a line in the direction I want the enemy to be relative to this formation. The game then remembers that formation and triggers it whenever that group encounters an enemy. In just five clicks I would have increased the effectiveness of that group by ensuring that the firebats and marines will position themselves accordingly whenever any enemy comes within visual range and have saved myself frantic clicking that would normally be necessary to maintain such an effective grouping in the middle of combat.
This would free up my attention to other things. Perhaps being able to position multiple groups of units? By assigning similar simple formations to other groups of units, you could potentially coordinate a combined attack, using several groups of air units, siege tanks with escorts, and infantry groups like the one just mentioned. Such a feat would normally not be possible in the game due to limitations in the interface, but by introducing easy way to set formations it becomes possible with minimal affect on pacing.
Of course this wouldn't be the only way to do this, it's just a hypothetical example of how such an interface would work. In a professionally designed game with such a system they would likely come up with an even faster and more intuitive interface, perhaps one involving a context sensitive click and drag.
Also, if it is a commonly used set of tactics then it could be included as a preset that would only require a couple clicks. Different sets of tactics could be saved by the player for later use. (perhaps a nice name for frequently used saved tactics would be "standard procedures")
How about a more complicated RTS like Supreme Commander or something else to that effect?
In that case you could go for a more detailed interface that in addition to a streamlined one mentioned above, could also include the option of using a system of flowcharts. A tad closer to what is already included in various SDKs for the purposes of modding except simplified and streamlined for use in-game.
For example, "if enemy comes within 50 meters | then move unit type A 10 meters towards enemy | and unit type B 5 meters away from enemy | and hold position."
Ok, so obviously it would likely be worded a bit more formal than that but you get the idea. The player would not have to type any text commands or anything like that, just select the availables commands in bubbles and tie them together.
Again, for simpler and faster sets of orders the player could simply use templates that consist of senteces have blank spaces in which to type numbers and dropdown menus to insert unit names.
What about rushing?:What about rushing?
Part of the reason rushing works in RTS games is because of limitations in the interface that prevent the defender from responding quickly enough. In other words, the absence of the ability to set up tactics and procdures beforehand is what often makes this problem in the first place.
In a more realistic scenario, the defender would have likely drawn out a set of procedures to be carried should an unexpected attack occur. A "drill" of sorts that would best utilize any strength derived from the defenders position.
Unfortunately, the idea of the "defender's advantage" is currently non-existant in most RTS games, at least early on, due to interface limitations.
However, by using a system like this establishing a "defender's advantage" becomes possible by setting up a set of defense tactics that would take effect immediately and automatically in the event of an attack and take full advantage of the defender's position. Now the idea of a "defender's advantage" can work the way it should.
Rushing would become more difficult because the rusher would have to come up against a defense that would automatically respond to his attack and has been set up to take advantage of terrain, meaning his forces would be at a disadvantage going in.
Rushing would still be a viable tactic, but the requirements of a successful rush become higher as simply sending the units right on in would no longer be sufficient. Just like in real life, the rusher would have to find a way to nullify his opponents "home court advantage".
Anyway, there it is.
Feel free to discuss, comment, debate, or even bash me for my ignorance.
