Strategy, Tactics, and Games

First of all, read this post.  Now.  http://www.ribbonfarm.com/2007/09/24/strategy-tactics/  It is pure genius.

After you’ve done that, I have analysis to do.  I’m not going to regurgitate a single shred of the information in the above article because I have too much to say.

First of all, the author Venkatesh Rao is absolutely correct, and not only did this idea never occur to me, I never thought to question the idea that the fundamental assumptions used in the creation of strategies and tactics were fundamentally flawed- adding a level of meta-tactical formulation that is essentially lacking in most decision-making.  Now, more specifically, the idea that tactics are general and strategic thinking is unique to situations, while it appears to be generally true, and it’s a much better approximation than the old model that strategy is somehow more all-encompassing than tactics, it falls victim to the same thinking that the old model did.

What do I mean by this?  Well, strategy by this definition does actually include tactics necessarily.  Because it’s constructed for an individual circumstance it must necessarily be built up from the different tactical options available to the agent.  However, tactics do not necessarily have to be a part of a grander or lesser strategy.  A tactic can be described in pure game-theoretical terms without any real-world interaction.  This is accomplished by building a tactic up from axioms in a way that strategies derived from doctrines aren’t.  A doctrine is an assumption about the world for practical purposes and is therefore derived from experience in an inductive fashion- as a practical assumption which is most often true, or otherwise useful to assume.  Tactics derived from axioms are arrived at deductively.  For example, in a military situation, we know that we want to destroy as much enemy materiel as possible while incurring as few losses as we can.  This is not a doctrine- this is an axiom.  Similar axioms are such assumptions as “guns have range” or “guns are highly lethal to humans.”  So if we build up a number of axioms like this we can arrive at a situation where we have whatever weapons in whatever known situation, and we can compute tactics such as have troops use cover, use infantry with anti-armor weapons to engage enemy tanks, use tanks to engage enemy assault infantry, etc. etc.  So maybe we arrive at an effective tactic of creating a formation with the tanks in the front, and a large number of infantry in a supporting role, to be brought forward when the enemy fields their tanks.  It’s important to note that we can change these parameters however we like and we’ll arrive at different tactical results.  For example, if we changed the situation to include the axiom that all infantry are highly effective at killing tanks, then it may not be worthwhile to field tanks at all because they would be destroyed too easily, and it certainly wouldn’t be a good idea to have them go first if they were all you had.

In a strategic sense, we have a different way of looking at our available units.  We could talk about units in the same abstract sense as before and still come up with concepts of strategic interest, but in order to formulate a valid strategy we would really need to know the specifics of what we’re dealing with.  Do we have 122 tanks and 300,000 troops to call upon?  What’s the supply situation, what about morale, training, enemy targets available, etc. etc.  From this we might formulate a diverse array of potential strategies to maximize the effectiveness of the resources available.  However, in order to do that we need to have both good doctrine, or practical assumptions about the nature of the world, and good intel, or exact specifics about the situation at hand.  The difference is fairly easy to handle.  If we know that setting the tempo of the military engagement is critical, that’s a doctrine.  It has direct strategic significance by reducing the infinite field of possible strategies down to a more manageable number of probably useful ones very quickly.  Intel would be “the enemy has 513,889 soldiers located in that city” or “the enemy is going to attack in three days.”  Intel is necessary for making operational decisions, or low-level instance decisions.  I suppose it could be said that operations are simply a lower-level form of strategy, but they’re low enough level that it is practical to consider them fundamentally different.  Strategic thinking is necessary to make them work, as opposed to abstract tactical deduction, but the strategy selected is known and an implementation is all that is required.

Strategic thinking is not, as I and many others once thought, “higher level” than tactical thinking.  I would argue that it requires more experience and more intelligence to think strategically in a given field than to analyze it tactically.  With strategy, you are necessarily dealing with imperfect information and chance.  Chess is a game of pure tactics, with very little true strategy.  I would argue that more complex games like Go actually do include levels of strategic thinking because you have to address the board at hand and your opponent in a unique fashion.  However, in chess, you don’t care who your opponent is or what the individual situation is.  Given a sufficiently advanced derivational strategy you could compute the ideal move in a given situation.  The same thing could be said for Go, of course, but the computational capacity required is so immense that it is utterly impossible with the resources of a human brain.  However, chess masters make this sort of analysis when deciding what to do.  Ah, who cares about individual games.

