These are our instructions as we train in the finer points of Dark Reign, a sophisticated computer game developed by a Brisbane-based company, Auran, and one which has reached platinum status. A game of this magnitude requires some very clever programming which was carried out by three University of Queensland graduates, Matthew Versluys, Carl Chimes and Andrew Payne. But Matthew informs us that they also made extensive use of mathematics including vector geometry, algebra, heuristics, a small amount of statistics, and a large amount of logic.

We thought it would be fun to focus here on a small element of the game and talk about the underlying maths.

Imagine we are playing Dark Reign and our mission objective is to destroy a Training Facility. We will attack with Cyborg Infantry, (carrying massive shoulder mounted rail guns), Tachyon Tanks (large heavily armed tanks carrying powerful tachyon cannons) and a sky Fortress (a floating platform, carrying plasma cannons).

As we attack, the computer must keep a record of our hits and decide when the Training Facility is destroyed. To accomplish this the Training Facility is assigned a health status that is reduced by each hit. For example, the Training Facility’s health status might be 30 units, with a Cyborg reducing it by 5 units, a Tachyon Tank reducing it by 10 units and a Sky Fortress by 15 units. The computer keeps a record of the Training Facility’s current state of health and updates this when a direct hit occurs. Mathematically, we must model all attacks that lead to a bombardment of 30 units and thus annihilation.

The picture with 30 units represents the initial state (Health of 30 units) and the picture without the people represents the accepting state (Health 0 unit, facility destroyed). The other pictures show intermediate states. Arrows indicate the outcome of a particular input (a hit by a particular fighter).

We use the diagram to construct an association scheme, or a mapping. The current state Si is linked with the current input Ij and associated with the next state Sk Mathematically we write this as a function:

For instance, if the current Health State is down to 25 units, and a Tachyon Tank hits it, the health status is reduced by 10 to the next state of 15 units. In terms of a mapping:

This information is then summarised in the following annotated next state table: