DBM and DBR Spreadsheets

for the Psion Series 5

also with an Excel version

What are DBM and DBR?

De Bellis Multitudinis, or DBM, is a set of wargames rules for ancient and medieval battles; De Bellis Renationis, or DBR, is a set of wargames rules for renaissance battles. They rules are intended to use figures, for a wide range of possible scales. Both sets of rules are written by Phil Barker and Richard Bodley Scott (RBS) and published by the Wargames Research Group. For further details on DBM see Richard Bodley Scott's web site.

Each of the games has been revised since its original release. DBM has had issued rulebooks for versions 1.0, 1.1, 1.3, 2.0 and 3.0. The current version 3.1 is available as errata to version 3.0. In addition version 2.1 was available as errata to version 2.0. Because some people do not use the latest version, for economic or other reasons, all significant versions are considered. Note that version 1.2 was effectively replaced by version 1.3 and is not considered. DBR has had issued rulebooks for versions 1.0, 1.1 and 2.0.

A DBM or DBR army is built out of a variety of troop types, further divided by grade (superior, ordinary and so on) and for DBM whether they are regular or irregular and other details. Armies are further divided into commands, each with a general and baggage. Each troop type, plus additional features such as fortifications, has an army points (AP) cost. Unless running a campaign an army is usually built to a fixed overall points cost, and usually constructed from an army list, usually from books by the same authors (also published by the Wargames Research Group). These attempt to allow the construction of historically realistic armies (within the constraints of the rules systems and historical and archaeological doubt and debate). The Wargames Research Group publishes four volumes of DBM army lists (all now replaced by a second edition) and three volumes of DBR army lists.

Why a spreadsheet?

A player needs to be able to count the costs of the various elements and fortifications he selects in order to design a valid army. A player may also find it useful to count the costs of his opponent's army to check its validity, and to discover if any army points are "missing" and may be in ambush or making an off table flank march (DBM only). In addition, particularly in DBM, certain other additional calculations are useful, of the so called element equivalents in an army, where different element types make a different contribution to determining when a command becomes demoralised or an army defeated. It is also useful, when using army lists, to check the various constraints that these impose on minima and maxima of various element types and other considerations.

Note that previously two spreadsheets were provided, the first a simplere version for DBM only and the second a more complicated version for DBM and DBR. Only the latter is now included, to avoid multiplying versions. It is however larger and slower than the former was, and an updated version of the former may be provided later. (If interested, contact the author.)

What the spreadsheets run on

The two spreadsheet were originally written to run on the Psion Series 5 palmtop computer (or any later device running EPOC, such as the Series 5mx or Series 7). As far as I am concerned this remains their primary target.

The choice of the Psion 5 is obviously because I own one. However that decision made at least partly so that I could produce applications such as these spreadsheets, in particular for portable use, such as the intended use to check an opponent's army. Personally I find a palmtop a better solution than a laptop for such situations.

The drawback of the Psion 5 is speed, at least for complex spreadsheets, such as the second spreadsheet in particular. If you open the spreadsheet it takes a minute or two to sort itself out once opened. Give it this much time after opening, either before entering anything, or being prepared to wait for results to show up, and responses are reasonably prompt thereafter.

I have since converted an earlier version of spreadsheet to MS Excel. This conversion was partially automatic, using PsiWin 2.1, but has had to be completed by hand. Since then changes to each have been made in parallel.

Testing of both versions (and of their equivalence) is currently incomplete. If you find any problems, please let me know.

The remaining notes below describe the spreadsheets running on a Psion 5. There are no significant differences using Excel. (Modifiable cells in the Excel version are lighly coloured.)

Downloading the spreadsheets

The two spreadsheets can be downloaded here:

How to use the spreadsheets: basic outline (DBM)

I hope that with the comments in rows 1 to 10 (by default scrolled off the top of the screen) the basic features of the spreadsheet should be fairly self explanatory (my beta tester of an earlier version commented that anyone who could understand the DBM rules should be able to use it). However here are some comments, and an example.

Some additional features, which are not described in rows 1 to 10, are summarised later below, as is how to use the spreadsheet for DBR, and earlier versions of DBM.