Real time strategy games tend to contain strategy, with a fairly sparse diversity of individual tactics.  Some tactics that are generally common in all RTS games are things like rushing, turtling, spamming, and so on.  Strategically, however, you have to look at the terrain and what units your opponent is fielding and make a decision that will only hold for this specific situation.  One of the main flaws in RTS games in my book is that maps tend to play out the same way each time because the terrain has too little effect.  This sounds like I’ve got it backwards, but bear with me.  Two armies meeting in a field with no terrain at all have very few factors to make strategic decisions on.  Barring some really different logistical or technological factor, the battle will probably play out much the same way every time you ran such a simulation.  Now, if you added in a little terrain, just enough to create a few significant areas of strategic significance, then the nature of the game changes.  Both sides try to hold the same strategic areas, and succeed to the degree of the resources available and the ease with which they can hold a specific area (if it’s closer to them, etc).  However these battles will also play out the same way every time because there aren’t enough options.  If you’ve only got a few points of obvious interest to both sides then they’ll fight over them every time.  The tactics utilized to obtain them may be different, but the strategic objectives are not up for negotiation.  In order to have a strategically interesting game there must be a greater number of possible strategic choices than a given side can hope to capitalize on.  What do I mean by this?  If we increase the number of points of strategic significance, up to the point where it is no longer an option to simply take them all, then the game starts to become strategically interesting in the sense that different players will make different strategic choices on the grand scale.  Now, I have to mention here, that it is also important to have multiple dimensions of possible choice.  If you have a wide selection of areas which will all give you resources, then the strategy doesn’t actually change.  You just have to get as many of them as possible- and the order that you take them becomes the individual strategy and doesn’t make an interesting strategic setting.  Perhaps the best way to create strategic significance is to give the players the ability to create strategic weapons, and depending on where they place them, the course of the battle changes.  The issue with this method though is that a given setup will lend itself to specific places to put such weapons.  So if you put these choices in the players’ hands, they’ll quickly settle on where the best choice is and just repeatedly place there.

I am trying to bring to light the principle of strategic consolidation.  This is known in game theory as Nash equilibria.  Ideally, in order to create a strategically interesting situation, you would ideally make it so that there are no Nash equilibrium for your setup.  However this in almost an impossible task.  So instead you can set about creating as many of them in as complex a formulation as possible so that it doesn’t play out the same way too often.  I would posit that there must be a way to create a game which, from its fundamental structure, will be strategically interesting every time.

Now how would we go about doing this?  The first point is we must somehow factor in the right level of extra-structural and intra-structural factors.  Meaning, the map, player choices, and other circumstantial factors must have a variable level of influence, but not so variable that any one of them can ever break the game.  Of course, it would always be possible to create a map which breaks strategic interest, or for a player to be outright retarded.  However we as the hypothetical game designers get to put certain parameters on these things.  For example, maps should be between X and Y size with properties A, B, and C, yada yada yada.  We will only make a game that is always strategically interesting if our input parameters are followed.  We will also assume that all players will be trying to win, although we have to allow for disparate skill levels.  That said, because we’re trying to make a strategic game, if we’re doing our job right then better players will straight up destroy worse players.  This is acceptable because we can keep the game strategically interesting by always introducing a flaw in any given strategy chosen that the other player might exploit, except that they might not be skilled enough to.

Alright, now we begin in earnest.  Because we want our game to be strategically interesting, we need a large diversity of points of interest, which necessarily entails a map of a certain size.  As a result, we will have to scale our unit balance accordingly.  Ideally we would have bigger maps = better, but then we run into the issue of time limitations.  Games need to be limited to a certain time frame, or nobody will ever finish them and they won’t be fun.  We could get around this in a number of ways, such as having games run in phases or have a perpetual game, or maybe run it in turns, etc. etc.  However all of these will curtail the structure of the game in a significant way.  So instead we’re just not going to worry about time being an issue.  Our theoretical game won’t account for the players having fun in any realm outside of the actual strategy of the game.  For example, we will not concern ourselves with the processing power required to run it, the graphics, the cost of the computer, or the market share of people who might be interested in buying such a game.  So we will have maps that are exceedingly large with lots of different points of interest such as geographic features, resources, and perhaps even significant locations such as cities.  Regarding our resource model- we want it to be simple enough that the player doesn’t have to break their brain in order to get units to play around with, but we also need it to be extremely important.  The ability to reduce the opponent’s ability to fight is a fundamental and necessary strategic concern.  As an aside, in order to have a diverse array of points of interest, we might cheat and have a massive variety of resources.  This is effective to a point.  I don’t know what the ideal number would be, but certainly 100 is far too many.  I would be leery of anything upwards of 10 or 20, and in order to have numbers that high it would need to be necessary to be able to convert them conveniently (at a price, possibly substantial).  The other important issue is logistics.  Most modern strategy games ignore them because they are something of a pain.  However I am confident that it is possible to implement a logistics system that the player doesn’t have to worry about except in the sense that they keenly feel the need to protect it, and to attack the enemy’s.  The player should never have to give orders to manually maximize the efficiency of their logistics systems.  The player is for making strategic and tactical decisions, not daily maintenance.  If they were so inclined they should be able to change whatever they wanted, but a liberal dose of heavily customizable helper AI would do RTS games a great deal of good.  Similarly, the player should be in a position to decide what gets produced, but should not have to manually queue up individual buildings and units.  Using a flexible template system complemented with artificial intelligence would be fantastic.  The player can say “I want a firebase built here.” and the servitor AI summoned will see to it that the location in question has whatever buildings the player associated with a firebase are built there.

