More information

The Battle of Agincourt, 1415 AD

General comments

The rules of the game can be found as a PDF through the Help menu. Note that it may take a little while for your PDF viewer to pop-up and show the rules. Be patient.

This page contains some comments on the workings of the module, and how that reflects the rules - especially how to perform some manoeuvres etc. with the module.


 

Optional rules

When you start a new game, the module will automatically show you a Scenario Preferences dialog where you can enable or disable optional rules or methods. These are

Missile range modifier
Missile fire incurs a DRM of one per hex fired, beyond any neighbouring hexes. That is, if a French missile unit fires at an English unit 3 hexes (2 intermittent) hexes away, then that unit will suffer a +2 DRM.
French casualties affect morale
The French units suffer a -1 DRM on any Morale Check, per eliminated every 15 French units that are eliminated.
Loaded dice
Use loaded dice in the module. These dice are loaded to more frequently produce the mean number of the dice. That is, a 1d6 no longer has a uniform distribution of outcomes, but now has a more centred value of 3.5. Use this to have a little less luck in the game.

See also below for more.

Note that the choice of optional rules are automatically frozen after the initial Setup phase, regardless of whether the choices in the dialog are frozen or not.


 

Module Preferences

These can be accessed through File→Preferences, in the Battle of Agincourt tab.

Be verbose
Write guidance and other useful messages to chat
Show debug in chat messages
Show a lot if debug messages in the chat. This is mainly for debugging of the module, and regular users should not enable this option.
Calculate Odds on battle declaration
When this is enabled, the module will automatically calculate the combat odds and DRMs when declaring a battle. Odds can be recalculated via the right-click context menu of the odds marker.
Resolve battle results automatically
When this is enabled, the module will take a number of automatic options:
Do not remove moved markers on phase shift
Do not automatically removed Moved markers from chits when changing between phases
Do not remove battle markers on phase shift
Do not automatically removed battle markers from chits when changing between phases

These preferences can be changed at any time and will take effect immediately.


 

Turn tracker

The use of the turn tracker interface in the toolbar is important for the use of this module. Various automatised operations are performed at different steps of the game, and are driven by the turn track interface. Even if automation has been turned off (see Module Preferences above), some actions are only allowed in some phases.

Thus, it is paramount that the turn tracker is used.

To progress to the next phase, press the + button on the turn tracker interface in the tool bar, or press Alt-T.

Note, because some automatic steps are performed in the background, it may take a while (a few seconds) before the module changes to a new phase. Please be patient.

When stepping through a log (such as the tutorial), please note that you may need to press the log step-forward button or key (Page-Down) several times because of this automation. Please be patient.


Set-up phase

In this special initial phase, you can:

If you loaded the Example set-up, or any other save file, you may not need set-up the English and French units. Otherwise, units should be dragged from the factions’ OOB (the tool-bar button or Alt-B) to the main board. See also the rules for set-up restrictions.

The English faction should set-up units first, and only then should the French set-up its units.

When you leave the Setup phase (through the turn tracker interface or by pressing Alt-T), all optional rules will be frozen and cannot be changed.


Movement phase

In this phase, the faction in turn may move as many units as it desires within the movement restrictions.

The module does not enforce movement rules.

To change facing of a unit press Ctrl-[ or Ctrl-] or choose from the Rotate sub-context menu (Mouse-2 click on unit). Each step is 60° either clock or counter-clock wise.


 

Cavalry charges

If a French cavalry unit moves 3 (exactly) in a straight line during the movement phase, then the module will automatically detect that the unit is performing a charge, and calculate in the die roll modifier when declaring a battle.

It is important that the move is done atomically (in one go). That is, the unit should not touch down on intermittent hexes. Pick up the cavalry unit and move it exactly 3 hexes in a straight line, and drop it next to an English unit to perform the cavalry charge attack.


Combat phases

The two combat phases Missile phase and Mêlée phase share a number of features.

Combat between units are declared by selecting both attacking units and the defending unit, and then pressing Ctrl-X, pressing the tool-bar button, or select Declare combat from the context menu. The module will add battle markers to all belligerents of the combat.

Note, the rules stipulate that only one unit may be attacked at a time, and that attackers may only attack over their front hex sides. These first restriction is not enforced by the module, the latter is, except the module does not disallow a cavalry unit to attack in its left front hex (as the rules disallows).

If the preference Calculate Odds on battle declaration is enabled, then the module will automatically

The module will then place an odds marker ( ) on the defending unit, including an indication of the DRM. In the example below, the French attackers get a -1 DRM because of the adjacent leader unit.

To resolve the battle, select the odds marker and press Ctrl-Y, the tool-bar button, or select Resolve from the context menu.

If the preference Resolve battle results automatically is enabled, then the module will automatically

