Myriarch Combat Simulator

Myriarch attempts a precise real-time simulation of pre-gunpowder tactical warfare. Myriarch is © 2012–2015 by Christoph Nahr but available for free download under the MIT license.

Overview

Myriarch simulates tens of thousands of soldiers as independent physical objects, advancing in 0.1 second increments. The simulation comprises the following subsystems and features:

  • Physics — Movement with acceleration and turning, distinction of facing and direction, semi-elastic collisions that can cause damage, and accumulation of “push mass” throughout the ranks when two phalanges clash.
  • Combat — Weapon cooldown for repeated attacks, hit chance based on target size, partial body armor, shields that respect facing, and combat bonuses against colliding or routed units.
  • Morale — Gained or lost from successful attacks, then averaged among nearby friendly units, reduced by nearby hostile units that aren’t routed, and so potentially generates mass panics or rallies fleeing troops.

The entire simulation is recorded in memory and optionally to disk, and can be replayed as desired. Please note you cannot issue orders or otherwise influence the simulation in this release. Myriarch currently ships with one demo scenario based on the Battle of Leuctra (Sparta vs Thebes, 371 BC).

Project Status

Although a complete and working application, Myriarch is still missing a lot of desirable features: varied terrains and elevations, division orders that can be scripted in scenarios and/or issued by players, multiple unit types and weapons including ranged attacks, documentation of simulation internals, etc.

Unfortunately, I cannot say if or when any such features will be implemented. Myriarch is currently on hold since it’s based on technology Microsoft is abandoning, and I won’t publish free software on a closed system such as the Windows Store. I intend to move my open source programs to cross-platform Java instead.

System Requirements

Myriarch requires a Microsoft Windows system capable of running the Microsoft .NET Framework 4 Client Profile or any newer .NET 4.x release. This includes Windows XP SP3, Windows Vista SP1 or later, Windows Server 2003 SP2, and Windows Server 2008 or later.

Note: Since Myriarch currently keeps the entire simulation recording in memory, you will need at least 6 GB RAM to avoid disk swapping when running Leuctra until the Spartan army is routed.

Further Information

  • The ReadMe file contains the copyright notice, setup instructions, and technical details on the project.
  • The WhatsNew file contains the annotated version history of the project.
  • You can also find some Implementation Notes on my weblog.

Copies of the two files are included with both download packages. The following screenshot shows the overstrength Theban left clashing with the Spartan right at the Battle of Leuctra. As you can see, Myriarch is a simple desktop application with abstract graphics.

Leuctra Clash

Download Files

  • Binary & Source Package, Class Reference: version 1.0.1, released on 30 September 2015

Binary PackageMyriarch.zip (382 KB, ZIP archive)

Myriarch requires no installation. Simply extract the contents to any directory of your liking, then study the enclosed ReadMe file for further instructions.

Source PackageMyriarchSource.zip (1.05 MB)

You need either Microsoft Visual Studio (2010 or later) or the free Microsoft Windows SDK 7.1 for Windows 7 and .NET 4 to rebuild Myriarch from source. Windows SDK 7.1 has the same system requirements as the .NET Framework 4 itself but also requires that you first install the full .NET Framework 4 – not just the Client Profile.

The current version of Myriarch includes version 5.6.6 of my Tektosyne library. The current Tektosyne version is also available as a separate download, but this is not required to run or compile Myriarch.

Class ReferenceMyriarchClasses.7z (2.00 MB)

Created from XML source code comments using the free Sandcastle Help File Builder. The class reference is a 7-Zip package of loose HTML pages.