In a similar vein, the player should never be called upon to give orders to individual units.  This is a critical point.  The UI built on top of the basic unit level should be sophisticated enough that the player can quickly and easily pick out whatever units they want, organize them automatically into squads, order squads or companies, battalions, armies, whatever to be built and assembled automatically, and have those units automatically organized for them.  If iTunes can do it with massive libraries of mp3 files then an RTS game can do it with units.  Complex reports and commands should be routine.  The player should be able to get a complete breakdown of whatever subsection of units they like, according to whatever criteria they like.  For example, I might ask my war machine AI to give me a complete breakdown of my air force.  It will show me a page saying I have a total of 344,000 planes and then a breakdown by grouping, role, and further breakdown by type, with individual conditions and orders should I ask.  I should be able to look at a procedurally generated map showing what I have where and what they’re currently doing.  Regarding complex commands, it should be possible for the game to understand more complex elements than “move” and “fire.”  For example, if I want to mount a sustained bombing run on an enemy base, it’s not a complex task.  I just want to get a whole lot of bombers and have them kill everything in this here area while returning to base/aircraft carrier for fuel and ammo when necessary.  The player absolutely should not be required to designate every single target for every single bomber, and then manually order them to return.  It should definitely be an option to order specific units to destroy a specific target, but a more abstracted and powerful UI solution would be much better.  For example, I might designate a specific area as an enemy base which I label “southwestern air staging base” or whatever.  Having the game automatically divide the map into sectors would be handy too.  Being able to then draw symbols and regions on this fabric that you can order units around with would be fantastic.  Anyway, I can then designate specific enemy targets within that area with different values depending on how badly I want those targets destroyed.  I might even create an algorithm describing a way to automatically determine which targets I want destroyed more, such as always aiming for factories or artillery pieces or whatever else.  Then when I order a sustained bombing run, my bombers do what I want them to even when I didn’t specifically order them to.  I can go do something else without having to micromanage.  I guess that’s the whole point of this paragraph.  The age of micromanagement is over.  Hopefully future RTS games will realize this, and we will look back on the RTS games of today as basically RPG games with more units.

To go further into what abstraction might do for our strategy game, RTS games need to start having operations.  By operations, I mean a large, coordinated plan with many active elements all going together, which the player could give specific names if they wanted to.  Including specific objectives as conditionals would be fantastic.  For example, if a player defined an objective as “blow this up” then your AI will understand that if the offending enemy is destroyed, that statement will return true.  The player could then have a breakdown by operation to see how they’re going in all their operations at once.  Your operation readout might be:

Operation FIrestorm – In Progress
• 5:11 of planned 14 minutes elapsed.
• 4 of 11 objectives completed
• General force strength 87%”
– notes
• massed assault eastward on sectors B65 through B88
Operation Lightning Spear (covert) – In Progress
• Jammers operational
• Cloaking operational
• believed to be undetected
• 1:30 of planned 7 min 35 seconds elapsed
• 1 of 5 objectives completed
• 100% General force strength

I am aware that none of this seems like it has any bearing on how to make a game that stays strategically interesting.  It seems to me that the main stumbling block for RTS games today is the user interface.  They are just not suited to having a really strategy-oriented game.  The player has to do too much.  While this increases the twitch factor- not necessarily a bad thing, it detracts from the ability to create large and sweeping, grand strategies.  Using groupings to combine individuals into squads, squads into companies, companies into battalions, and battalions into armies would be a huge improvement.  Doing it atomically allows a computer to easily construct the desired units based on input from the player.  For example, I design a squad of 20 soldiers and give 2 of them machine guns and everyone has grenades.  I then say give me a company with 13 of those squads, 3 units of 3 tanks apiece, 1 unit of 3 anti-air vehicles, 2 units of snipers, and 1 command squad unit.  I’ll put 30 of those companies into a battalion, of which I would like you to build one at this base, one at this base way over here, and another at this third base.  Automation is the name of the game, to free the player up for making the decisions that really count.