Thus, the only actions that need to be done by the defending faction when resolving a combat is either

The attacking faction may need to advance an attacking unit.

Battle, odds, and result markers can be clear at any time by selecting one of the battles markers and press the tool-bar button, pressing Ctrl-C, or selecting Clear from the context menu.

Important: Do not clear battle markers before performing a possible counter attack, or you will not be able to do that counter attack.


Missile phase

Combat in the missile phase proceeds as outlined above. However, counter attacks are not possible in this phase.

Note, the range of missile units is enforced, and if the optional rule Missile range modifier is enabled, then an appropriate DRM will automatically be calculated.

It can be useful to use the Line-of-Sight (LOS) tool ( or Alt-L) when planning missile attacks. The module does not enforce LOS rules.


Mêlée phase

After a combat has been resolved to either

then, the defending faction has the option to counter attack, if possible by the normal rules of combat (i.e., only over front hex-sides).

Note that the module automatically determines if a counter attack are possible, and only enables the Counter Attack action (in the context menu or by Ctrl-Shift-X) in that case.


 

Counter attack

For the defending faction to counter attack, it must

The module will then

To resolve the counter attack combat, do as for regular combats: - Select the odds marker - Select Resolve in the context menu, press the tool-bar button, or press Ctrl-X.

Just like for regular attacks, the module will apply as many results to the attacking (the counter attacked) unit.


Rally phase

In this phase, a faction may attempt to rally any of its routed units.

If the preference Resolve battle results automatically is enabled, then the module will automatically resolve a Morale Check (MC) for each routed unit. The module will automatically determined DRMs for these MCs:

If the English king, Henry V, has been eliminated, then no rally attempts are made for routed English units (total demoralisation).

Routed English units have no facing, and thus cannot be backed-up by other friendly units and thus MCs are done for those units.

Also, the French Regicide unit cannot be backed up by friendly units, and if that unit is routed, an MC is also performed.

If any MC fails, then the module will give a friendly reminder to retreat those units as far as possible. The module does not enforce that retreat.

If any MC succeeds, the module automatically flips the unit to its good-order side, and prints a friendly reminder that a new facing may be chosen at will.


Features


 

Additional interfaces


Probabilities

The below tables are also accessible via the charts window (Ctrl-A).

With a regular 1d6 (X), the probability for the different die roll outcomes are given by the Probability Mass Function (PMF)

X P(X) %
1 1/6 16.7
2 1/6 16.7
3 1/6 16.7
4 1/6 16.7
5 1/6 16.7
6 1/6 16.7

That is, all outcomes are equally likely - the distribution is a uniform discrete distribution between one and six, both inclusive. The mean and standard deviation of that distribution are 3.5 and 1.71, respectively.

When we add two such die together (X+Y) - i.e., 2d6 - we get the PMF

X + Y P(X + Y) %
2 1/36 2.8
3 1/18 5.6
4 1/12 8.3
5 1/9 11.1
6 5/36 13.9
7 1/6 16.7
8 5/36 13.9
9 1/9 11.1
10 1/12 8.3
11 1/18 5.6
12 1/36 2.8

which is a discrete triangular distribution with mid-point 7 and end points 2 and 12. The mean and standard deviation of that distribution are 7 and 2.42, respectively.

With this, the probability for given combat outcome, given particular combat odds, are

Odds P(M) % P(E) %
1:4 1/18 5.6 1/36 2.8
1:3 5/36 13.9 1/36 2.8
1:2 1/4 25.0 1/36 2.8
1:1 7/36 19.4 1/12 8.3
3:2 1/4 25.0 1/6 16.7
2:1 5/9 55.6 5/18 27.8
3:1 1/2 50.0 5/12 41.7
4:1 1/3 33.3 7/12 58.3

and for a successful Morale Check

MR P(X + Y>=MR) %
3 35/36 97.2
5 5/6 83.3
6 13/18 72.2
7 7/12 58.3
8 5/12 41.7

In both cases, we assume no DRMs.

If the optional rule Loaded dice is used, then the PMF of each die (X’) is changed to

X’ P(X’) %
1 1/12 8.3
2 1/6 16.7
3 1/4 25.0
4 1/4 25.0
5 1/6 16.7
6 1/12 8.3

which is also a discrete triangular distribution with end-points 1 and 6, inclusive, and mean and standard deviation 3.5 and 1.38, respectively.

Adding two such dice (X’+Y’) gives the PMF

X’ + Y’ P(X’ + Y’) %
2 1/144 0.7
3 1/36 2.8
4 5/72 6.9
5 1/8 12.5
6 25/144 17.4
7 7/36 19.4
8 25/144 17.4
9 1/8 12.5
10 5/72 6.9
11 1/36 2.8
12 1/144 0.7

which is somewhere in-between a triangular and normal distribution. The mean and standard deviations are 7 and 1.96, respectively. Thus, the variation of the loaded outcomes (1.96) is much smaller than that from standard 2d6 (2.42).

With the loaded 2d6 (X’+Y’), the probability of different combat results, given particular odds, are

Odds P(M) % P(E) %
1:4 1/36 2.8 1/144 0.7
1:3 7/72 9.7 1/144 0.7
1:2 2/9 22.2 1/144 0.7
1:1 7/36 19.4 5/144 3.5
3:2 43/144 29.9 5/48 10.4
2:1 2/3 66.7 11/48 22.9
3:1 9/16 56.2 29/72 40.3
4:1 53/144 36.8 43/72 59.7

and for a successful Morale Check

MR P(X’ + Y’>=MR) %
3 143/144 99.3
5 43/48 89.6
6 37/48 77.1
7 43/72 59.7
8 29/72 40.3

Again, in both cases, assuming no DRMs.

Putting the combat result probabilities (in percentage) side by side

Odds P(M) P(E) P(M) P(E)
1:4 5.6 2.8 2.8 0.7
1:3 13.9 2.8 9.7 0.7
1:2 25.0 2.8 22.2 0.7
1:1 19.4 8.3 19.4 3.5
3:2 25.0 16.7 29.9 10.4
2:1 55.6 27.8 66.7 22.9
3:1 50.0 41.7 56.2 40.3
4:1 33.3 58.3 36.8 59.7

where the two right-most columns are for a loaded dice, illustrates the differences. For example, the probability of a E result below odds 1:1 are vanishingly small with loaded dice, while at larger odds the probabilities are not changed that much, except, perhaps, the probability of an M result is enlarged a bit.

Note, in most cases, a DRM of -1 is equivalent to raising the odds one step. Thus, a combat with odds 1:1 with DRM -2 is equivalent to a combat with odds 3:1 but with no DRM. Or, a missile attack at odds 3:1 at a range of 6 (DRM=+5, assuming the optional rule), is the same as a missile attack at odds 1:3. Thus, combat DRMs have significant impact on the probability of combat outcomes.

For Morale checks, the comparison, in percentage, is

MR P(X + Y>=MR) P(X’ + Y’>=MR)
3 97.2 99.3
5 83.3 89.6
6 72.2 77.1
7 58.3 59.7
8 41.7 40.3

Here, we see very little change. Note, a DRM of +1 effectively lowers the MR by one, while a DRM of -1 raises MR by one.


 

About the odds

The combat odds 1:3 and 1:4 are not really possible. The units with the least attack factor (AF) are the French missile units with AF=3. The English units with the largest defensive factor (DF) are the headquarter units with DF=6 and this can never be doubled. The English missile units have DF=2 which can be doubled to DF=4.

Thus the worst possible combat odds are 3:6 - or 1:2.

The columns 1:3 and 1:4 are therefore superfluous and could be removed. It is kept, however, of historical (game) interest. Of course, if DRMs are converted to column shifts, then those, and additional, columns may be needed.


Notes about the tutorial

The tutorial of the module was prepared pretty early on the development of the module, and bugs and problems have since then been detected and corrected. This means the tutorial is not completely up to date (these notes reflects the current state of things).

However, the tutorial is still valid and it is still recommended to go through that before starting a game.

The tutorial should be updated, and eventually it will be. However, since VASSAL has no good way of upgrading a log file, it means that the tutorial will have to be completely redone. Not impossible, but a bit of a task.

For now, accept my apologies.


About this game

This VASSAL module was created from LATEX sources of a Print'n'Play version of the The Battle of Agincourt game. That (a PDF) can be found at

    https://gitlab.com/wargames_tex/boa_tex

where this module, and the sources, can also be found. The PDF can also be found as the rules of this game, available in the Help menu.

The original game was release by the Game Designers’ Workshop in 1978.


 

Some thoughts

Though the game The Battle of Agincourt is deceptively simple, the same can not be said about the VASSAL module.

Game elements, such as

seem simple pretty simple on paper, but to implement them in VASSAL actually is far from straight forward.

Through some gymnastics, I managed to implement all of these things so that the module has a very high level of automation. It took some code and a tad of thinking, nonetheless.


Credits

Game Design
Marc Miller
Game Development
Marc Miller
Graphics
Paul R. Banner
Play Testing
W. R. Detert and Brad Smith, with additional test at Game Designers' Workshop.

This work is 🄯 2025 Christian Holm Christensen, and licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit

    http://creativecommons.org/licenses/by-sa/4.0

or send a letter to

Creative Commons
PO Box 1866
Mountain View
CA 94042
USA