Each element (or fortification, see below) type is allocated a row, one of rows 16 to 60 (60 is an arbitrary guess as to a value big enough for most purposes, see also some comments below). To define an element type enter:

Troop types are generally abbreviated as in the appropriate Army List books. If in doubt look in rows 1 to 10.

Some troop type suffices are permitted:

You can also enter fortifications using column B only (leave columns A, C and D blank). Use TF for temporary fortifications or PF for permanent fortifications. To these add suffices: Some multiple suffix combinations may be added, in any order: MtdDB or DBMtd and ToGa or GaTo.

All the above, in all of columns A to D, are case insensitive. If you want to type CV instead of Cv that is up to you. If you want to type cV so is that - but I do not think much of your choice. This case insensitivity applies also to suffices, so you can use mtd rather than Mtd and so on.

Having completed columns A to D (possibly leaving some blank) column E will be filled in by the spreadsheet, as described below. Then, having picked your element or fortification type, columns F, G, H and I are used (in that order) for up to four commands (leave unused columns blank). Put the number of each element or fortification type in each command in the appropriate column. Note that while entries are incomplete, some errors may be indicated.

The spreadsheet will now calculate:

Of course the spreadsheet will start calculation as soon as any of columns F, G, H and I are entered, and update further if any values are changed or additional column entries are added (assuming the spreadsheet auto recalculation is turned on).

Before the special cases and the warnings, described below, here is an example. Enter:

Irr   Cv     S   C           1
Irr   LH     S   S                  1      1
Irr   Cv     S               3
Irr   LH     S              12      9      9
      TFCa                   5
Irr   Bg     O               6
in rows 16 to 21 and columns A to D and F to H and the spreadsheet will update to look something like:
                      AP  Cmd 1  Cmd 2  Cmd 3  Cmd 4  Total

Army Points                135     80     80           295
Elements                    22     10     10            42
Element Equivalents         16     10     10            36
Demoralisation Level         6      4      4            18

Irr   Cv     S   C    19     1                           1
Irr   LH     S   S    17            1      1             2
Irr   Cv     S         9     3                           3
Irr   LH     S         7    12      9      9            30
      TFCa             1     5                           5
Irr   Bg     O         0     6                           6
If you play DBM you can probably work out what all the above numbers mean. Note that the spreadsheet uses some thick vertical lines to separate columns appropriately.

Rules versions

The above example adds up to 295 points. Why? Because it is actually an army list (Hunnic) designed for DBM version 2.0, and by default the spreadsheet works for DBM version 3.1. However you can change that by changing cell J1 in the top right hand corner of the immediately visible spreadsheet. Change J1 to 2.0 and the sheet will change accordingly to add up to 300 points. Actually to avoid delays (and I once got the Sheet application locked up doing this) I recommend setting the version first. Note that cell J1 is a formula, not a simple value. Entering a new value into cell J1 will destroy the formula, so do this only on a copy of the spreadsheet, not your original. The formula sets the default value of cell J1 to the latest version of the rules (DBM or DBR). This is the only place where you have to overwrite a formula (and only if you use an older version of the rules). Other formulae are in protected cells (which should be left protected).

Warnings and Limitations

Some comments have been given above about speed constraints. The underlying reason is because I decided to make the spreadsheet quite idiot proof. This is because I know my customer - I wrote it for me to use. I appreciate others may prefer faster but unchecked, but sorry, he who pays the piper picks the tune. (If you wish to pay the piper get in touch!) I do not think it is a significant problem however. For this reason I suggest turning off auto recalculation before pasting large amounts of text, such as from another version of the spreadsheet, and turning it back on again afterwards.

The spreadsheets trap various errors. If lots of # values sprout all over the place you have probably entered an invalid troop type, like Cv(X), or number, like -1 or 0.5. If you really cannot work out what is wrong then contact the author.

There are lots of hidden cells with various formulae in, as far as I know all essential. There is also formatting (alignment in particular) of even some empty cells, so I do not recomment cutting out numbers in columns Q/F to T/I for example. Instead I suggest copying some blank cells and pasting them over corresponding cells in the same column, or going back to a blank spreadsheet. On the Psion 5 versions of the spreadsheets I have taken some care over column widths and row heights, so I do not suggest changing those (or the font size) however you may want to freeze some panes - which I have not done as opinions may differ on which ones - but see the formal bit comments below.

