This document describes the file format for Noble Warfare and the principles behind the numbers in the Noble Warfare army file.

Syntax

The syntax used in the Noble Warfare army files is an identical syntax to the Noble Ape Simulation. Objects are defined by three characters, open curly bracket, this space can be filled with variables, then a close curly bracket and a semicolon.

      obj{
      };

Example 1. An example object

Variables are defined through three characters, an equals sign, the value of the variable and a semicolon.

      var=1234;

Example 2. An example variable

All variables are wrapped in objects. It is impossible to have variables on their own. There is no specific ordering for the variables inside objects. If a variable isn't defined in an object, it is automatically set to 0.

In this version of Noble Warfare, all the variables are set to positive integers or zero.

Types [typ]

Noble Warfare has a division in army creation between Units and Unit Types (called Types for simplicity). Types are defined generically and allow for shared armies to be developed in Army Lists (collections of Types). This makes it easy to create an army quickly with an army lists.

typ{
      def = 2; // defence;

      mea = 3; // melee_attack;
      med = 1; // melee_damage;
      mer = 1; // melee_armpie;

      mia = 3; // missile_attack;
      mid = 4; // missile_damage;
      mir = 1; // missile_armpie;

      mit = 10; // missile_rate;
      mig = 40; // missile_range;

      spe = 3; // speed_maximum;
      sta = 0; // stature;
      lea = 2; // leadership;

      wpc = 1; // wounds_per_combatant;
      idn = 0; // type ID number
};

Example 3. A Type of a typical spear wielding combatant

The Type defines what a single combatant in a Unit will have as their Statistics. The idea of statistics is borrowed from a dearth of role playing, wargaming and software simulation methodology.

Defence [def]

The most obvious example of this is Defence. Defence describes a number of factors a combatant has in battle including the type of armour, the thickness of their skin, whether they have a shield and the type of shield, also their speed and ability to dodge attacks.

      def = 4; // defence;

Example 4. Example of defence statistic

Defence is defined as a number from 0 to 15. A standard unarmoured human has a Defence of 1 with basic leather armour, this changes to 2 and so on. It would be highly unlikely to have a Defence as high as 8. With following trailing probabilities from there.

A single Defence statistic is used for all kinds of combat.

Probability [mea, med, mer, mia, mid, mir, mit, mig]

