SIMULATING ANCIENT STRATEGIC WARFARE

by

Richard Bodley Scott

1. Abstract

This paper discusses theoretical considerations involved in the simulation of ancient strategic warfare. It describes a program developed from these principles for the purpose of controlling multiplayer wargames campaigns.

2. Introduction

The driving force behind this work has been the development not of an experimental simulation, but of a playable multi-player game based on historical warfare and statecraft. This underlying philosophy has had a marked effect on the end result. Since it was intended that the program should minimise the amount of administrative work carried out by the campaign umpire, unnecessary complication was to be avoided. Only those factors that would have a major effect on the players' decision making process would be included. These, as far as possible, should be the same factors as would exercise the mind of a historical ruler.

The program was originally developed on a Sinclair QL using compiled BASIC. It has long since been rewritten in an enhanced version in C on a PC clone. It is designed as a generic system which, according to the scenario data employed, can be used to manage any multi-player wargames campaign in the Ancient, Medieval or early Renaissance period.

Table I lists the important sections of the simulation.

---

TABLE I

MAJOR ELEMENTS OF STRATEGIC SIMULATION

*   Geography

*   Command

*   Movement

*   Conflict

*   Supply

*   Economics

*   Diplomacy

*   Intelligence

---

3. Representation of Geography

The most realistic way to represent the campaign map in the program would appear to be to superimpose a square grid on the map, and record troop positions by means of grid reference. Details of the terrain in each grid square would be held in digital form. Depending on the size of the grid squares, the representation of terrain would be more or less detailed.

Such a system seems natural to modern eyes, used as we are to accurate maps. It may not be so relevant to the simulation of ancient warfare. An ancient commander would not have access to all this information. He would not select his route by poring over the terrain shown on a map, but would follow, for example, a caravan route, the line of a river valley, or the route demonstrated by his local guides. Using a grid system the route must be indicated square by square, which is not only unrealistic but time consuming to input. Alternatively, the start and destination locations can be entered and an intelligent movement algorithm can be used to find the optimum route in between. This, however, involves an enormous amount of processing, and slows the program even more. Moreover the processing necessary to detect and deal with clashes between hostile forces can become excessively complicated.

We may assume that in ancient times there was usually only one viable route for large bodies of troops between two adjacent cities. Moreover, it is not our intention to represent battlefield terrain in detail. There is no real need, therefore, to represent the intervening route except in terms of the average time taken to traverse it, and its difficulty.

Thus we can dispense with the grid and adopt a "nodal" system of movement. Each city on the campaign map constitutes a "node" for movement purposes. Troops move from city to city. The program records their position not by grid reference, but by city. Troops hostile to the owner of the city are assumed to be located somewhere near, but outside, the city. Those belonging to or allied to the city owner are assumed to be inside the city unless they choose to emerge to engage the enemy. The prevailing terrain around each city is recorded, and affects the outcome of any battle fought nearby.

The program database includes a list of cities, and all permissable land and sea moves from each one. For each permitted move the standard movement time is recorded, as movement points (MP). This represents the time taken for a standard troop type to make the journey in standard weather conditions. It is used as a base from which movement for other types and in special conditions can be determined. It is calculated from the distance between the cities by the usual route, and the intervening terrain. This can be determined manually by the umpire from an atlas when initially setting up the campaign. Alternatively, an intelligent movement program can calculate it automatically from a digitised (square grid) terrain map.

An attrition rating (AR) for each permitted move is also recorded. This is a measure of the likelihood of casualties being sustained through physical difficulties en route. The present program grades AR from one to three. In the case of land moves, an AR of two or three usually means a route traversing mountains or desert. Traversing such routes will result in attrition unless both ends are held by the mover. Sea routes are graded one if they are purely coastal, two if a short sea crossing is involved, or three for longer sea crossings. The risk of being caught in a storm, and losses caused if that occurs, increase accordingly. The risk is further increased outside the usual campaigning season.

The nodal system offers several practical advantages over the grid system. Firstly, as mentioned above, order writing and input are simplified, and probably more realistic. Secondly, it is easier to determine when hostile forces collide, because this occurs whenever they are at the same city, or on the same movement route. In the grid system, unless the squares are very large, it is also necessary to consider troops moving through adjacent squares, or even further away, otherwise troops moving from city A to city B and vice versa may inadvertently "pass each other in the post". This could happen in real life in ages when scouting was neglected, but on the whole armies followed recognised routes, so would be more likely to clash than not. The processing necessary to detect clashes in the grid system is more complicated than in the nodal system, and slows the program considerably. Thirdly the grid system requires a more complex and less efficient data structure --- see below.

The nodal system can be extended to include provinces not containing cities, for instance in uncivilised (tribal) regions.

Table II summarises the pros and cons of grid and nodal systems.

---

TABLE II

COMPARISON OF GRID AND NODAL REPRESENTATION OF GEOGRAPHY

*   Grid representation

*   Advantages:

*   detailed depiction of terrain.

*   seems natural.

*   Disadvantages:

*   unrealistic order entry or slow AI movement.

*   increases difficulty of detecting and dealing with interactions between hostile forces.

*   excessive memory requirements or slower access data structure.

*   Nodal representation

*   Advantages:

*   forces troops to use main route.

*   realistic order system.

*   minimum data storage requirements.

*   rapid access to troop data.

*   simplifies detection and resolution of interactions.

*   Disadvantages:

*   Lack of detail of terrain:

*   prevents local manoeuvring for position.

*   ignores tactical effect of river crossings, mountain passes etc.

---

4. Troop positions

The most efficient data structure I have found for troop positions, combining speed of access with acceptable memory usage, involves the use of a pointer-array. In this case, this is a two-dimensional array with one element for each player nation for each province. This element is a pointer to the position in a second array of the details of that player's forces in that province. If the player has no forces in the province, the pointer will be zero, and no space will be allocated in the second array. Forces are allocated or deallocated a position in the second array as they are created, move or are destroyed. Since it is extremely unlikely that the average number of players having forces in each province would exceed three over the whole campaign map, the second array need only have space for forces numbering up to three times the number of cities in the campaign. This compares with twenty times the number of cities if there were twenty players and each was permanently allocated space for forces in each province in the campaign. Since each force listed must have an element for each troop type and additional elements for orders and other data, this represents a considerable memory saving. It also speeds the program up, since in order to determine that a player has no forces at a province, (which is a frequently used program function), it is only necessary to determine whether the pointer is zero, rather than check that the number of each troop type is zero.

This data structure would not be suitable for use in a grid system. Assuming 255 provinces in a nodal system, with 32 players and 2 bytes per pointer, the memory required for the pointer array is only 16K. In a grid system with perhaps 10,000 squares, this would increase to nearly 640K. The alternative would be to keep a list of forces, with their grid position recorded, and sorted according to one or both grid axes. Even using BTREE techniques, however, this would be considerably slower of access than the pointer-array used in the nodal system.

5. Command

As originally developed, the program allowed players to issue commands directly to the troops. This was unrealistic in a number of ways, the most important being that it took no account of the influence of local commanders on the execution of the orders. The other main problem was that it allowed players to give commands to all their troops simultaneously, which resulted in small garrison forces constantly shuffling from one province to another --- not a realistic state of affairs.

The present program allows each player a limited number of named commanders. Orders can only be issued to troops through commanders who are present at the troops' location. Commanders can move about during a turn (which usually represents a month, or possibly longer, depending on the scale of the campaign) issuing orders, provided that they do not run out of time. Troops can only move when accompanied by a commander.

Various factors are recorded for each commander, which may modify his execution of his orders. These include his military skill, reputation, activity rating, loyalty, popularity, health and seniority. His military skill rating affects the outcome of any battle in which he commands. It is not directly known by the player. The commander's reputation, which is known to the player, depends partly on his actual military skill, but modified by a random factor. Reputation is altered by subsequent victories and defeats. Activity rating modifies the speed of movement of the commander's forces, but also affects his eagerness for battle. An excessively active commander might, through over-eagerness, engage the enemy in battle at inferior odds. The effect of the activity rating in the latter case would be reduced by a high military skill rating. Loyalty governs the chance of a commander rebelling against the controlling player. The actual loyalty is not known to the player, who is given a randomly modified estimate of each commander's loyalty, which may therefore be inaccurate. Popularity affects the chance of a commander's forces deserting in adverse circumstances, and also affects the chance of their following him if he decides to rebel. Health affects the chance of illness, and the chance of surviving arduous journeys, wounds and assassination attempts. Seniority governs which commander will command a force if more than one is present. The most senior will command. The death of a player's commander in chief (his most senior commander overall) may result in the revolt of some of his cities and reduction of his troop's morale. To some extent the player is identified with the military C in C, so these are immune from revolt. Commanders can be promoted or demoted, but loyalty may be adversely affected by being demoted or passed over for promotion.

It can be seen from the above that a large part of the player's brief, as ruler, is the proper employment of the commanders under his control.

6. Scenarios

Scenarios can be produced using the separate scenario editor program. This allows to be defined the details recognised by the program, including local terrain types, troop types, combat factors for each troop type in each terrain type and circumstance, availability of recruits, geographical details, legal moves, time scale etc.

The fixed system maxima (constrained by the data structure used) are 32 players (with one position reserved to identify independent forces), 255 cities/provinces, 256 commanders. "Soft" restrictions are to 8 local terrain types, 10 troop types, 8 legal moves by land from each city/province and 8 by sea. The latter maxima, which I have found to be more than adequate, could, however, be easily altered by recompiling the program.

The largest number of troop types I have used in a campaign (late Hellenistic) is eight, comprising Warships, Light Infantry, Phalanx, Horse, Camelry, Engines and Spy Networks. Each of these classes has a special strategic role. Infantry, for instance, are of more value than mounted troops in sieges. Light infantry are particularly effective in difficult terrain, and less so in open terrain. Cavalry are strategically mobile, and especially effective in the open steppe. Camelry are at an advantage in desert conditions. Engines are slow to move, ineffective in open battle, but invaluable in sieges. Further subdividing these classes would not affect strategic considerations, but would increase the work of the campaign umpire. My ideas on the strategic importance of various troop types are not gospel, however. The scenario editor allows them to be defined in any way the user wishes.

Each troop type has a combat value for each of the possible combat situations: Open sea battle, open land battle in each local terrain type, siege --- assault and siege --- regular siege operations (blockade, battery, mining etc). The program requires that naval forces have zero combat value in open land battle, and vice versa, but naval forces are allowed a combat value in sieges. Local terrain types included in the aforementioned campaign are Desert, Mountains, Hills/Forest, Open Plains and Intermediate. The latter category encompasses most coastal areas and the majority of good agricultural land. Once again, further terrain categories could be included, but would not significantly affect the strategic employment of the troop types listed above.

As well as allowing new scenarios to be developed, the scenario editor also permits the modification of existing scenarios while the campaign is in progress. For instance, the geographical area could be extended and new player nations added.

7. Composition of Forces

The present program determines the availability of recruits of each troop type in each province according to the prevailing terrain. This has the effect of producing a reasonably historical profile of forces for each nation, since the composition of most nations' armies tended to be related to their national landscape. A further enhancement would be to allow a different "recruitment profile" to each nation, to better reflect national tactical preferences. This would go hand in hand with a system of combat factor modifiers for each nation. These would take into account the special skills, for example, of Roman heavy infantry and Carthaginian cavalry, compared with Roman cavalry and Carthaginian heavy infantry. The problem with such differentials, however, is that they may reflect historical prejudice rather than any real superiority.

8. Movement

The rules for movement are heavily dependent on the method chosen to represent geography in the program, in this case a nodal system. There is also the question of whether movement is to be simultaneous or sequential. Simultaneous movement would be the more realistic simulation of real life, since obviously one nation's forces would not wait in gentlemanly fashion until their enemies had completed moving all their troops before starting to march themselves.

In a truly simultaneous system, it would be necessary for all the players' orders to be entered into the program before any of them were executed. They would therefore have to be retained as data in a temporary batch file. Once all orders were entered, the program would step through them on a time slice basis. If a time slice of one week were chosen, for instance, each force moving would be moved as far as it could travel in one week, then each force would be moved for the next week, and so on.

This requires some fairly complex processing, and does not really lend itself to the nodal system, where moves are in discrete steps that may take more than a week to traverse. Moreover, a batch system of order processing would not allow interaction with the umpire in the event of orders requiring alteration due to interactions with enemy forces. All such correction would have to be done by the order analysis program, which would require more complex processing.

For these reasons I have adopted a sequential system. Each player's movement orders are entered into the program in turn. Each individual movement order is actioned immediately and in full before the next order is entered. When all the orders submitted by one player have been entered, the next player's orders are begun. Fortunately, even in such a system, it is possible to make use of certain tricks to mimic simultaneous movement to a large extent. Firstly, the program randomly decides each turn the sequence in which players' orders will be entered, so that one player does not always move first or last. Secondly the program keeps a temporary array holding details of all moves where interactions may potentially occur. These moves can later be modified if affected by subsequently moving enemy forces.

As stated above, all movement and combat orders must be issued by commanders present at the troops' starting location. The program keeps track of the "time elapsed" for each commander or body of troops, measured in twelfths of a turn. A separate element per province is allocated in the troop position pointer-array (see above) pointing to a structure holding details of troops in transit to the province. These are troops that have moved to the province that turn, with their "time elapsed" recorded. These "forces in transit" are cleared at the end of each player's turn (by adding them to any static forces belonging to the player that may be present in the province, and setting their "time elapsed" to 0), so it is only necessary to provide one transit position per province for all the players, instead of one for each.

More than one set of movement orders can be given for a commander, provided that he does not run out of time. For instance, a commander could be ordered to move, unaccompanied, to province A. He could then move, together with troops picked up at A, to province B. There he could embark the troops on ships present at province B, and sail to province D via province C. All this provided that he does not run out of time or encounter hostile forces en route (in which case the whole force would stop and its "time elapsed" be set to 12). At each stage the "time elapsed" for the commander and the troops in transit would be updated, so that if, for instance, a fresh commander were to take over command of the force, or fresh troops join it, the highest "time elapsed" is taken as being the "time elapsed" for the whole force, so that extra time could not be "borrowed" in this way.

At each stage the speed of movement of the whole force is taken as being that of the slowest element therein, modified by the activity rating of the commander.

Land units moving without ships can move to any adjacent province using legal land moves as listed in the scenario database. If under siege themselves, they cannot move. If they attempt to relieve a besieged city, they must fight an open battle to get in --- a flag is set to indicate this situation to the conflict resolution program.

Fleet units move to any adjacent province using legal naval moves. In the present program, each fleet squadron can, in addition, transport one land unit. This is recognised to be an oversimplification, and a facility will in due course be introduced to allow for variable transport requirements for different troop-types. Naval movement is not restricted by sieges, since oared ships were not really able to maintain a strict blockade, requiring to be beached at night to rest the crews.

When one player's forces are ordered to move from province A to province B, and hostile forces are ordered to move from province B to province A, (both by land or both by sea), then the smaller force will be forced back to its starting position. This is achieved by recording moves ending in contact with hostile forces in a temporary array, as mentioned above, so that they can be cancelled if the first force to move is pushed back in this way.

Spy networks are set up in a particular province and cannot move.

9. Conflict

Whenever hostile forces are in the same province, conflict occurs. They may engage each other in open battle, or one or both commanders may attempt to avoid this.

Table III shows an analysis of factors potentially affecting the decision to seek battle, and the possible avoiding actions that a commander might otherwise take.

---

TABLE III

FACTORS AFFECTING DECISION TO SEEK BATTLE

*   Command factors

*   assessment of relative strength of own and enemy forces.

*   situational factors: - reinforcements expected (own or enemy).

*   supply shortage (own or enemy).

*   favourability of terrain/position.

*   orders from higher command.

*   eagerness of commander for battle:

*   personal caution/rashness.

*   notions of honour.

*   skill of commander.

*   Other factors

*   eagerness of troops or sub-commanders for battle may force commander's hand.

*   superior mobility of enemy may prevent avoidance of battle.

*   lack of retreat route may prevent avoidance of battle.

POSSIBLE ACTIONS IF AVOIDING BATTLE

*   Harrass enemy: Remain in province, manoeuvre to avoid battle, but harrass enemy foragers, communications etc.

*   Defend city: Fall back behind walls of province's city and defend them.

*   Retreat: Retreat from province.

---

In the present simulation, forces are given combat orders governing their intended actions in the event of conflict. Each order consists of two parts, the Risk Level and the Default Action. The decision to engage the enemy in open battle depends on the ratio between the combat strengths of the opposing forces as perceived by the commander of each force on the basis of current scouting estimates, on the Risk Level order received from higher command (the player), and on the commander's activity rating. The commander's activity rating has a greater effect if his skill rating is low. Thus an inferior commander of high activity would be likely to enter rashly into battle at poor odds --- with probably disastrous results. In the average case, however, a force with risk level 1 would engage the enemy only if their commander believed them to outclass the enemy by at least 25%. At risk level 2 they would do so if at least equal to the enemy, at risk level 3 if outclassed by no more than 25%.

In the event that the commander decides not to risk battle, the Default Action governs what he does instead. The choice is whether to Manoeuvre, Defend or Retreat.

Manoeuvring forces remain in the province, and attempt to harrass the enemy forces without engaging in full scale battle. This is risky, as there is a high chance that they will be forced to do battle, increased if the enemy forces are of higher average mobility. If not, they may cause attrition to the enemy, and may keep them sufficiently occupied to prevent them taking the province's city. They may suffer attrition themselves, however, and the city may fall if the manoeuvring force is too small to hold the enemy's attention.

Defending forces defend the province's city. This of course, is only possible if their faction owns the province, and then not if the province is tribal or the city has been sacked. If these cases they revert to Retreat orders. Defending forces must fight an open battle, as mentioned above, if relief forces have arrived this turn, otherwise a siege results.

Retreating forces retreat to any adjacent friendly province which is not currently threatened by hostile forces of the same type (land or sea) as the retreaters. There is a small chance that retreating forces will be caught by the enemy and forced to do battle, increased if the pursuers are more mobile. If a force with retreat orders has no retreat route available, it reverts to defend orders if it owns the province's intact city, otherwise manoeuvre orders.

In the case of allied forces (see section 12) with differing orders, the combined force obeys the least aggressive orders given.

9.1 Open Battles

Table IV shows an analysis of factors affecting the outcome of battles.

---

TABLE IV

FACTORS AFFECTING THE OUTCOME OF BATTLES

*   Troop factors

*   Numbers.

*   Fighting skills:

*   weapon handling.

*   tactical drills.

*   Discipline.

*   Equipment: (armour, weapons, mounts etc.)

*   Morale:

*   Previous victories/defeats.

*   Strategically advancing/retreating.

*   Confidence in commander.

*   Loss of capital.

*   Death or capture of monarch.

*   Physical condition (linked with morale):

*   Tiredness.

*   Supply.

*   Disease.

*   Weather conditions.

*   Suitability for prevailing terrain.

*   Positional factors

*   Prevailing terrain in area.

*   Battlefield advantages:

*   behind river.

*   on higher ground.

*   cover for ambush.

*   field works.

*   Command factors

*   Tactical skill of commander.

*   Leadership skill of commander.

*   Divided command.

*   Post battle factors (Pursuit)

*   relative mobility of victors/vanquished.

*   availability of retreat route:

*   friendly city nearby.

*   friendly fleet nearby.

*   secure route to other friendly city.

*   morale and discipline of vanquished:

*   orderly/disorderly retreat.

*   Possible results

*   Indecisive engagement: Neither side forced to withdraw.

*   Limited victory: Loser retreats with significant losses.

*   Decisive victory: Loser destroyed as an effective force.

---

In the present simulation, the result depends on the percentage difference between the two sides's combat values, calculated by multiplying the number of units of each type by the appropriate combat factor for the local terrain type (as recorded in the scenario database). The totals are modified according to the military skill ratings of the opposing commanders, the morale of the troops, and a small random factor. The difference is then multiplied by the relative mobility of the two forces.

