Dewwy's Blog

Cataphract And Automation.

In April or May 2025 I became aware of Cataphract by Sam Sorenson (also of fame for Time After Time a by all accounts stellar timebending adventure for Mothership) through a means that is now lost to me. Cataphract is in Sam's own words an attempt at an "operations wargame", it evokes pre-industrial warfare with a focus on operations rather than strategy or tactics. Inspired by the writings of Bret Devereaux at ACOUP breaking down famous fictional battles from the lens of a military historian.

Cataphract is a short ruleset, coming in at 13 pages and 3646 words at time of writing. What this means in practice is that there are about seven total statistics in it and four of them are logistical. Men, supplies, loot, and wagons. Every day soldiers eat supplies, which are gathered through just about the only means any pre-modern army has, "foraging" them from the local population who only have a limited stockpile in any one place. These armies are like sharks, they have to keep moving to feed.

Manually Updating Spreadsheets

This all sounds simple so far ? It is, but simple things can produce surprising complexity, or atleast, a surprising amount of work. Work which could, with the right tools, be automated. Some words from Sam himself:

At time of writing, my game has seen thirty-nine total commanders. A couple of those commanders are now dead, and a couple had players who needed to drop out (we transferred control of their armies over to existing or new commanders), but most of them are still running around, still active in play.

I check the game at least twice per day, usually three times—once in the morning, once in the afternoon, and once in the evening. On easy days, this takes less than thirty minutes, sometimes even less than twenty. Commanders march and forage and rest and write letters, but don’t fight or hold major meetings. When my commanders are warring en masse or holding large complicated political councils that need questions answered, then my days get busier. The most time-consuming days sometimes take up to two hours to keep everything moving—notifications to commanders, messages ferried, battles and operations resolved, updating my notes, and so on.

Roughly thirty minutes a day, bulking up to two hours in some cases. A significant hobby, that's half an episode of Star Trek that could have been watched each day. Or more germanely, 30 minutes which could be spent being a creative game runner, rather than as a clerk. Other games are more ambitious, involving either more commanders or extensions to the ruleset involving more moving parts and more numbers that need to be updated.

In August 2025 I discovered in the LFG section of MCDM's discord a game running on a midly modified version of this ruleset by #dmnerd., this game was set in dark ages Britain and titled Wolves of the Dark Ages. I signed up and was quickly onboarded as the leader of a new faction. Throughout this game a maximum possible size for running this game became apparent to me. This game featured at it's height 23 factions. Each faction leader pretty much always wants one subcommander, bringing us to roughly 46, some want more. The numbers quickly balloon, and quickly I think iron laws of co-ordination between human beings begin to kick in.

It is general wisdom in management that around 7-9 direct reports adding more overloads the manager. They become stretched thin, unable to pay individual attention to each. Task complexity has some bearing on this, so the natural number in a Cataphract game is likely significantly higher, but there is a limit.

Throughout the course of Wolves of the Dark Ages the referee enlisted a second referee, who also worked to automate several aspects of the game. Automation included updates to a discord bot which posted the weather in each region to dedicated discord channels, and a bot which looked into the spreadsheet each commander had tallying their forces and supplies to decrement that supply total by the armies daily consumption. On paper players are responsible for keeping track of their current supplies, but people get busy and they have letters to write, so sometimes things get out of sorts.

That is another aspect of the management involved. Spreadsheets. The natural solution to keeping tally of men and materiel, in almost all cases I have seen is through Google Sheets because it is free, easy to use, and easy to share. Every player commander needs a spreadsheet for both them and the referee to keep track of the state of their forces. I have not yet run one of these games myself, but I imagine keeping track of and navigating through these spreadsheets adds significantly to the time required each day to referee the game at larger numbers of commanders.

Other games I have since learned of have enterprising programmers at their helm, or closely to hand, who are running pathfinding algorithms over their games maps to automate the sending of messages between commanders. Without automation like this referee's are left to check if commanders wish to send letters, find their target on the map, plan the route, calculate the time it will take, check if it may be intercepted, schedule the time of arrival, and then finally post the text of the message to the target at the correct time, all on their own.

Players also may have surprisingly large time demands, sometimes self imposed. A player could spend a lot of time and energy attempting to wring whatever they could out of the intensely social nature of this game. It is intensely social because the rules are so sparse, it shares many respects with Kriegsppiel and the games of the International Kriegsspiel Society. Players co-ordinate with their comrades and in many respects that co-ordination is all they have to leverage to win the game. So they may want to communicate a lot. Every message sent is another task on referees list.

We Could Automate This All At Once

At the moment the work of automating all of this looks to be ad-hoc and silo-ed. Scripts are written to look into google sheets, update them, reply the results to a discord channel. Another script references a weather table and posts in a discord channel. Yet another script recieves discord messages bearing a scroll emoji signifying that it is a message sent to another commander, which is added to a list for the referee's convenience. In another game messages bearing scroll emojis are perhaps automatically sent by pathfinding algorithm, the bot ultimately delivering it to the target at the correct time.

I can see a world where this is all unified in a flexible framework. Almost all of the tedium referees take upon themselves to run these games comes from the management and corellation of data. They have a map, they need to mark where armies are on it, these armies need to be corellated with a database (Google sheet) which contains the details of the force. Messages sent need to be consulted with the map to decide what route they would take and when they have arrived.

However the data structure that is required is not extensive or complex. Each hex in Cataphracts has only these few values: population, number of times it has been foraged, terrain type. Armies are conveniently composed of individual brigades and a few army level statistics. Therefore we need only a database with three tables, armies, brigades, and hexes, or locations. With a few cross references between them.

Name Commander Location Morale Current Supply Current Loot Wagons Number of Non-combatants Maximum Carrying Capacity
Army 1 Commander 1 1,4 9 2000 200 20 200 5000
Army 2 Commander 2 5,8 5 300 0 0 100 8000
Name Type Number of Soldiers Army
1st Righteous Sword Brigade Infantry 1000 Army 1
1st Brigades d'Infanteries Infantry 800 Army 1
Wat Phunan Guard Cavalry 300 Army 2
Co-ordinate Name Terrain Type Population Times Foraged
1,4 Bang Nam Jungle 10,000 1
1,4 Unnamed Plains 4,000 0

These values could easily be corellated together in a software solution, the army could be displayed as a token on a map which when selected breaks out the below tables to be viewed or edited by the referee. Other scripts built ontop of this structure can decrement supplies on a regular timestep. And I believe this structure should be easily extendable to most of the Cataphract descended games I have seen, with a handful of ambitious exceptions.

There are some wrinkles here, the method by which each referee generates their map may not be amenable to being turned into the kind of data we need. Many are working from drawn maps in image editing software and simply overlaying a hexagonal grid for convenience, this is infact what Sam uses for his Cataphracts game. Others are utilising Worldographer or Hexographer (the latter of which has an easily ingestable flat file format, the former does not). Which means either mandating Hexographer usage, or some other tool, or creating your own solution to draw a hex map. And a discord bot interface may be somewhat clunky. These problems seem immanently overcomable.

If you found this post through some other means and are interested in Cataphracts and it's descendent games, join the Catphracts Rally Point discord server. The people there are very nice, and very helpful.

08 January 2026