Additional features

DBR option

The spreadsheet can be used for DBR as well as DBM. To convert to DBR simply replace cell H1 by DBR. Note that this changes the version number J1, the version reminder and the descriptive text in rows 2 to 10. DBR versions 1.0, 1.1 and 2.0 are supported.

DBR is actually simpler than DBM as far as the spreadsheet is concerned. Column A should be left blank (if not an error will result) since the regular/irregular distinction has disappeared. DBR version 1.0 armies may only have three commands, so column I should be left blank (again if not an error will result). Later DBR version armies may have four commands and use column I. Obviously the list of element and fortification (it is convenient to use the DBM term in this description) types is different. Note that F3 and F4 have been used for three and four sided redoubts. An error will result if a DBM type is used (or a DBR type if DBM is selected). There are no suffices for DBR troop types (no chariots, compulsory double basing or mounted infantry) except for ShpBg. The DBM notation Bg is used for DBR land baggage (the DBR army lists use Bge).

Some DBM terminology has been retained on the spreadsheet even in DBR mode. In particular "Demoralisation level" (DBR actually uses "broken" rather than "demoralised") and "Element equivalent". In DBR terms up to version 1.1 the latter means "Non-baggage element", while in version 2.0 this is "Morale Equivalents". This should not cause a problem. (Note that the different DBR formula for overall loss has been implemented.)

Minima, maxima and consistency checking

The spreadsheet has a second set of columns to the right of those immediately visible. Despite this, by default the spreadsheet has the horizontal scroll bar disabled, in order to view more rows. A user may of course choose to re-enable the scroll bar.

There are four columns in the second set of columns. The first two (K and L) may be used to define maxima and minima for each element or fortification row. An army will be determined to be invalid if the total number of any element or fortification row is less than the indicated minimum, or greater than the indicated maximum. Note that a blank minimum or maximum indicates that there is no constraint. A total less than the minimum is indicated by a negative number in the errors column, a total more than the maximum by a positive number in the errors column. If neither constraint is violated then the errors column is left blank. Note that a maximum of zero is permitted; this is to permit the full use of the feature as described in the second example below.

If either constraint (minimum or maximum) is violated then, in addition to error indication described, the overall army validation fails.

A simple example of the use of a minimum and a maximum is provided by the Hunnic army list (Book 2, 2nd Edition, List 80) where

Huns - Irr LH(S) @ 7AP  20-80
may be indicated by Irr, LH and S in columns A, B and C respectively and 20 and 80 in columns K and L respectively.

A more complex example is provided by the Seleucid army list (Book 2, 2nd Edition, List 19) where

Asiatic archers and slingers - Up to 1/2 Irr Bw(I) @ 3AP, rest Ps(O) @ 2AP  6-20
may be implemented using two rows, taken here for example to be rows 16 and 17, although in practice they would probably be lower down. In columns A, B and C put Irr, Bw and I, respectively in row 16 and put Irr, Ps and O, respectively in row 17. Noting that J16 and J17 contain the total numbers of these two element types, and are set to zero as soon as columns A, B and C are set (a change from the first spreadsheet, for precisely this reason) the minima and maxima may be set: Note that these are intended to provide the necessary constraints without producing an error, but do not necessarily display the most meaningful minima and maxima (which requires more work by the user).

In addition to the various element or fortification types in rows 16 to 60 which may be constrained by a minimum or maximum, the army points in row 12 and the number of elements in row 13 may also by constrained by a minimum or maximum (also in columns K and L). The former is usual, the latter less so.

Maxima and minima formulae may use cells from column J freely, as above. They are not intended to have to use any other values.

Army lists contain other constraints than simple minima and maxima. The second example above shows a case which can nevertheless be straightforwardly handled by using the minima and maxima. Some examples are less straightforward. From the same army list (only after 167 BC)