If the final difference is less than 6% the battle is a draw. If greater than 33%, it is decisive, the losing force being destroyed.

Between 6% and 33% a limited victory occurs. The defeated force loses double that percentage, and the survivors must retreat. If they own the province in which the battle was fought, they retreat inside the city (if any), and, in the case of a land battle, are besieged by the victors. If they were a relieving force to a city already under siege, they are assumed to have cut their way through to the city, but to have lost any supplies they were bringing, so the city is likely to fall next turn unless fresh forces arrive. If they do not own the province, they must retreat to the nearest friendly province, if any. If not, land forces may retreat to their ships if present. If none of these routes of escape exist, however, the losers are destroyed.

It should be noted that higher mobility does not increase a force's chance of victory, but renders a victory more decisive and a defeat less so.

9.2 Sieges

Table V shows an analysis of methods by which a city might be taken.

---

TABLE V

METHODS OF CAPTURE OF BESIEGED CITY

*   Surrender:

*   lack of resolve on part of defenders:

*   poor morale.

*   enemy appears irresistable.

*   city population antipathetic to rulers.

*   running out of food/water. (Blockade).

*   relief force not expected.

*   heavy losses in siege so far.

*   besiegers have history of leniency to captives.

*   besiegers have history of savage treatment of resisters. This, however, increases resolve of defenders if such treatment is indiscriminate.

*   Assault: (Using scaling ladders, siege towers etc.)

*   Relative size of forces of attackers and defenders.

*   Size of defenders' forces relative to size of city.

*   Strength of defensive works.

*   Treachery:

*   garrison officer opens gate to besiegers:

*   bribed.

*   member of anti-government faction.

*   personal grievance.

*   Surprise attack:

*   entry to city via secret or unguarded route.

*   sudden attack on city before gates closed or harbour boom raised.

*   Mining, Battery etc:

*   aim to produce a breach in the walls which can then be assaulted, or garrison may surrender.

---

In the present simulation, the besiegers may choose to assault the city, or to engage in regular siege operations --- blockade, battery, mining and so forth. The decision to attempt an assault depends on the besiegers' Risk Level order and the activity and military skill ratings of their commander. Odds are calculated using the combat factors for Assault.

On average, with risk level 1, besiegers will only attempt an assault if they have at least 5:1 odds. With risk level 2 they will do so at 4:1 odds, with 3 at 3:1.

The chance of the assault succeeding increases with the modified odds, with no chance of success below 3:1. If repulsed, the attackers suffer fairly heavy losses.

If an assault is not attempted, regular siege operations are assumed to take place. A flag for each province indicates whether the city is under siege, and the duration of such siege is recorded. There is a chance each turn that the city will surrender, without loss to the besieger. This chance increases with the square of the duration of continuous siege. It is also modified by the duration of stored supplies available in the city, which is estimated by the ratio between the size of the garrison and the size (revenue) of the city. (Relative supply requirements of different troop types are held in the scenario database). Military skill ratings of the opposing commanders and morale of the troops also have an effect. Spy networks can attempt to bribe (un-named) garrison officers to betray the city, but do not otherwise affect the outcome of a siege. In the event of an officer being successfully bribed, the chance of capturing the city is further increased.

10. Supply

Supply is one of the most important factors affecting military strategy. An advantage in numbers is of no value if the men starve before they can engage the enemy.

See Table VI for an analysis of factors affecting the availability of supplies.

---

TABLE VI

FACTORS AFFECTING SUPPLY

*   Size of force to be supplied

*   Sources of supply:

*   Local supplies:

*   Fertility of province. (Terrain)

*   Devastation.

*   Time of year.

*   Harvest.

*   Winter.

*   Availability of water. (Desert)

*   External supplies:

*   Supplies by land from friendly territory.

*   Supplies by sea from friendly territory.

*   Organisational factors

*   Prior preparation:

*   Supply depots.

*   Route planning.

*   Roads.

*   Efficiency of distribution.

*   Nomadic hordes including families and herds.

*   Enemy interference