Artificial War: Multiagent-Based Simulation of Combat

When ten to the enemy s one, surround him when five times his strength) attack him if double his strength, divide him If equally matched you may engage him if weaker numerically, be capable of withdrawing and if in all respects unequal, be capable of eluding him, for a small force is but booty for one more powerful he who understands to use both large and small forces will be victorious. Sun Tzu, The Art of War
The way in which EINSTein adjudicates combat depends on its release version. In all versions prior to version 1.1, combat is modeled in a straightforward manner that consists essentially of single roll of a die. Versions 1.1 and higher all include an entirely new Weapons class of functions and an associated set of rules of engagement (including intelligent targeting) that is considerably more flexible and robust (that are also, to a certain degree, backwards compatible with older versions).
During the combat phase of an iteration step for the whole system, each agent X (on either side) is given an opportunity to fire at all enemy agents { Y i} that are within a fire range r F of X s position (see figure 5.17).
If an agent is shot by an enemy agent, its current state...