The combat system of Noble Warfare is based on probability. The probability of a combatant hitting another combatant and inflicting 'Damage' worth wounds damage is;

      Attack * (16 - Opponent's Defence + Armour Piercing) / 1024

Per turn of combat (unit of time).

Attack is defined as an integer between 1 and 15. If Attack was 0, no wounding would be calculated - this can be used but it indicates 'not used' (a combatant with mia = 0; doesn't have a missile weapon).

Opponent's Defence (as previously defined) is between 1 and 15.

Armour Piercing is between 0 and 15.

As with Defence, it is extremely unlikely to have any of these stats above about 8. Also, all these statistics represent a combination of factors. The Attack of a combatant can be based on training, the size of the combatant and the combatant's speed and strength with the weapon. The Armour Piercing statistic, is also effected by these things. The kind of weapon can change the Armour Piercing too.

A Noble Warfare combatant has two possible weapons they can use. A missile weapon and a melee (or close combat) weapon. The Combatant may opt for only one of these weapons (usually a melee weapon). But the option is always available for both kinds of weapons. It would be relatively suicidal for a 'Missile' troop like an archer not to carry a dagger or a knife.

      mea = 3; // melee_attack;
      med = 1; // melee_damage;
      mer = 1; // melee_armpie;

Example 5. Sample melee statistics

      mia = 3; // missile_attack;
      mid = 4; // missile_damage;
      mir = 1; // missile_armpie;
      mit = 10; // missile_rate;
      mig = 40; // missile_range;

Example 6. Sample missile statistics

In addition to the three Statistics (plus Defence) for Missile combat, there are two additional statistics for Missile Rate and Missile Range. Missile Rate describes the amount of time between each missile firing.

Some missiles are quick to fire - bows for example are relatively quick to fire and reload - others, such as crossbows or cannons, can be much slower. The number represents the number of turns it takes to fire the missile. The Missile Range describes the effective-use range of the missile weapon. A longbow arrow has a relatively short effective-use range even though it can cause nuisance over a much longer range. The aim of effective-use range is the range that characterises the damage described by the statistics. The Range is nominally measured in Metres. Although a better idea is to measure them in game 'space' units as a turn is measured in a game 'time' unit.

      spe = 3; // speed_maximum;
      sta = 0; // stature;
      lea = 2; // leadership;
      wpc = 1; // wounds_per_combatant;
      idn = 0; // type ID number

Example 7. Remaining Type statistics

Speed (Maximum) [spe]

The speed of movement is measured in 'space' units on 'time' units. There are nominally two kinds of movement in Noble Warfare. Normal movement at half the maximum speed and 'Charge!' at the combatant's maximum speed.

Stature [sta]

Stature describes not only the size of the unit but the spacing between combatants in the unit. Even stature values are packed closely together, odd stature values have more space between each combatant.

sta = 0 or 1, direction forwards ->

      X

sta = 2 or 3, direction forwards ->

      XX

sta = 4 or 5, direction forwards ->

      XX
      XX

Example 8. Stature vs combatant size

The current version of Noble Warfare only supports stature values up to 5. This represents a large humanoid creature like an Ogre.

Leadership [lea]

The ethereal quality of unit cohesion is describe by the leadership statistic. It ranges between 0 and 15. 0 represents incoherent units that maintain no real cohesive loyalty. As with the other statistics with a maximum value of 15, it is highly unlikely to find a unit with a leadership higher than about 8. Knights that have blood oaths or are related may have a Leadership of around 7. Units with particularly popular and strong leaders can expect a Leadership from 5 to 7.

Wounds (per Combatant) [wpc]

The number of wounds a combatant can sustain is effectively governed by the combatants size and general battle toughness. Some warriors following years of actual combat may improve their ability to sustain (combat related) wounds. This is a relatively ethereal concept. A typical, untrained, human would have Wounds statistic of 1. A well trained warrior would have a Wounds statistic of 2 or 3. An Ogre or similar sized creature could expect to have a Wounds statistic of 3 to 5 depending on their training.

Type ID Number [idn]

The Type is uniquely identified with a number. Whilst an army is composed of Types, the reference within the specific units is always through the Type ID Number.

Units [uni]

In contrast to the Type definition, the Unit definition relates to a specific entity. A Unit is a group of combatants organised in some kind of formation.

uni{
      tid = 0; // type ID number
      ang = 48; // angle;
      wid = 60; // width;
      avx = 250; // average_x;
      avy = 140; // average_y;
      num = 40; // number_combatants;
      min = 10; // missile_number;
      ali = 0; // alignment;
};

Example 9. An example Unit

A Unit defines the Type of Unit, the central location of the Unit, the direction (or angle) the Unit is facing, the number of combatants in the front row and the number of Combatants in the Unit. If the Unit has missiles, the number of missiles each combat carries (this variable may be removed in future versions) and the Unit's 'alignment'.

Type ID Number [tid]

This number links to the Type defined in the army file. It is not necessary that the type is physically defined before the Unit definition in the army file. Although it makes more logical sense to define a Type prior to using it in units. There can be a number of units that all use the same Type.

Angle [ang]

The angle of the unit describes the direction the Unit is facing. Noble Ape direction conventions are observed. Facing east (ang = 0), facing south (ang=16), facing west (ang=32), facing north (ang=48) and so on.

Width [wid]

The width value specifies the number of combatants in the front row and subsequent rows, up to the final row, which has the remainder of Combatants.

Average X and Average Y [avx, avy]

The center of the Unit is defined by the average coordinates of all the combatants in the Unit. Average may seem like a strange term, but through the battle, the Unit will always have an average coordinate which can loosely be described by the average x and average y coordinate. In this implementation of Noble Warfare these xy values must be of the range 0 to 511.

Number of Combatants [num]

The number of combatants specifies the size of the unit at the start of the battle. It is important to think about whether one large unit or a few smaller units would better describe particular groups of units. As the Unit definition is relatively fluid. It might be advantageous to represent the front line of a force with a number of units that appear to be part of the same Unit in initial appearance.

Missile Number [min]

Rather than being defined with the Type, the number of missiles each combatant has is defined at the Unit level. Some units may be better equipped or reserves or through what ever reason have more or less missiles than other Units of the same type.

Alignment [ali]

Broadly speaking a battle will be between two sides. Alignment shows this distinction. Two forces opposing will have their alignment set to either odd or even with the same odd represent one force and the same even representing the other force. If multiple forces align, they must share either even or odd to be aligned.
Background - Contents