Argyraspids - Reg Pk(S) @ 5AP                                 3-12
Upgrade argyraspids to "Roman Argyraspids" - Reg Bd(O) @ 7AP  Half/0
It is possible to handle this case using the minima and maxima only, but it is not very satisfactory. For cases such as this the spreadsheet provides an additional constraint option. Column N may be used for general free text comments (e.g "Roman argyraspids" or "must be in ambush") but if a logical expression is put in any unlocked cell in column N, and if that logical expression is FALSE, then the consistency check fails. Considering the above example and again using rows 16 and 17 (note that the consistency check does not need to be in either of the same rows, but this is convenient) an implementation is to set A16, B16, C16, A17, B17 and C17 to Reg, Pk, S, Reg, Bd and O, respectively, and to set: This needs a slight modification if "Half" is interpreted as allowing rounding.

If such a consistency check fails then the visible sign is the occurrence of FALSE in a cell in column N. The overall army validation also fails.

The consistency check options are limited only by the spreadsheet formula maximum length, which should be sufficient for any reasonable constraint. Also note that constraints may use any other visible cells in rows 12 to 60, but to use any cells other than those in column J care must be taken, for example cells in columns F to I may be blank rather than zero; note that the SUM function can successfully handle blank cells.

Two suggested particular uses of the consistency check are to ensure that all appropriate naval elements have landing forces and for validation of allies. The latter may include ensuring that ally generals use only troops of their own nation, and that these are not incorrectly used by other generals, or if of the same nation that they have the required minimum number of elements of each compulsory type. This may require setting up a spreadsheet for a specific combination of allies, with ally generals pre-entered in order to define which columns to use in constraints.

Overall army validation

The spreadsheet may be in one of four states: Cell A11, by default at the top left of the spreadsheet display, shows a message to indicate the state, blank if either empty or complete. To avoid some unnecessary messages an incomplete description (e.g. Reg and Cv with no grade yet entered) is ignored, except to change from being empty. In the erroneous state various # error messages (cells are too narrow for the complete message, so only # characters appear) also appear all over the display.

Reducing memory usage

The spreadsheet is rather memory hungry, and users may wish to reduce its size. One possibility is to delete some rows. 45 rows (16 to 60) is more than most army lists require, and more than any actual army requires. Some of these rows may be deleted. However only delete rows numbered 29 or more, since in addition to hidden cells associated with rows 16 to 60 (which can be deleted together with the visible cells) there are general purpose hidden cells which use rows 1 to 28. The bottom of the row usage is indicated by a thick horizontal line provided by row 61. As noted below please do not distribute a reduced spreadsheet.

The formal bit

First off these spreadsheets comes with no guarantees, promises of fitness for purpose and all that stuff. If it has a fault and that causes you to lose a game or get disqualified from a tournament then I'm sorry, you're on your own. I would like to know about it however. (I'll update these copies and notify anyone finding a fault, or making a suggestion I implement - well for a reasonable time anyway, if I've no longer got a Psion 5 for example all promises are off.)

You must own the appropriate DBM or DBR rulebook(s) to use this spreadsheet, and own any army list book you enter material from. (No, I cannot enforce this in practice, it's an honesty thing. I agreed this one with RBS.)

You may distribute either spreadsheet further, but only in its original form. (I do not want the blame for any faults introduced, or "credit" for any "improvements", I like it as it is, and I also do not want it distributed with bits of army lists in it - this would also violate the paragraph above.) I also suggest checking my website before distributing what might be an old copy. Better still would be just to pass on the URL.

I am not even going to suggest you do not hack around inside the spreadsheets. (If you really feel like doing this I have a few programmers' notes.) If and when you spot an improvement over one of my kludges let me know and I will think about incorporating it, especially if it speeds things up whilst leaving it easy to test and debug. Please don't distribute it however.


Beta testing of an earlier version, and various corrections and suggestions: Richard Dewsbery.

Faults (now corrected) identified by: Alan Montgomery. (Your name here if you find another one first.)

Contact information

Christopher Dearlove (author, spreadsheet copyright 1999-2007).

Currently I am chris@mnemosyne.demon.co.uk. My web site is at http://www.mnemosyne.demon.co.uk If you see a printed copy of this some time in the future and neither of these work then I may have changed ISP, though I am not currently planning to do so. Try some sort of search engine - with my surname I should be found fairly easily.

If you play DBM and/or DBR or any other games (not just wargames, board games are actually more my thing) and live (or work) in Essex, especially Chelmsford, England, drop me a line.

Return to home page

Last modified: 9th September 2007.